Uma abordagem simples para alguns tipos de testes.

Maximiliano Alves
2 min readMay 11, 2017

Algumas vezes enquanto trabalhava em mais frentes no ciclo de teste de software ficava complicado entender cada tipo de teste e onde ele se encaixava no contexto. Então, com o tempo, estudo e algumas leituras, fui criando algumas perguntas para cada tipo de teste com qual eu mais trabalhei. Segue abaixo:

Teste unitário

O conceito básico de teste unitário é garantir que a menor unidade do seu sistema possa ser testado, como: Funções, classes, métodos e em alguns casos até módulos.

Definição:

POR QUE: é a garantia de assertividade do código

QUEM: Desenvolvedores e alguns testers mais técnicos.

O QUE: Funções, classes, métodos e módulos (Menor parte testável)

QUANDO: um código novo é escrito

ONDE: Na maioria das vezes ocorrem local.

COMO: Junit, PHPUnit, Jasmine, etc.

Teste de API ou Serviços

É um tipo de teste para validar e avaliar os retornos de um dado serviço, pode ser ele REST ou SOAP.

Definição:

POR QUE: é a garantia de que os serviços estão comunicáveis e os retornos estão funcionando

QUEM: Desenvolvedores e alguns testers mais técnicos.

O QUE: Novos serviços implementados

QUANDO: Assim que ocorrer alguma mudanças ou uma nova API for desenvolvida

ONDE: Local e em ambientes de homologação

COMO: Postman/Newman, SoapUI ou até mesmo consulta via http por alguma linguagem de programação a sua escolha.

Teste de Aceitação

É uma fase do processo de teste responsável por validar os requisitos do sistema e do usuário, antes de ser publicado.

Definição:

POR QUE: é a garantia de que os requisitos do sistema e a expectativa do cliente estão garantidas

QUEM: Tester Manual e Tester automação.

O QUE: Verificação de User stories, validação de campos e verificação de novos recursos

QUANDO: Quando a funcionalidade estiver finalizada e testada unitariamente.

ONDE: Ambientes de teste e homologação.

COMO: Cucumber, Protractor e Jasmine, Codeception, CodeceptionJS, etc.

Teste de regressão

É a fase de teste quando aplicamos uma nova versão do sistema e garantimos que não foram encontrados novos bugs.

Definição:

POR QUE: é a garantia que todo sistema está funcionando quando implementado novas versões de forma integrada

QUEM: Tester Manual e Tester automação, em alguns casos mais ágeis o Analista de negócio e o Product Owner.

O QUE: Fluxo do usuário, Fluxo positivo, algumas coisas de desempenho e segurança

QUANDO: Quando o teste de aceitação é concluído

COMO: Teste exploratório ou utilizando ferramentas com webdriver.

Para mim as maiores dificuldades foram entender o porquê e quando tinha que entrar cada tipo de teste. Então espero que possa ajudar mais pessoas que como eu, sentiram essa necessidade!

--

--

Maximiliano Alves

QA Lead, Software automation lover, musician and in love with automation for mobile projects.