Testes de aceitação: conhecendo e aplicando

Este artigo explica o que é um teste de aceitação, quais são seus conceitos, estratégias de sucesso e quais métodos são úteis para auxiliar nesta fase do projeto.

Testes de Aceitação: Este artigo explica o que é um teste de aceitação, quais são seus conceitos, estratégias de sucesso e quais métodos são úteis para auxiliar nesta fase do projeto. Apresenta um exemplo prático baseado em um user story e em seguida demonstra um documento de teste de aceitação para esclarecer como o mesmo é documentado dentro de um projeto. Outro objetivo é apresentar como um teste de aceitação aproxima o contato entre a equipe de trabalho e como o cliente decide se aceita ou não as funções desenvolvidas dentro de um cenário no desenvolvimento de software.

Em que situação o tema é útil: Um teste de aceitação é útil para aproximar o cliente final do resultado esperado pelo sistema além de auxiliar a equipe de desenvolvimento na compreensão dos recursos esperados pelo cliente, de forma a garantir que a entrega do software esteja em conformidade com o que foi pedido no início do projeto.

Teste de software é um processo sistemático que tem por objetivo identificar prováveis defeitos, verificando se o software realiza suas tarefas de forma correta (isto é, conforme os requisitos fornecidos pelos stakeholders) e também se eventualmente faz o que não deveria fazer.

Primeiramente precisamos esclarecer alguns conceitos dentro do universo de testes de software, como a diferença entre defeitos, erros e falhas.

  • Defeito – Representa um ato inconsistente realizado por um indivíduo ao tentar compreender uma informação, pode ser uma instrução ou um comando incorreto.
  • Erro - É um defeito encontrado em um artefato de software, diferença entre um valor obtido e um valor esperado, ou seja, um estado intermediário incorreto ou resultado inesperado na execução de um programa.
  • Falha - Comportamento do software diferente do comportamento esperado pelo usuário final.

Nota: As definições utilizadas neste artigo seguem a terminologia padrão para Engenharia de Software do IEEE – Institute of Electrical and Electronics Engineers (IEEE 610, 1990).

A Figura 1 apresenta a diferença entre estes três conceitos.

Figura 1. Defeito x Erro x Falha

O desenvolvimento de software costuma ser uma atividade bastante complexa que muitas vezes leva à ocorrência de falhas no sistema resultante. Estas falhas podem estar presentes em todas as etapas do processo de desenvolvimento e este fato pode conduzir uma equipe à geração de um produto diferente do que foi inicialmente especificado. Um bug gerado por um programador pode ocasionar um erro que irá gerar um estado de inconsistência em uma determinada funcionalidade, ou seja, erros podem causar uma falha, que é um comportamento inesperado em um software e isso pode afetar o usuário final. Quanto mais tarde um erro for descoberto dentro um software, maiores serão o tempo e a complexidade para a correção. Em diversos casos, muitos pontos do software podem precisar ser refeitos."

[...] continue lendo...

Artigos relacionados