As principais ferramentas utilizadas no processo estão subdivididas em categorias, de acordo com o objetivo de cada uma.
- Ferramentas de Gestão de Projetos e Controle de Versões:
Utilizada em todo o processo de desenvolvimento, desde a definição dos requisitos e seu versionamento para separação de etapas, quanto ao versionamento de projeto para implementação segura e livre de riscos severos de funcionamento.
O controle de versões é aplicado com o objetivo de criar releases estáveis para fins de entrega ao cliente, enquanto o desenvolvimento não validado restringe-se a branches de teste. Desta forma, garantimos que sempre exista uma versão estável, livre de bugs e validada para caso uma feature implementada quebre o código.
- Gestão de Testes: TestLink, permite a criação dos casos de teste e gerenciamento da execução destes testes, auxiliando a identificação de testes falhos ou que obtiveram sucesso, bem como designação de testes entre membros do time e supervisão da execução.
- Gestão de Defeitos: Permite descrever a falha encontrada e atribuição de criticidade, designação de trabalho entre membros do time e rastreio do desenvolvimento, separação por status, inclusão de evidências de teste, etc.
Ferramentas de automação de testes são utilizadas para a execução de testes repetitivos, que não necessitam de intervenção humana, como testes de interface, testes de integração, testes de performance, testes de segurança, testes de regressão, etc. É um conceito amplo, variando entre linguagens de programações e diferentes metodologias para automação dos testes manuais.
Algumas ferramentas de teste de performance são:
- JMeter: ferramenta que permite a criação de scripts de teste e simulação de diversos usuários, monitorando tempo de resposta, erros no serviço e fornecendo múltiplos relatórios.
- Gatling: monitora a aplicação de forma contínua e alerta ao detectar erros e lentidões.
- LoadComplete: une as duas funções permitindo elaboração de scripts e monitoração de funcionamento contínua.
- BlazeMeter: permite criação de scripts de teste e simulação de usuários a partir de diversos servidores em diferentes partes do mundo.
Podem ou não ser utilizadas, tornam o processo mais formal, podendo realizar as mesmas funções das ferramentas de gestão.