Recursos especiais neste artigo:
Artigo no estilo Mentoring.
Autores: Arthur Macedo, Daniel Almeida, Eliseu Torres, Nicolli Rios e Rodrigo Oliveira Spínola
Ao projetar os testes de software, devemos definir entradas e saídas esperadas (casos de teste) e a ordem que elas devem ser utilizadas para exercitar o software (procedimentos de teste) em busca de falhas. Este artigo aborda a realização destas duas tarefas de forma prática. Para isso, será utilizada uma especificação de caso de uso para o cenário de um cadastro básico de pessoas jurídicas que considera operações de consulta, inclusão, alteração e edição.
Em que situação o tema é útil
A
definição de casos e procedimentos de teste é essencial para todos aqueles que
trabalham com testes de software. Ambos fazem parte da etapa de projeto dos
testes e saber defini-los a partir de um caso de uso é pré-requisito para os
profissionais que tenham interesse em atuar como analistas de teste.
A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro. Assim, um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um erro ainda não descoberto. Para ser eficaz, o teste deve ser cuidadosamente projetado. Testes irreproduzíveis ou improvisados devem ser evitados.
Ao executar os testes, o objetivo central deve ser o de maximizar a cobertura dos testes. Isso permitirá detectar a maior quantidade de erros possível, provenientes de defeitos que não foram identificados pelas revisões, dentro de determinados limites de custos e prazos. É importante também considerar que desenvolvedores não são as pessoas mais indicadas para testar seu próprio produto, testadores independentes são importantes.
A atividade de teste não pode mostrar a ausência de defeitos. Ao invés disso, ela só permite mostrar se defeitos de software estão presentes. Assim, ela busca refutar a assertiva de que o produto está correto. Para isso, ao realizarmos testes, buscamos determinar entradas que façam as saídas obtidas diferirem das saídas esperadas de acordo com a especificação. Isso torna o processo destrutivo, sob o ponto de vista psicológico, contrariamente às demais fases da engenharia de software, onde se constrói um produto.
Os testes envolvem, tipicamente, as seguintes atividades:
● Execução do software com entradas representativas para as futuras condições de operação;
● Comparação entre saídas produzidas e esperadas;"
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast