Capítulos

Capítulo 6

Ferramentas de Teste

6.1 Suporte de Ferramentas para Testes

  • FL-6.1.1 (K2) Explicar como os diferentes tipos de ferramentas de teste dão suporte aos testes.

As ferramentas de teste dão suporte e facilitam muitas atividades de teste. Os exemplos incluem, mas não se limitam a:

●Ferramentas de gerenciamento: aumentam a eficiência do processo de teste, facilitando o gerenciamento do SDLC, dos requisitos, dos testes, dos defeitos e da configuração;

●Ferramentas de teste estático: dão suporte ao Testador na realização de revisões e análises estáticas;

●Ferramentas de projeto e implementação de testes: facilitam a geração de casos de teste, dados de teste e procedimentos de teste;

●Ferramentas de execução e cobertura de testes: facilitam a execução de testes automatizados e a medição da cobertura;

●Ferramentas de teste não funcional: permitem que o Testador realize testes não funcionais que são difíceis ou impossíveis de serem realizados manualmente;

●Ferramentas de DevOps: suporte ao pipeline de entrega de DevOps, rastreamento de fluxo de trabalho, processo(s) de construção automatizado(s), CI/CD;

●Ferramentas de colaboração: facilitam a comunicação;

●Ferramentas que oferecem suporte à escalabilidade e à padronização da implantação (p. ex., máquinas virtuais, ferramentas de conteinerização);

●Qualquer outra ferramenta que auxilie no teste (p. ex., uma planilha é uma ferramenta de teste no contexto do teste).

6.2 Benefícios e Riscos da Automação de Teste

  • FL-6.2.1 (K1) Relembrar os benefícios e os riscos da automação de testes.

A simples aquisição de uma ferramenta não garante o sucesso. Cada nova ferramenta exigirá esforço para obter benefícios reais e duradouros (p. ex., para a introdução, manutenção e treinamento da ferramenta). Há também alguns riscos que precisam ser analisados e atenuados. Os possíveis benefícios do uso da automação de testes incluem:

●Economia de tempo com a redução do trabalho manual repetitivo (p. ex., executar testes de regressão, reinserir os mesmos dados de teste, comparar os resultados esperados com os resultados reais e verificar os padrões de codificação);

●Prevenção de erros humanos simples por meio de maior consistência e repetibilidade (p. ex., os testes são consistentemente derivados dos requisitos, os dados de teste são criados de maneira sistemática e os testes são executados por uma ferramenta na mesma ordem e com a mesma frequência);

●Avaliação mais objetiva (p. ex., cobertura) e fornecimento de medidas que são muito complicadas para serem derivadas por humanos;

●Acesso mais fácil a informações sobre testes para dar suporte ao gerenciamento de testes e aos relatórios de testes (p. ex., estatísticas, gráficos e dados agregados sobre o progresso dos testes, taxas de defeitos e duração da execução dos testes);

●Redução dos tempos de execução de testes para proporcionar detecção antecipada de defeitos, feedback mais rápido e menor tempo de lançamento no mercado;

●Mais tempo para os Testadores criarem testes novos, mais profundos e mais eficazes.

Os possíveis riscos do uso da automação de testes incluem:

●Expectativas irreais sobre os benefícios de uma ferramenta (incluindo funcionalidade e facilidade de uso);

●Estimativas imprecisas de tempo, custos e esforço necessários para introduzir uma ferramenta, manter scripts de teste e alterar o processo de teste manual existente;

●Usar uma ferramenta de teste quando o teste manual é mais apropriado;

●Confiar demais em uma ferramenta, por exemplo, ignorando a necessidade do pensamento crítico humano;

●A dependência do fornecedor da ferramenta, que pode fechar as portas, aposentar a ferramenta, vender a ferramenta para outro fornecedor ou fornecer um suporte deficiente (p. ex., respostas a consultas, atualizações e correções de defeitos);

●Usar um software de código aberto que pode ser abandonado, o que significa que não há mais atualizações disponíveis, ou que seus componentes internos podem exigir atualizações bastante frequentes como um desenvolvimento adicional;

●A ferramenta de automação não é compatível com a plataforma de desenvolvimento;

●Escolha de uma ferramenta inadequada que não cumpra os requisitos normativos e/ou as normas de segurança.