Testes Testes de Software 30% a 50% dos custos desenvolvimento A complexidade torna impossível teste completo (cobertura total) Mas... Metodologia para testes bem definida Uso de ferramentas podem aumentar produtividade e efetividade dos testes RUP - DI / UFPE 1999 Workflow Testes do RUP Verifica interação entre objetos implementados Verifica integração entre os componentes de software Verificar se os requisitos foram corretamente implementados Identificar defeitos antes da implantação do software RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Planejar Testes Worker: Projetista Testes Objetivo: Coletar e organizar informações sobre planejamento testes / Criar plano de testes Passo 1:Identificar requisitos para testes Identificar o que está sendo testado Escopo dos testes RUP - DI / UFPE 1999 Atividade: Planejar Testes Passo 2:Avaliar Riscos Maximizar efetividade dos testes Estabelecer sequência de testes aceitável Passo 3:Desenvolver Estratégia Testes Estabelecer as técnicas e as ferramentas Métodos avaliação para determinar final dos testes RUP - DI / UFPE 1999 Atividade: Planejar Testes Passo 4:Identificar Recursos Recursos humanos, hardware, software de testes Passo 5:Criar Cronograma Estimativa de esforço de teste e cronograma das atividades de teste RUP - DI / UFPE 1999 Atividade: Planejar Testes Passo 6:Gerar Plano de Testes Organização das informações para os trabalhadores dos testes Saídas: Plano de teste RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Projetar Testes Worker: Projetista Testes Objetivo: Identificar conjunto de casos de teste para cada build / Identificar procedimentos de teste que mostram como casos de teste são realizados RUP - DI / UFPE 1999 Atividade: Projetar Testes Passo 1: Análise de carga (para testes de desempenho) Identificar variáveis que afetam o desempenho do sistema Determinar conjunto de use cases para testes de desempenho RUP - DI / UFPE 1999 Atividade: Projetar Testes Passo 2: Identificar e descrever casos de teste Identificar condições e dados de teste Identificar resultados esperados Exemplo: Use case debitar de conta Caso de Teste Debitar 300 - Conta 400 Entrada: - A conta num. 6538-8 existe no sistema e está válida. O banco constatou que foi feita uma retirada no valor de R$ 300,00 desta conta. - A conta num. 6538-8 têm saldo de R$400,00. RUP - DI / UFPE 1999 Atividade: Projetar Testes Resultado Esperado: - A conta num. 6538-8 agora deve apresentar saldo de R$100,00 - Uma mensagem mostrando o sucesso da operação deve ser apresentada Condições: - Nenhuma outra instância de use case deve ter permissão para acessar a conta num. 6538-8 durante este caso de teste. RUP - DI / UFPE 1999 Atividade: Projetar Testes Passo 3: Identificar Procedimentos de Teste Analisar fluxo de eventos dos use cases e casos de teste Forma de interação na interface do sistema, e detalhes para verificação Manter modelo de testes (relacionamentos entre casos de teste e procedimentos de teste) RUP - DI / UFPE 1999 Atividade: Projetar Testes Passo 4: Revisar e Avaliar Cobertura dos Testes Identificar medidas para identificação da completude Saídas: Modelo testes Casos de teste e procedimentos de teste RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Implementar Testes Worker: Projetista Testes Objetivo: Criar scripts de teste reutilizáveis Passo 1:Gravar ou programar scripts de teste Scripts que implementam e executam casos de teste e seus procedimentos de teste RUP - DI / UFPE 1999 Atividade: Implementar Testes Passo 2:Estabelecer conjuntos de dados externos Criar e manter dados externos aos scripts, usados pelos mesmos durante a execução dos testes Saídas: Scripts Teste RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Projetar Classes e Pacotes de Teste Worker: Projetista Objetivo: Projetar funcionalidade específica para testes Passo 1:Identificar pacotes e classes para testes Drivers e stubs, parecidas com classes do projeto original RUP - DI / UFPE 1999 Atividade: Projetar Classes e Pacotes de Teste Passo 2: Projetar interface para ferramentas de teste Definir comunicação Saídas: Classes projeto para teste Pacotes projeto para teste RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Implementar Componentes e Subsistemas de Teste Worker: Implementador Objetivo: Implementar funcionalidade específica para testes Passo 1:Implementar e testar drivers e stubs Passo 2:Implementar e testar interfaces para as ferramentas RUP - DI / UFPE 1999 Atividade: Implementar Componentes e Subsistemas de Teste Saídas: Componentes para teste Subsistemas para teste RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividades: Executar Testes (Integração,Sistema, Desempenho) Worker: Executores de testes (integração/sistema/desempenho) Objetivo: Executar testes / Revisar resultados / Registrar defeitos Passo 1: Executar procedimentos de teste (ou scripts) Inicializar o ambiente de testes Executar os procedimentos, automatizados (com scripts) ou não RUP - DI / UFPE 1999 Atividades: Executar Testes (Integração,Sistema, Desempenho) Passo 2: Avaliar execução dos testes Avaliar se os testes foram completados com sucesso Se foram, então ir para passo 4 - senão, passo 3 Passo 3: Recuperação de testes abortados Ações corretivas para erros fatais/de script Recuperar e reiniciar execução dos testes RUP - DI / UFPE 1999 Atividades: Executar Testes (Integração,Sistema, Desempenho) Passo 4: Verificar resultado dos testes Se todos os resultados forem consistentes, ir para passo 6 - senão, passo 5 Passo 5: Investigar resultados inesperados Ações apropriadas a serem tomadas quando resultados diferem da expectativa RUP - DI / UFPE 1999 Atividades: Executar Testes (Integração,Sistema, Desempenho) Passo 6: Registrar Defeitos Registro dos defeitos encontrados para iniciar ação corretiva Saídas: Defeitos RUP - DI / UFPE 1999 Workflow Testes RUP - DI / UFPE 1999 Atividade: Avaliar Testes Worker: Projetista Testes Objetivo: Métricas do progresso dos testes / Gerar relatório de avaliação Passo 1: Avaliar cobertura dos casos de teste Avaliação baseada nos requisitos de teste RUP - DI / UFPE 1999 Atividade: Avaliar Testes Passo 2: Avaliar cobertura do código Teste baseado no código implementado cobertura atingida Passo 3: Analisar Defeitos Avaliar defeitos e recomendar atividade seguinte RUP - DI / UFPE 1999 Atividade: Avaliar Testes Passo 4: Determinar completude dos testes e se critério de sucesso foi atingido Testes foram completados completamente e de forma aceitável? Produzir relatórios com os resultados Saídas: Relatório de avaliação dos testes RUP - DI / UFPE 1999 Resumo RUP - DI / UFPE 1999