Teste Ágil - Ferramentas
Em projetos ágeis, os testadores são responsáveis pelas seguintes tarefas diárias -
Apoiar os desenvolvedores na codificação, com esclarecimentos sobre o comportamento esperado do sistema.
Ajude os desenvolvedores na criação de testes de unidade eficazes e eficientes.
Desenvolva scripts de automação.
Integre ferramentas / scripts de teste de automação com integração contínua para teste de regressão.
Para uma implementação rápida e eficaz dessas tarefas, um sistema de Integração Contínua (CI) que suporta CI de Código e componentes de teste é usado na maioria dos projetos Agile.
Os testadores e desenvolvedores em projetos ágeis podem se beneficiar de várias ferramentas para gerenciar sessões de teste e para criar e enviar relatórios de defeitos. Além de ferramentas especializadas para testes ágeis, as equipes ágeis também podem se beneficiar de ferramentas de automação e gerenciamento de testes.
Note - As soluções de gravação e reprodução, último teste, peso pesado e automação de teste não são ágeis como -
O fluxo de trabalho test-last incentivado por tais ferramentas não funciona para equipes Agile.
Os scripts impossíveis de manter criados com tais ferramentas tornam-se um impedimento para a mudança
Essas ferramentas especializadas criam a necessidade de especialistas em automação de teste e, assim, promovem silos
As ferramentas amplamente utilizadas são -
S.No. | Ferramenta e finalidade |
---|---|
1 | Hudson Framework CI |
2 | Selenium Teste Funcional - Integrado com Hudson |
3 | CruiseControl Framework CI |
4 | Junit Teste de Unidade Java |
5 | Nunit .Net Unit Test |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Cobertura de teste de Java |
7 | Jester Java - Teste de mutação / Sementeira automatizada de erros |
8 | Gretel Ferramenta de monitoramento de cobertura de teste Java |
9 | TestCocoon C / C ++ ou C # - reduz a quantidade de testes ao encontrar testes redundantes e encontrar código morto |
10 | JAZZ Java - Branch, Node e Defuse Coverage e implementa uma GUI, planejadores de teste, instrumentação dinâmica e um analisador de teste |
11 | Ant Java - Build de automação |
12 | Nant .Net - Build de automação |
13 | Bonfire Add-on Agile Testing para JIRA |
Ferramentas de automação de testes ágeis
Suporte eficaz a ferramentas de automação de teste Agile -
Automação de teste inicial usando uma abordagem de teste primeiro.
Escrever código de automação de teste usando linguagens reais, linguagens específicas de domínio.
Focando no comportamento esperado do sistema.
Separando a essência do Teste dos detalhes de implementação, tornando-o independente da Tecnologia.
Fomentando a colaboração.
Testes de unidade automatizados (usando Junit ou NUnit) dão suporte à abordagem de teste primeiro para codificação. Esses são testes de caixa-branca e garantem que o design seja sólido e que não haja defeitos. Esses testes são criados por desenvolvedores com suporte de testadores e podem ser independentes da funcionalidade necessária. Isso resulta na entrega de um produto que pode não atender aos requisitos do cliente e, portanto, sem valor comercial.
Esta preocupação é abordada automatizando os testes de aceitação que são escritos com a colaboração do cliente, outras partes interessadas, testadores e desenvolvedores. Os testes de aceitação automatizados são escritos pelos clientes ou proprietários de produtos / analistas de negócios refletindo o comportamento esperado do produto. O envolvimento dos desenvolvedores garante a produção de código de acordo com os requisitos. No entanto, se o teste for focado apenas na aceitação, o código resultante pode permanecer não extensível.
Portanto, os Testes de Unidade Automatizados e os Testes de Aceitação Automatizados são complementares e ambos são necessários no Desenvolvimento Ágil.
As ferramentas e estruturas ágeis que suportam o teste de aceitação automatizada são:
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
Em forma
Ward Cunningham desenvolveu a ferramenta Fit que pode ser usada para Automação de Teste de Aceitação. O ajuste permite -
Clientes ou proprietários de produtos para dar exemplos de comportamento de produtos usando Microsoft Word e Microsoft Excel
Programadores para transformar facilmente esses exemplos em testes automatizados.
Fit 1.1 suporta Java e .NET.
FitNesse
FitNesse é um wiki, que é um estilo de servidor web que permite a qualquer visitante fazer qualquer edição, incluindo a alteração de páginas existentes e a criação de novas páginas. Uma linguagem de marcação simples permite criar cabeçalhos facilmente, colocar o texto em negrito, sublinhado e itálico, criar listas com marcadores e fazer outros tipos de formatação simples.
Na FitNesse, a automação do teste de aceitação é a seguinte -
Testes expressos como tabelas de dados de entrada e dados de saída esperados.
Use FitNesse para colocar a tabela de teste na página que você pode editar.
Como alternativa, coloque a tabela de teste no Microsoft Excel, copie para a área de transferência e use o Spreadsheet to FitNesse comando para que o FitNesse formate sua tabela corretamente
Execute o teste
Você obtém os resultados do teste pela codificação de cores das células na mesa de teste
células verdes representam que os valores esperados são obtidos
glóbulos vermelhos representam que um valor diferente do que você esperava foi obtido
células amarelas representam que uma exceção foi lançada
Pepino
Cucumber é uma ferramenta baseada no framework Behavior Driven Development (BDD). Os principais recursos são -
É usado para escrever testes de aceitação para aplicativos da web.
Permite a automação da validação funcional em formato de fácil leitura e compreensão, como o inglês simples.
Foi implementado em Ruby e posteriormente estendido para o framework Java. Ambos apóiam Junit.
Suporta outras linguagens como Perl, PHP, Python, .Net etc.
Pode ser usado junto com Selenium, Watir, Capybara, etc.