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.