Você conhece os níveis de testes de Software?
- #QA
Ao contrário do que muitos imaginam, o trabalho de um QA vai muito além de clicar em botões. Para garantir uma boa qualidade do sistema são necessárias inúmeras análises, desde a concepção da ideia de projeto a ser desenvolvido até o momento em que o Software já está em produção. Dentre os níveis de testes, podemos fazer uso de testes de unidade, integração, sistema, regressão e aceitação.
Mas afinal, como saber a forma de testar um sistema em determinada situação?
Bom, primeiramente devemos entender o que cada uma delas faz.
· Testes de Unidade (ou testes unitários)
Geralmente executado por desenvolvedores, são os testes que verificam um trecho específico de código. Como por exemplo Classes, Métodos e Funções.
· Testes de Integração
Após verificar através de testes unitários que determinado trecho de código está funcionando, o teste de integração é responsável por garantir que diversos componentes estejam sendo integrados corretamente. Pode-se realizar essa validação quando temos um e-commerce fazendo uso do banco de dados para dar baixa em produtos do estoque, por exemplo.
A baixo podemos ver um exemplo onde ambos os componentes funcionam, porém não em conjunto.
· Testes de Sistema
Valida que todos os componentes do Software interagem entre si corretamente. Suponhamos que você está testando um e-commerce. Nessa fase de teste, ao utilizar o Teste de Sistema, deve-se analisar o comportamento da interface, banco de dados, web services e como todos se comunicam. As chamadas que são realizadas. Os dados transferidos e etc.
Esses 3 níveis de testes são conhecidos como “Pirâmide de Testes”, que é uma forma gráfica de representar os tipos de testes, níveis, velocidade de implementação e complexidade. Quanto mais próximo da base, mais simples e rápida a implementação.
Além dos citados anteriormente, também temos os seguintes níveis de teste:
· Teste de Regressão
Quando já temos um sistema desenvolvido e testado, e são realizadas melhorias e novas versões, o Teste de Regressão é utilizado juntamente com a automação de testes para garantir que o Software continue se comportando corretamente. Pode ser feito manualmente, porém não é recomendado visto que é necessário muito tempo e atenção para validar um sistema completo.
· Teste de Aceitação
No início desse artigo comentei que o QA está presente desde o momento em que o PO apresenta as regras do projeto, critérios de aceite e afins. E nesse momento, somos os responsáveis por questionar o que nos é apresentado a fim de garantir a qualidade e evitar o surgimento de erros após o desenvolvimento. Partindo disso, no Teste de Aceitação devemos analisar o que foi pedido no projeto e o que foi desenvolvido. Por exemplo: Em uma tela de Cadastro, onde o usuário escolhe sua senha, devemos observar os critérios informados para validar o campo, como o número mínimo de caracteres, letras, números e caracteres especiais.
Um bom profissional de Qualidade de Software deve estar sempre atento aos requisitos e pensar ao máximo fora da caixa, afinal a busca constante por qualidade tem como consequência maior atração de clientes e geração de receita para a empresa.