AUTOMATIZAR OU NÃO AUTOMATIZAR? NÃO É MAIS ESSA A QUESTÃO!
Durante muito tempo, empresas e profissionais de testes tinham
várias dúvidas se deveriam ou não automatizar seus testes.
Hoje em dia, não existe mais essa dúvida.
A dúvida do momento é como automatizar!
Claro que por trás dessa dúvida, existem outras questões que podem influenciar diretamente na questão da automação. Dentre elas, a questão do custo associado (profissionais, expertise, ferramentas ….) e o retorno do investimento disso tudo (o que já foi abordado em outro artigo escrito no nosso blog) – Os principais KPI Negociais que a Automação de Testes tem que alcançar
O que gostaria de abordar de forma resumida aqui, é que automação de testes é uma realidade. Em um modelo de desenvolvimento mais tradicional, tipo cascata, podemos até optar pelo escopo da automação. Mas, quando falamos de metodologias ágeis, nem existe essa discussão. Testes de software em metodologias ágeis devem ser, de forma obrigatória, automatizados. Isso porque trabalhando com entregas curtas e periódicas (sprints), não tem como testar manualmente a cada sprint o que foi desenvolvido nas anteriores (a cada sprint teria uma carga crescente de testes).
Então, como faço para escolher o modelo de automação?
Atualmente existem no mercado diversas ferramentas e frameworks de automação: tanto gratuitas como pagas. Não é meu intuito aqui abordar qual é melhor ou qual é pior. Todas têm seus pontos positivos e negativos. O que é importante, além do bom planejamento e estratégia dos testes automatizados, é ter uma ferramenta com uma arquitetura que atenda as principais características da organização e do software alvo de teste.
A maioria esmagadora das ferramentas de automação apenas automatiza a execução dos testes, e exige scripts desenvolvidos através de código, ou seja, programação. Então, para cada teste existe um conjunto de linhas de código, que tanto para ser construído quanto para ser mantido, exige um conhecimento da linguagem de programação em específico.
Algum problema nisso? Todos! No fundo, estamos construindo um software para testar um outro software e que exige um conhecimento específico de alguns profissionais.
Mas não é só isso…. existe um problema maior a ser considerado!
Não bastasse esse problema, existe um outro grande que é a questão da manutenção. Como softwares evoluem constantemente, toda vez que existe alguma alteração – seja evolutiva ou corretiva, temos que dar manutenção no ‘código’ da automação também. Ou seja, em vez de um software, temos dois para nos preocupar.
Com esse ‘problema’ que vem de décadas, arquiteturas de automação começaram também a evoluir. Desde o antiquado modelo “Capture Replay” que reexecuta todas as ações do ser humano, passando por “Data Driven”, onde a massa de testes está em um arquivo externo e pelo “Command Driven”, onde tanto a massa como os comandos estão em um arquivo externo.
Esses modelos resolvem meu problema?
Não! Apesar de uma notória evolução neste sentido, softwares evoluem mais rapidamente do que imaginamos. Seja por conta de tecnologias ou por conta do negócio de cada organização, que exige sempre estar atualizado e a frente dos seus concorrentes.
Com isso, novos processos e modelos foram sendo criados e implementados no intuito de facilitar tanto a elaboração de scripts automatizados quanto sua manutenção. Mesmo assim, o trabalho continuou grande, pois exige conhecimento técnico e tempo de testadores, que muitas vezes, são escassos.
E agora, o que eu faço?
Foi então que surgiu o modelo MBT (Model Based Test), onde o testador cria e utiliza modelos comportamentais simplificados da aplicação (com apenas as regras de negócio, dados e fluxos necessários aos testes) que são utilizados para a geração automatizada de cenários e casos de testes e os executa na sequência.
Qual a grande vantagem? Simples, meu esforço de manutenção diminui drasticamente. Se o software que estou testando muda, eu simplesmente mudo meus modelos (base de teste) e os scripts afetados são regerados automaticamente. Além do fato, de sempre manter a cobertura dos testes de forma integral, atualizada e rastreável.
Em vez de manter milhares de scripts manualmente, mantenho apenas meu modelo, muito menor.
Agora, imaginem se pudermos juntar este modelo de automação com uma linguagem natural dos meus scripts, ou seja, sem programação. Melhor ainda, qualquer pessoa, mesmo que não conheça nenhuma linguagem de programação, possa elaborar scripts automatizados utilizando comandos em português estruturado. Seria genial!
Mas isso não é magica muito menos utopia. Nós, da TMi, já automatizamos milhares de testes para centenas de organizações (dos mais variados portes e segmentos), utilizando esse conceito! Para ser ter uma pequena noção do que estou falando, em um cliente conseguimos (re)gerar mais de 8.000 casos de testes em menos de 1 hora!
Só uma empresa com quase 40 anos de história em testes de software pode fazer isso para você!
Entre em contato conosco e solicite uma reunião para mostrarmos essa e outras soluções que podemos disponibilizar para sua empresa.