Disciplina: Teste
Essa disciplina fornece orientação sobre como avaliar a qualidade do produto.
Relacionamentos
Descrição Principal

A disciplina de Teste age como um fornecedor de serviços para as outras disciplinas de diversas maneiras. Os testes são direcionados principalmente na avaliação da Qualidade do Produto, que é realizada através destas práticas principais:

  • Localizar e documentar defeitos na qualidade do software.
  • Sugestões sobre a qualidade do software.
  • Validar e provar as suposições feitas nas especificações de projeto e requisitos através de demonstração concreta.
  • Validar se o software funciona conforme o projeto.
  • Validar se os requisitos são implementados adequadamente.

Há uma diferença interessante entre a disciplina Teste e as outras do RUP - em essência, a disciplina Teste possui as tarefas de localizar e expor fraquezas no software. É interessante, porque, para obter o maior benefício, é necessário uma filosofia geral diferente da que é utilizada nas disciplinas Requisitos, Análise e Projeto e Implementação. Uma diferença sutil é a de que estas três disciplinas são orientadas para a compleção, sendo que a disciplina Teste é orientada para a incompleção.

Um bom esforço de teste é feito por questões como:

  • Como este software pode travar?
  • Em quais situações possíveis este software pode falhar em funcionar como previsto?

A disciplina Teste desafia as suposições, riscos e incertezas inerentes no trabalho das outras disciplinas e trata das preocupações utilizando demonstrações concretas e avaliação imparcial. É desejável evitar dois extremos em potencial:

  • uma abordagem que não desafia adequada ou efetivamente o software e expões seus problemas e fraquezas inerentes
  • uma abordagem que é inadequadamente negativa ou destrutiva - se adotar tal abordagem negativa, você poderá considerar impossível de considerar que o software tenha qualidade aceitável e pode alienar o esforço de Teste das outras disciplinas

As informações apresentadas em diversas pesquisas e artigos demonstram que o teste de software responde por 30 a 50 por cento dos custos totais do desenvolvimento de software. É, portanto, surpreendente notar que a maioria das pessoas acredita que os softwares de computador não são bem testados antes da distribuição. Esta contradição tem sua raiz em alguns problemas-chave.

  • Testar softwares é muito difícil. Como se quantifica as maneiras diferentes nas quais um determinado programa pode se comportar?
  • Geralmente, os testes são feitos sem uma metodologia clara, criando resultados que variam de um projeto para outro e de uma organização para outra. O êxito é, principalmente, um fator da qualidade e habilidades dos indivíduos.
  • As ferramentas de produtividade são utilizadas insuficientemente. o que torna os aspectos cansativos dos testes intratáveis. Além da falta da execução de testes automatizados, diversos esforços de teste são conduzidos sem ferramentas que permitem gerenciar efetivamente Dados de Teste e Resultados de Teste extensivos. A flexibilidade de utilização e complexidade do software fazem de um teste completo um objetivo impossível. Utilizar uma metodologia bem concebida e ferramentas de última geração pode melhorar a produtividade e eficácia dos testes de software.

Software de alta qualidade é essencial para o sucesso de sistemas de segurança crítica - como de controle de tráfego aéreo, guia de mísseis ou sistemas de distribuição médica - nos quais uma falha pode afetar pessoas. O estado crítico de um sistema MIS típico pode não ser tão óbvio de imediato, mas é provável que o impacto de um defeito pode fazer com que o negócio que utiliza o software tenha gastos consideráveis em receita perdida e possíveis custos legais. Nesta era da informação, com demanda crescente pela oferta de serviços distribuídos eletronicamente pela Internet, diversos sistemas MIS agora são considerados missão crítica; ou seja, as empresas não podem executar suas funções e têm prejuízos massivos quando há a ocorrência de falhas.

Uma abordagem contínua à qualidade, iniciada no início do ciclo de vida do software pode diminuir os custos de concluir e manter seu software significativamente. Isso reduz imensamente o risco associado com a implementação de softwares de baixa qualidade.

Relação com Outras Disciplinas

A disciplina Teste está relacionada com outras disciplinas, da seguinte forma:

  • A disciplina Requisitos, captura os requisitos para o software, que é uma das entradas principais para identificar quais testes devem ser desempenhados.
  • A disciplina Análise e Projeto determina o projeto adequado para o software, que é outra entrada importante para identificar quais testes devem ser desempenhados.
  • A disciplina Implementação produz builds do software que são validadas pela disciplina Teste. Dentro de uma iteração, múltiplos builds serão testados - gerenlmente um por ciclo de teste.
  • A disciplina Implementação fornece o software completo ao usuário final. Enquanto o software é validado pela disciplina Teste antes disso ocorrer, testes beta e teste de aceitação geralmente são conduzidos como parte da Implementação.
  • A disciplina Ambiente desenvolve e mantém artefatos de suporte que são utilizados durante o Teste, como as Diretrizes de Teste e Ambiente de Teste.
  • A disciplina Gerenciamento de Projeto planeja o projeto e o trabalho necessário em cada iteração. Descrito em um Plano de Iteração, este artefato é uma entrada importante, utilizada quando você define a missão de avaliação correta para o esforço de teste.
  • A disciplina Gerenciamento de Mudança e Configuração controla as mudanças dentro da equipe de projeto. O esforço de teste verifica se cada mudança foi concluída adequadamente.

Leitura Adicional

Nós recomendamos a leitura de Lessons Learned in Software Testing [KAN01], de Kaner, Bach e Pettichord, que contém uma excelente coleção de preocupações importantes para equipes de teste.

Informações Adicionais