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.

Processo ETAP-PRO
Figura 1. Processo ETAP-PRO

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.

 Diagrama em BPMN
Figura 2. Diagrama em BPMN
Estrutura hierárquica de palavras-chave
Figura 3. Estrutura hierárquica de palavras-chave
Especificação dos casos de teste TC1 e TC2 em Gherkin
Figura 4. Especificação dos casos de teste TC1 e TC2 em Gherkin

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.

Resultado da execução dos testes
Figura 5. Resultado da execução dos testes

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.