engenharia de software com o rup - workflow de testes parte ii alexandre vasconcelos, andré santos,...

34
Engenharia de Engenharia de Software com o Software com o RUP - RUP - Workflow de Workflow de Testes Testes Parte II Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro de Informática Universidade Federal de Pernambuco

Upload: manuela-cabreira-almada

Post on 07-Apr-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 2: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Fluxo de TestesFluxo de Testes

Page 3: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 4: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 5: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 6: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 7: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 8: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 9: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 10: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 11: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 12: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Log’s de DefeitoLog’s de Defeito

É um registro de um defeito encontrado ao ser executado um teste.

Page 13: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 14: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 15: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 16: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 17: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 18: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 19: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 20: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 21: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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)

Page 22: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Projetar testes: passosProjetar testes: passos

Identificar e descrever casos de teste Identificar e estruturar procedimentos de teste

Page 23: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 24: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Avaliar testesAvaliar testes: : entrada x saídaentrada x saída

Entrada: Plano de testes Projeto de testes

Saída: Avaliação dos testes (opcional)

Page 25: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Avaliar testes: passosAvaliar testes: passos

Avaliar cobertura dos casos de teste Verificar se os critérios de completude e sucesso dos

testes foram atingidos

Page 26: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 27: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 28: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 29: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 30: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 31: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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

Page 32: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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.

Page 33: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

Implementar testesImplementar testes: : entrada x saídaentrada x saída

Entrada: Projeto de testes

Saída: Componentes de teste

Page 34: Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro

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