Por que usar uma abordagem de teste baseado em modelo – MBT (Model Based Test)?

Por que usar uma abordagem de teste baseado em modelo – MBT (Model Based Test)?

Publicado em: 18 de Maio de 2020

Sidney Galeote

Sócio Fundador da ExSeed - Excellence in Software Engineering Education;
Professor Universitário

Atualmente as empresas que desenvolvem software buscam estágios de maior maturidade na qualidade do software que será entregue. Isso pode determinar sua sobrevivência, e garantir vantagem competitiva frente a seus concorrentes.

Em linha com maior maturidade da qualidade do software entregue, as empresas tem adotado os métodos ágeis, integração contínua, devops, entre outras práticas ágeis, visando entregas mais rápidas com qualidade, prazo e custos dentro de parâmetros razoáveis.

Nesse cenário a automação dos testes de software tem recebido especial atenção das equipes de desenvolvimento (testadores incluídos), já que se faz necessário testar melhor, com mais eficácia.

Quando se trata de buscar eficácia nos testes (resumidamente, testar em menos tempo e melhor) a abordagem de teste baseado em modelo, ou MBT, vem a tona, por ser uma abordagem onde os casos de testes são gerados a partir de modelos gráficos, como fluxogramas, tabelas de decisões, máquinas de estados, casos de uso, diagrama de atividades, diagrama de modelagem de processo de negócios (BPMN), entre outros.

Gerar casos de testes a partir de um desses modelos, traz eficácia: se compreende o comportamento esperado do software antecipadamente; o modelo obriga revisão dos requisitos para garantir que esteja correto, a ferramenta MBT é parametrizada para critérios objetivos de geração de casos de teste.

A figura abaixo ilustra um diagrama de atividade modelando o comportamento de uma funcionalidade de login de um software, que será usado para a geração de casos de teste por uma ferramenta MBT.

A abordagem MBT pode ser aplicada em equipes que trabalham em projetos tradicionais, ou em projetos ágeis. Certamente as equipes ágeis, e que de alguma forma produz alguma modelagem do software antes da sua implementação terá um fator favorável no uso da abordagem MBT. É importante ressalvar que preferencialmente os modelos a serem consumidos no MBT deveriam ser gerados pelos testadores.

Do ponto de vida de prazos para implementação do MBT na sua equipe, a literatura nos informa que em média será necessário em torno e 80h de capacitação da equipe na abordagem e na ferramenta de software escolhida para MBT.

De forma geral os testadores são os protagonistas em uma implementação do MBT, que junto com os desenvolvedores validam os modelos gerados, que serão insumos para a geração de casos de testes pela ferramenta MBT

Entenda que implementar a abordagem MBT será uma revolução na forma em que sua equipe faz teste de software. Por isso será necessário um planejamento para essa implementação, envolvendo preferencialmente a execução de um projeto piloto, escolha da ferramenta MBT, capacitação dos envolvidos no MBT.

Para encerrar, sobre os benefícios que o MBT poderá trazer para os seus projetos, destacam-se:

I. ajuda no gerenciamento da complexidade do software, uma vez que um diagrama gráfico permite ao testador identificar mais facilmente quais as partes do sistema e do modelo são mais sujeitas a problemas e por consequência, onde os testes devem ser intensificados.

II. melhoria na comunicação da equipe e na validação dos requisitos por meio dos modelos gerados para o MBT.

III. modelagem e teste precoce, redução dos custos de manutenção quando há mudança dos requisitos.

IV. geração automática dos casos de testes pela ferramenta MBT, que podem ser executados manualmente ou automaticamente, se exportados para uma ferramenta de execução automatizada de testes.