Atualmente, as organizações lidam com novos desafios devido ao aumento da complexidade das empresas, mudanças rápidas, avanços tecnológicos e o crescimento das necessidades dos Stakeholders. Assim sendo, as organizações têm que estar conscientes das constantes mudanças a nível de legislação e regulamentos e das diferenças existentes nos mercados em que trabalham.
Neste ambiente de mudanças constantes, é importante que as organizações sejam capazes de se adaptarem continuamente sem que isso tenha implicações negativas nos seus processos de negócio principais.
A realização de testes poderá ser uma forma das empresas verificarem se continuam a funcionar como esperado. Uma boa prática, seria as empresas, continuamente e regularmente, testarem as suas aplicações e seus processos de negócio.
Realizar uma verificação ponta a ponta a processos de negócio é realizar um processo passo a passo onde se inspecionam as regras de negócio e a sua correspondente correção. Sempre que um desvio é reportado, deve ser posteriormente analisado. A verificação automática destes processos pode ser um desafio, mas também é uma maneira eficaz de detetar falhas ao longo do processo e corrigir essas falhas o mais cedo possível. Esta verificação automática depende de software para executar as várias etapas do processo e verificar a correção de cada atividade e o seu resultado.
O teste baseado em modelos (MBT) é uma técnica conhecida para sistematização da automação de testes. É uma metodologia de teste em que os casos de teste são derivados de modelos.
Existem vários modelos que podem ser usados para descrever processos, por exemplo: os diagramas de atividade UML, diagramas de fluxo de dados, Petri nets,Business Process Model and Notation (BPMN), entre outros.ETAP-PRO
A plataforma ETAP-Pro é uma plataforma de teste baseada em modelos que gera automaticamente testes a partir de modelos de negócio descritos em BPMN.
BPMN é um standard para modelação de processos de negócios que fornece uma notação gráfica para especificar processos de negócios sob a forma de diagramas (Business Process Diagram - BPD) baseados em técnicas de fluxogramas. Assim, os modelos BPMN são usados para descrever fluxos de atividades e processos. Estes diagramas são construídos a partir de um conjunto limitado de elementos gráficos pertencentes a quatro categorias:
- Objetos de fluxo: Eventos, atividades, gateways.
- Objetos de conexão: Sequências de fluxos; fluxos de mensagens; e associações
- Swim lanes: pool, lane.
- Artefatos: objetos de dados, grupos, anotações.
Principais Características do ETAP-PRO
Os principais objetivos da ETAP-PRO são:
- Fornecer uma plataforma para automação de teste ponta-a-ponta a processos de negócio.
- Garantir uma maior resiliência dos testes automatizados contra possíveis alterações, através da decomposição funcional dos testes. Esta decomposição funcional baseia-se no conceito de palavras-chave (KW - keywords).
- Permitir (automação) testes independentes do motor de execução.
- Garantir a rastreabilidade entre o processo de negócio e suas atividades, e os artefatos de automação.
- Fornecer a geração de mapas para análise de impacto a mudanças nos processos de negócio, garantindo uma manutenção mais ágil dos testes automatizados através de uma visão 360 das relações entre cada teste automatizado e as atividades do processo, aplicações, sistemas e serviços, abrangidos por cada teste.
Processo ETAP-PRO
O processo da ETAP-Pro divide-se em três etapas conforme mostra a Figura 1.
Etapa 1: Geração de casos de teste
ETAP-PRO recebe uma descrição do processo de negócio (Figura 2) em BPMN no formato XPDL e, em seguida, gera casos de teste que correspondem a todos os caminhos possíveis desde o nó inicial até ao nó final. Cada um desses caminhos (ou fluxos de processo) correspondem a uma palavra-chave (Palavras-chave de processo) que pode ser reutilizada sempre que necessário. Cada fluxo de um processo pode testar várias atividades de negócio que têm também uma palavra-chave correspondente (Palavras-chave de atividade) e que poderá também ser reutilizada dentro de fluxos de processos diferentes, como vemos na Figura 3.
Uma abordagem orientada por palavras-chave ajuda a reduzir a sensibilidade às ações de manutenção; aumenta a reutilização; permite a construção de cenários de teste por qualquer pessoa com conhecimento do negócio; e permite a construção de testes independentes da sua implementação.
Os casos de teste são gerados em Gherkin (uma metalinguagem que a ferramenta Cucumber compreende, conforme a Figura 4). A linguagem Gherkin permite construir uma descrição do comportamento do software sem descrever como esse comportamento será implementado.
Etapa II: Construção dos scripts de teste
A partir dos casos de teste descritos em Gherkin, os testadores devem construir manualmente os scripts de teste que traduzem os testes gerados para uma linguagem de programação adequada, permitindo a sua execução e automação. Os casos de teste gerados para o modelo da Figura 5 são:
- TC1: Início; Atividade A; Atividade B; Atividade C; End
- TC2: Início; Atividade B; Atividade A; Atividade C; End
- TC3: Início; Atividade A; Atividade B; Atividade D; End
- TC4: Início; Atividade B; Atividade A; Atividade D; End
Etapa III: Execução dos scripts de teste
Após a execução dos scripts de teste, os resultados podem ser reportados e visualizados de várias formas: estatísticas de teste, logs de execução, erros e outras informações úteis. A forma (talvez) mais comum e útil de visualizar o resultado da execução é através de um plano de cores sobreposto aos vários fluxos de execução, mostrando o estado de cada caso de teste através dessas mesmas cores: azul significa não execução, verde significa executado com sucesso e vermelho significa teste falhado.
A plataforma ETAP-Pro apresenta tem como objetivo diminuir o esforço de automação de teste e fornecer uma abordagem que promova a reutilização (por meio de uma abordagem orientada a palavras-chave).
Os conceitos principais inerentes à plataforma foram apresentados e ilustrados num pequeno exemplo.
Acreditamos que esta plataforma ajudará a identificar os problemas nos processos de negócio mais cedo e contribuirá para garantir que as organizações continuam a funcionar corretamente depois das alterações ocorridas.