Voltar
Artigo do tipo Teórico
Recursos especiais neste artigo:
Conteúdo sobre boas práticas, Conteúdo sobre Engenharia.

Automação de Testes, quando vale à pena automatizar?
A execução de testes de software está fortemente relacionada com a qualidade final do produto desenvolvido. Os testes são, por definição, uma das alternativas que a equipe de desenvolvimento possui para obter um produto com um número reduzido de defeitos. Entretanto, embora importante, a atividade de testes pode se tornar muitas vezes repetitiva e custosa. Sistemas que são desenvolvidos utilizando um ciclo de vida incremental normalmente trazem a necessidade de realização constante de testes em funcionalidades já entregues para os usuários com objetivo de garantir que a implementação de novos requisitos não tenha inserido defeitos em funcionalidades existentes. Nestes casos, para reduzir o esforço com as atividades de teste e aumentar sua qualidade, uma alternativa que pode ser utilizada é a automatização da execução dos testes.

Quando a automação de testes é usada corretamente pode trazer vários benefícios para uma organização. Entretanto, é importante considerar que ela não pode ser usada em todos os casos. É preciso analisar cada projeto para definir quais realmente valem a pena automatizar, e considerar que, mesmo se decidir usar uma ferramenta de automação de teste, ainda será necessário utilizar o teste manual para diversas funcionalidades.

Qualquer ferramenta de automação de teste está destinada a tornar o processo de teste mais eficiente e eficaz. Uma ferramenta pode trazer muitos benefícios, mas há riscos que precisam ser considerados antes de introduzir uma ferramenta na organização, a maioria desses riscos está associada com a falha na estimativa quanto ao esforço necessário para implementar e manter a automação.

Existem muitos desafios na automação de testes e quanto mais cedo esses desafios forem compreendidos, melhor preparada a organização estará para lidar com eles e quanto mais uma organização compreender as questões de automação menor o risco em termos de tempo e dinheiro.

Neste contexto, este artigo apresentará quais os desafios e os benefícios da automação de testes, auxiliando assim na tomada de decisão de quando vale a pena automatizar.

Em que situação o tema útil
Este tema é útil a todos os gestores que pretendem iniciar a automação de teste e não sabem por onde começar. Além disso, é importante no entendimento sobre limitações de um processo de teste automatizado.

Automação de teste se refere às atividades e esforços que pretendem automatizar tarefas de um processo de teste de software utilizando ferramentas específicas que controlam a execução dos testes e realizam comparações dos resultados reais com os resultados previstos. Comumente, automação de teste envolve automatizar um processo manual existente que utiliza um processo de teste formalizado.

Quando a automação de testes é usada corretamente pode trazer vários benefícios para uma organização, mas é importante considerar que não pode ser usada em todos os casos. Durante o planejamento dos testes é possível identificar se será possível ou não utilizar a automação e durante o projeto selecionar quais casos de testes poderão ser automatizados, uma vez que é bem provável que apenas casos de testes específicos possam ser. James Whittaker, ex-diretor de engenharia da Google afirmou durante o Webinar (2012) “How Google Tests Software” que “A automação é útil quando: os resultados podem ser verificados por uma máquina, sem julgamento humano ou esperteza necessária, ou para casos onde os testes são repetitivos, caso contrário, o teste manual é a melhor abordagem.”.

É preciso analisar cada projeto para definir quais realmente valem à pena automatizar, e considerar que, mesmo se decidir usar uma ferramenta de automação de teste, ainda será necessário utilizar o teste manual para diversas funcionalidades. Por exemplo, o Google afirmou a importância do teste manual no Sistema Operacional Chrome: “O teste manual também é fundamental, porque o valor principal do Chrome é a sua simplicidade e o UX (Experiência do usuário) precisa ser agradável e intuitiva. Máquinas ainda não podem testar isso”.

...
Quer ler esse conteúdo completo? Tenha acesso completo