Engenharia de Software Engenharia de Software com o RUP - com o RUP -
Workflow de Workflow de TestesTestesParte IIParte II
Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura,
Paulo Borba
© Centro de InformáticaUniversidade Federal de Pernambuco
Fluxo de TestesFluxo de Testes
Fluxo de TestesFluxo de Testes
Objetivo: Avaliar o nível de qualidade do produto Verificar a correta integração entre todos os
componentes de software; Verificar se todos os requisitos do sistema foram
implementados corretamente; Planejar os testes que devem ser executados em
cada iteração; Projetar e implementar os testes, definindo casos de
teste; Identificar defeitos e assegurar que suas correções
são prioritárias à entrega do produto.
Relacionamento com os demais FluxosRelacionamento com os demais Fluxos
No fluxo de planejamento e gerenciamento, os testes para cada iteração são planejados e documentados no plano da iteração;
O fluxo de requisitos é o primeiro passo para a identificação dos testes que serão executados;
O fluxo de análise e projeto descreve como desenvolver um projeto e isto é outro passo para a definição de testes;
O alvo principal das atividades de teste é a aplicação do mesmo aos resultados da implementação.
O que é um Modelo de Teste?O que é um Modelo de Teste?
Um modelo de teste consiste de:•Casos de teste•Procedimentos de teste
Um caso teste pode ser implementado por um ou mais procedimentos.
Um procedimento de teste talvezimplemente (todo ou parte de) um ou mais caso de teste.
Use cases são a primeira entrada para identificar casos de teste.
Caso de teste
Iniciar saque
Procedimento de teste
OK OK
OK OK OK
Caso e procedimento de teste em um Sistema ATM.
Saque de um valor pré-definido
Saque de um valordigitado
Finalizar saquede valor pré-definido
Finalizar saque deum valor digitado
Caso de teste
Artefatos do Fluxo de TestesArtefatos do Fluxo de Testes
Casos de Teste
Projeto de Testes
Procedimentos de Teste
Plano de Testes
Log’s de DefeitosComponentes de Teste
Avaliação dos Testes
Plano de TestesPlano de Testes
Descreve as estratégias de teste, o esforço necessário para sua realização e seu cronograma;
Na estratégia de teste estão definidos os tipos de teste que serão executados na iteração e os objetivos que devem ser atingidos.
Plano de TestesPlano de Testes
1 INTRODUÇÃO ________________________________________________________________ 3
1.1 VISÃO GERAL DESTE DOCUMENTO_________________________________________________ 31.2 REFERÊNCIAS ________________________________________________________________ 3
2 REQUISITOS DE TESTE _______________________________________________________ 3
2.1 IDENTIFICAÇÃO DOS REQUISITOS DE TESTE __________________________________________ 4
3 ESTRATÉGIA_________________________________________________________________ 4
3.1 ESTÁGIOS E TIPOS DOS TESTES____________________________________________________ 43.2 TÉCNICA ____________________________________________________________________ 53.3 CRITÉRIOS DE CONCLUSÃO E SUCESSO______________________________________________ 53.4 CONSIDERAÇÕES ESPECIAIS______________________________________________________ 5
4 RECURSOS ___________________________________________________________________ 5
4.1 RECURSOS HUMANOS___________________________________________________________ 54.2 AMBIENTE DE TESTE (HARDWARE E SOFTWARE) ______________________________________ 54.3 FERRAMENTAS________________________________________________________________ 54.4 DADOS______________________________________________________________________ 6
5 CRONOGRAMA_______________________________________________________________ 6
Projeto de TestesProjeto de Testes
É composto pelos casos e procedimentos de teste; Um caso de teste especifica uma maneira de testar o
sistema: o que testar, quais os valores e pré-condições de entrada e os valores e pós-condições de saída;
Um procedimento de teste especifica como realizar um ou diversos casos de teste. É um conjunto de instruções para execução e avaliação de resultados para um ou mais casos de teste, que podem ser efetivados manualmente ou através de ferramentas.
Projeto de TestesProjeto de Testes
1 INTRODUÇÃO ________________________________________________________________ 3
1.1 VISÃO GERAL DESTE DOCUMENTO _________________________________________________ 31.2 REFERÊNCIAS ________________________________________________________________ 3
2 CASOS DE TESTE _____________________________________________________________ 4
2.1 IDENTIFICAÇÃO DOS CASOS DE TESTE ______________________________________________ 4[CT001] <Nome do caso de teste> __________________________________________________ 4[CT…] <Nome do caso de teste> ___________________________________________________ 4
3 PROCEDIMENTOS DE TESTE __________________________________________________ 5
3.1 IDENTIFICAÇÃO DOS PROCEDIMENTOS DE TESTE ______________________________________ 5[ProcT001] <Nome do procedimento de teste> ________________________________________ 5[ProcT…] <Nome do procedimento de teste> _________________________________________ 5
Avaliação dos TestesAvaliação dos Testes
É uma avaliação dos resultados dos esforços do teste como, por exemplo, a análise da cobertura dos casos e procedimentos de teste
Log’s de DefeitoLog’s de Defeito
É um registro de um defeito encontrado ao ser executado um teste.
Componente de TesteComponente de Teste
Automatiza um ou mais procedimentos de teste ou partes deles e pode ser desenvolvido usando-se uma linguagem de programação ou gerado através de uma interação com uma ferramenta de testes;
Os componentes podem ser classes, pacotes, subsistemas ou scripts.
Considerações Gerais sobre os Artefatos Considerações Gerais sobre os Artefatos do Fluxo de Testesdo Fluxo de Testes Devido à natureza iterativa do processo de
desenvolvimento muitos dos artefatos produzidos nas primeiras iterações como casos e procedimentos de teste são usados em iterações posteriores como testes de regressão.
Artefatos x Responsáveis no Fluxo de Artefatos x Responsáveis no Fluxo de TestesTestes
Plano de testes
Projetista de testes
responsável por
Projeto de testes(casos e procedimentos)
Log de defeitosde sistema
Testador de sistema
responsável por
Subsistemas, Componentes,
Classes, Pacotes e Scripts de teste
Programador
responsável por
Log de defeitos deintegração
Testador de integração
responsável por
Avaliação dos testes
Visão das atividadesVisão das atividades
Testador de Integração
Testador de Sistema
Projetista de Testes Elaborar Plano de Testes
Programador
Executar Testes de Integração
Executar Testes de Sistema
Implementar Testes
Projetar Testes Avaliar Testes
Atividade do projetista de testes: Atividade do projetista de testes: Elaborar plano de testesElaborar plano de testes
Tem por objetivo documentar as informações relevantes ao planejamento dos testes para uma iteração.
Elaborar plano de testesElaborar plano de testes: : entrada x saídaentrada x saída
Entrada: Documento de requisitos Modelo de casos de uso
Saída: Plano de testes
Elaborar plano de testes: passosElaborar plano de testes: passos
Identificar requisitos a serem testados Definir prioridades Definir estratégias de testes Definir recursos Definir cronograma Notificar o gerente do projeto
Atividade do projetista de testes: Atividade do projetista de testes: Projetar testesProjetar testes
Tem por objetivo identificar e descrever os casos de teste para cada build, e identificar e estruturar os procedimentos de teste, especificando como executar os casos de teste.
Projetar testesProjetar testes: : entrada x saídaentrada x saída
Entrada: Documento de requisitos Modelo de casos de uso Plano de testes
Saída: Projeto de testes Plano de testes (atualizado)
Projetar testes: passosProjetar testes: passos
Identificar e descrever casos de teste Identificar e estruturar procedimentos de teste
Atividade do projetista de testes: Atividade do projetista de testes: Avaliar testesAvaliar testes
Tem por objetivo medir quantitativamente o progresso dos testes e, opcionalmente, gerar um relatório de avaliação dos testes.
Avaliar testesAvaliar testes: : entrada x saídaentrada x saída
Entrada: Plano de testes Projeto de testes
Saída: Avaliação dos testes (opcional)
Avaliar testes: passosAvaliar testes: passos
Avaliar cobertura dos casos de teste Verificar se os critérios de completude e sucesso dos
testes foram atingidos
Atividade do testador de integração: Atividade do testador de integração: Executar testes de integraçãoExecutar testes de integração
Tem por objetivo executar testes de integração para cada build do sistema, avaliar seus resultados e registrar os defeitos encontrados.
Executar testes de integraçãoExecutar testes de integração: : entrada x entrada x saídasaída
Entrada: Plano de testes Projeto de testes Componentes de teste
Saída: Log de defeitos de integração
Executar testes de integração: passosExecutar testes de integração: passos
Executar os procedimentos de teste Avaliar a execução dos testes Recuperar testes interrompidos Verificar os resultados Investigar os resultados inesperados Registrar defeitos encontrados
Atividade do testador de sistemas: Atividade do testador de sistemas: Executar testes de sistemaExecutar testes de sistema
Tem por objetivo executar testes de sistema para o último build de cada iteração do sistema, avaliar seus resultados e registrar os defeitos encontrados.
Executar testes de sistemaExecutar testes de sistema: : entrada x saídaentrada x saída
Entrada: Plano de testes Projeto de testes Componentes de teste
Saída: Log de defeitos de sistema
Executar testes de sistema: passosExecutar testes de sistema: passos
Executar os procedimentos de teste Avaliar a execução dos testes Recuperar testes interrompidos Verificar os resultados Investigar os resultados inesperados Registrar defeitos encontrados
Atividade do programador: Atividade do programador: Implementar testesImplementar testes
Tem por objetivo automatizar procedimentos de teste criando componentes de teste consistentes com os casos de teste associados.
Implementar testesImplementar testes: : entrada x saídaentrada x saída
Entrada: Projeto de testes
Saída: Componentes de teste
Implementar testes: passosImplementar testes: passos
Gerar componentes de teste Identificar funcionalidades específicas para teste nos
modelos de projeto e implementação Definir conjunto de dados externos
Top Related