Casos de Teste: Importância da rastreabilidade entre requisitos
Veja nesse artigo como estabelecer mecanismos de rastreabilidade para garantir que os requisitos sejam atendidos pelo sistema e permitir avaliar o impacto de alterações nos requisitos e os casos de teste.
Uma das grandes dificuldades no desenvolvimento de software é a gerência de requisitos, pois é necessário manter o acompanhamento dos requisitos individuais e manter a ligação dos requisitos dependentes, pois a alteração de um requisito pode afetar outros requisitos, regras de negócio relevantes e arquitetura do sistema.
Consequentemente, os casos de testes são comprometidos e a entrega do software pode não atender a expectativa do cliente, além de conter erros de validação e verificação.
Este artigo apresenta ao leitor um modelo que permite manter a rastreabilidade entre requisitos e casos de teste. O propósito deste modelo é estabelecer mecanismos de rastreabilidade para garantir que os requisitos sejam atendidos pelo sistema e permitir avaliar o impacto de alterações nos requisitos que podem implicar em modificações nos artefatos de projeto, no código e de maneira particular nos casos de teste.
Teste pode ser definido como uma atividade que tem por objetivo verificar se o software produzido está de acordo com sua especificação e se satisfaz as expectativas do cliente. Teste de software é parte integrante do processo de Validação e Verificação (V&V) da Engenharia de Software.
Sendo que, verificação refere-se ao conjunto de tarefas que garantem que o software implementa corretamente uma função específica, e validação refere-se ao conjunto de tarefas que asseguram que o software foi criado e pode ser rastreado segundo os requisitos do cliente. A definição de V&V abrange muitas atividades de garantia da qualidade de software [4].
Das atividades de verificação e validação, a atividade de teste é considerada um elemento crítico para garantia da qualidade. Um problema na atividade de teste de software esta relacionado a como determinar se um programa P foi suficientemente testado e pode ser liberado para os usuários com razoável confiança de que funcionará de modo aceitável.
O significado de aceitável varia para uma aplicação específica em função da criticidade das funções, consequências antecipadas de um mau funcionamento e da frequência de uso esperada. Apesar dos esforços na utilização de modelos de melhoria de processos em organizações de desenvolvimento de software, os padrões para determinar a adequação da atividade de teste são praticamente inexistentes. Um conjunto de problemas no processo de teste que devem ser evitados são:
- Cronogramas agressivos deixando a equipe de teste impossibilitada de completar os testes planejados devido à falta de recursos, equipe não qualificada e falta de tempo;
- Falta de rastreabilidade de casos de teste entre diferentes versões do sistema, dificultando o reuso e repetição dos testes após modificações nos requisitos;
- Testes manuais, pois há um grande esforço da equipe de testes a cada início de uma nova atividade de teste, consequentemente quando o software sofre manutenção e a documentação não é atualizada;
- Ambiente de teste diferente do ambiente de produção;
- Ausência de critérios para seleção dos casos de teste, definição da sua completude e estabelecimento de um ponto
de parada." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast
-