Você está na página 1de 148

Qualidade de Software Aula 01 Introduo a Testes

Prof. Alessandro M. Lima, MSc amlrecife@gmail.com

Contedo
2a Parte Testes de Software
3
3 3 3

Introduo a testes
Planejamento de testes Projeto de testes Execucao de testes Prtica: Organizao de uma fbrica de Testes

Testes de Software - Introduo

Prof. Alessandro Lima

Objetivo
Apresentar e praticar as principais atividades relacionadas a testes de software

Testes de Software - Introduo

Prof. Alessandro Lima

Bibliografia
RUP Managing the Testing Process. Rex Black Software Engineering. Ian Sommerville Software Engineering. Pressman

Testes de Software - Introduo

Prof. Alessandro Lima

Roteiro

Introduo e Conceitos
Classificao dos Testes Testes e o Ciclo de Vida Processo
3 3 3 3

Planejamento Projeto Execuo Avaliao dos resultados

Testes de Software - Introduo

Prof. Alessandro Lima

Conceitos

Como ?

Testes de Software - Introduo

Prof. Alessandro Lima

Conceitos
Verificao e Validao (V & V)
3

Nome genrico dado aos processos utilizados para garantir que o software est em conformidade com os requisitos e atende as necessidades dos usurios Atividades relacionadas

Revises de requisitos Revises de cdigo e projeto Testes de software

Testes de Software - Introduo

Prof. Alessandro Lima

Conceitos

Verificao
3

Estamos construindo certo o produto? Estamos contruindo o produto certo?

Validao
3

Testes de Software - Introduo

Prof. Alessandro Lima

Verificao e Validao
Tcnicas Estticas
3

Avaliao de artefatos (documentos, diagramas, cdigo, etc) Avaliao atravs da execuo do software Testes de software

Tcnicas Dinmicas
3 3

Testes de Software - Introduo

Prof. Alessandro Lima

O que so Testes de Software?


3

O processo de avaliar um sistema ou um componente de um sistema por meios manuais ou automticos para verificar se ele satisfaz os requisitos especificados ou identificar diferenas entre resultados esperados e obtidos. ANSI/IEEE Standard 729, 1983

Testes de Software - Introduo

Prof. Alessandro Lima

10

Motivao
Probabilidade alta de existncia de erros inseridos pelos desenvolvedores 3 O impacto dos custos de falhas de software justificam o investimento 3 Reduzir custos de manuteno 3 Aumentar a satisfao do cliente
3

Testes de Software - Introduo

Prof. Alessandro Lima

11

Princpios de Testes
Todos os testes devem ser rastreveis para os requisitos 3 Testes devem ser planejados antes da sua execuo 3 O princpio de Pareto aplica-se a testes
3

20% dos programas iro representar 80% dos problemas

Deve-se iniciar das pequenas partes para as maiores impossvel testar todas as possibilidades Testes devem ser executados por uma equipe independente para serem eficazes

Testes de Software - Introduo

Prof. Alessandro Lima

12

Componentes de um Sistema de Testes


Ambiente de Testes

Determina o uso de

Projeta Configura Utiliza

Prov uma plataforma

Equipe de Testes
Cria Articula Treina

Projeta Implementa Opera

Processo de Testes

Testware
Operado de acordo com

Testes de Software - Introduo

Prof. Alessandro Lima

13

Conceitos Importantes
3

Caso de Teste

Representa uma especificao (entradas e saidas esperadas) com o objetivo de verificar algum aspecto do sistema Representa o passo a passo para a execuo do teste Conjunto de Casos de Testes

Procedimento de Teste

Suite de Testes Ciclo de Testes


Uma execuo de testes incluindo uma ou mais suites de testes

Testes de Software - Introduo

Prof. Alessandro Lima

14

Roteiro
Introduo e Conceitos

Classificao dos Testes


Testes e o Ciclo de Vida Processo
3 3 3 3

Planejamento Projeto Execuo Avaliao dos resultados

Testes de Software - Introduo

Prof. Alessandro Lima

15

Classificao dos Testes


3

Com relao a granularidade


Estrutural (Caixa-Branca) Comportamental (Caixa-Preta) Unitrios Integrao Sistema Aceitao Funcional, Regresso, Stress, Performance, etc
16

Estgios

Tipos de Testes

Testes de Software - Introduo

Prof. Alessandro Lima

Classificao dos Testes Granularidade :: Caixa-Branca


Projetados em funo da estrutura interna de um componente Contrudo anlisando o cdigo fonte, nos diversos caminhos lgicos mais preciso

Testes de Software - Introduo

Prof. Alessandro Lima

17

Classificao dos Testes Granularidade :: Caixa-Branca


til para:
3

Avaliador concentrar nos pontos mais importantes e perigosos do cdigo Verifica limites internos que so invisveis ao testadores externos

Testes de Software - Introduo

Prof. Alessandro Lima

18

Classificao dos Testes Granularidade :: Caixa-Preta


O Teste de caixa-preta baseado nos requisitos funcionais do software. O avaliador se concentra na funes externas do software Especifica-se sadas esperadas a partir de entradas
Entrada

Sistema

Sada

Testes de Software - Introduo

Prof. Alessandro Lima

19

Classificao dos Testes Granularidade :: Caixa-Preta


til para: 3 Funes incorretas ou omitidas 3 Erros de interface 3 Erros de comportamento

Testes de Software - Introduo

Prof. Alessandro Lima

20

Classificao dos Testes Estgios de Testes


3

Representam a evoluo no tempo

Unidade Integrao Sistema Aceitao


Testes de Software - Introduo

Testes de componentes individuais Testes das interfaces dos componentes Testes da funcionalidade integrada ao ambiente operacional Teste com os usurios (homologao)
Prof. Alessandro Lima

21

Classificao dos Testes :: Estgios :: Unidade


3

Normalmente executado pelo programador

Testa-se:

Unidade (Componentes: classes, mtodos, etc) so testados individualmente A interface com a unidade A manipulao com dados inconsistentes ou imprprios Inicializao de variveis Condies de limite para garantir que a unidade trabalhe nos limites especificados Caminhos de controle e de tratamento de erros dentro das fronteiras da unidade (caixa-branca)
Prof. Alessandro Lima

Testes de Software - Introduo

22

Classificao dos Testes :: Estgios :: Unidade

Unidade

Interface Estrutura de dados local Condies de fronteira Caminhos independentes Caminho de tratamento de erro

Casos Casos de teste Casos de teste Casos de teste de teste

Testes de Software - Introduo

Prof. Alessandro Lima

23

Classificao dos Testes :: Estgios :: Unidade


Driver

Unidade a ser testada

Stub

Stub

Driver Programa principal que aceita dados do caso de teste, repassa-os para o mdulo a ser testado e visualiza os resultados Stub Programas temporrios que substituem outros mdulos que ainda no foram construdos ou testados isoladamente

Resultados
Testes de Software - Introduo Prof. Alessandro Lima

24

Classificao dos Testes :: Estgios :: Integrao


3 3 3 3 3

Unidades que foram testadas isoladamente agora so testadas de forma integrada A integrao deve ser realizada de forma incremental para evitar o caos O teste executado por um testador de integrao (programador) A integrao realizada entre unidades (mdulos, classes, etc) Pode ser realizada de duas maneiras:

Top-down Bottom-up
Prof. Alessandro Lima

Testes de Software - Introduo

25

Classificao dos Testes :: Estgios :: Integrao :: Top-Down


M1

M2

M2

Os mdulos so integrados de cima para baixo 3 Pode-se utilizar Drivers e Stubs para fazer a integrao de forma incremental 3 Duas estratgias:
3

M3

M4

Depth-first: testa um caminho completo Breadth-first: Testa um nvel da hierarquia de cada vez

Testes de Software - Introduo

Prof. Alessandro Lima

26

Classificao dos Testes :: Estgios :: Integrao :: Bottom-Up


M1

M2

M2

M3

M4

Os mdulos so integrados de baixo para cima 3 O mdulos inferiores so combinados (clusters) 3 Cria-se Drivers para testar os clusters 3 Os Drivers so substitudos a cada etapa
3

Cluster

Testes de Software - Introduo

Prof. Alessandro Lima

27

Classificao dos Testes :: Estgios :: Integrao


3

Top-down

Vantagem: Os testes das funes principais so realizados no incio Desvantagem: Criao de stubs Vantagem: No precisa de Stubs Desvantagem: O mdulo principal s testado aps os mdulos inferiores

Bottom-up

Testes de Software - Introduo

Prof. Alessandro Lima

28

Classificao dos Testes :: Estgios :: Sistema


Verifica se a aplicao est funcionando com um todo 3 Faz-se uma integrao com o ambiente operacional similar ao de produo (hardware, software, pessoas, outros sistemas) 3 So empregados testes de caixa preta executados por uma equipe externa
3

Testes de Software - Introduo

Prof. Alessandro Lima

29

Classificao dos Testes :: Estgios :: Aceitao


Nesse momento testes so realizados pelos prprios usurios 3 Duas categorias:
3

Testes Alfa: Realizados em ambiente controlado por TI Testes Beta: Realizados no ambiente dos usrios sem controle de TI

Deve prever treinamentos e documentao para os usurios 3 Documentos de testes criados podem ser utilizados
3

Testes de Software - Introduo

Prof. Alessandro Lima

30

Classificao dos Testes :: Tipos


3

Representam diferentes abordagens de testes que podem ser empregadas


Funcional Recuperao Segurana Stress, Carga e Volume Performance Configurao e portabilidade Instalao Documentao Regresso Ciclo de Negcio Interface com o usurio
Prof. Alessandro Lima

Testes de Software - Introduo

31

Classificao dos Testes :: Tipos :: Funcional


3

Testa as funcionalidades com regras de negcios associadas mais requisitos no funcionais Exemplo: Teste de abertura de um conta corrente

Testes de Software - Introduo

Prof. Alessandro Lima

32

Classificao dos Testes :: Tipos :: Recuperao


3

Fora falha no sistema para verificar que o sistema consegue se recuperar sem causar danos A recuperacao do sistema pode ser automtica ou manual, mas o importante a manuteno do estado anterior do sistema O tempo de recuperao muito importante

Testes de Software - Introduo

Prof. Alessandro Lima

33

Classificao dos Testes :: Tipos :: Segurana


3

Verifica se os mecanismos de proteo as informaes sensveis de fato impedem o acesso indevido Reconhece-se de uma maneiral geral que o modelo de segurana adotado nunca perfeito O projeto desse teste deve garantir que custo para quebrar a segurana maior que o valor da informao protegida
Prof. Alessandro Lima

Testes de Software - Introduo

34

Classificao dos Testes :: Tipos :: Stress


O teste de stress projetado para localizar erros devidos a falta de recursos ou competio por recursos Verifica o sistema em condies limites de execuo Pouca memria ou espao em disco podem revelar defeitos no software que no so aparentes sob condies normais Outros defeitos podem resultar da competio por recurso compartilhado, como bloqueios de banco de dados ou largura da banda de rede Exemplos: 3 Utilizar o sistema com pouqussima memria ou rea em disco 3 Aumentar o nmero de requisies ao sistema 3 Aumentar o nmero de recursos para verificar o uso da memria e SO
Testes de Software - Introduo Prof. Alessandro Lima

35

Classificao dos Testes :: Tipos :: Carga


Sujeitar o sistema a cargas de trabalho variveis para avaliar a capacidade do sistema em continuar a funcionar corretamente sob essas diferentes cargas de trabalho. A meta desse teste determinar e assegurar que o sistema funcione adequadamente com uma carga de trabalho superior carga mxima esperada. Alm disso, o teste de carga avalia as caractersticas de desempenho (tempos de resposta, taxas de transao e outros aspectos sensveis ao tempo)

Testes de Software - Introduo

Prof. Alessandro Lima

36

Classificao dos Testes :: Tipos :: Volume


Sujeita o software a grandes quantidades de dados para determinar se sero atingidos limites que faro com que o software falhe. Identifica o volume ou a carga mxima contnua que o sistema pode manipular durante um determinado perodo de tempo. Exemplo:
3

Se o software estiver processando um conjunto de registros de banco de dados para gerar um relatrio, um Teste de Volume utilizar um grande banco de dados de testes e verificar se o software se comportou normalmente e gerou o relatrio correto.

Testes de Software - Introduo

Prof. Alessandro Lima

37

Classificao dos Testes :: Tipos :: Desempenho


3

Testa o desempenho do sistema em determinadas condioes Essencial para sistemas em tempo-real Pode ser executado em qualquer estgio dos testes (unidade a aceitao) Faz-se necessrio realizar instrumentao do hardware e software, ou seja, medio da utilizao dos recursos (ciclos da maquina, memria, etc) de forma padronizada
Prof. Alessandro Lima

Testes de Software - Introduo

38

Classificao dos Testes :: Tipos :: Configurao ou Portabilidade


3

Verifica o funcionamento adequado do sistema em diferentes configuraes de hardware/software Testa-se


Compatibilidade Configuraes do servidor Tipos de conexes com a internet Compatibilidade com o browser

Testes de Software - Introduo

Prof. Alessandro Lima

39

Classificao dos Testes :: Tipos :: Instalao e Desinstalao


3

Verifica a correta instalao do sistema para diferentes plataformas de hardware/software e opes de instalao Testa-se

Compatibilidade do hardware e software Funcionalidade do instalador Interface do instalador

Testes de Software - Introduo

Prof. Alessandro Lima

40

Classificao dos Testes :: Tipos :: Documentao


3

Verifica se a documentao corresponde informao correta e apropriada:


Online Escrita Help sensvel ao contexto

Testes de Software - Introduo

Prof. Alessandro Lima

41

Classificao dos Testes :: Tipos :: Regresso


3

a atividade de testes que ajuda a garantir que mudanas no software nao ocasionaram erros em funes j testadas Podem ser realizados:

Manualmente re-executando novamente um subconjunto dos testes ja executados Automaticamente atravs de scripts de testes

Testes de Software - Introduo

Prof. Alessandro Lima

42

Classificao dos Testes :: Tipos :: Ciclo de Negcio


O Teste de Ciclo de Negcios deve emular as atividades executadas no sistema ao longo do tempo. Dever ser identificado um perodo como, por exemplo, um ano, e devero ser executadas as transaes e atividades que ocorreriam durante esse perodo de um ano. Isso inclui todos os ciclos dirios, semanais e mensais, assim como os eventos sensveis a datas como, por exemplo, lembretes.
Testes de Software - Introduo Prof. Alessandro Lima

43

Classificao dos Testes :: Tipos :: Interface do Usurio


Verifica a interao de um usurio com o software. A meta do Teste de IU assegurar que a Interface com o Usurio fornea ao usurio o acesso e a navegao adequados por meio das funes dos aplicativos. O Teste de UI assegura que os objetos contidos na UI funcionem conforme esperado e estejam em conformidade com padres corporativos ou do segmento de mercado.

Testes de Software - Introduo

Prof. Alessandro Lima

44

Resumo
Stakeholders Teste Aceitao Teste Caixa Preta Teste Caixa Preta Teste Caixa Branca e Preta Teste Caixa Branca
Prof. Alessandro Lima

Requisitos

Teste Sistema

Funcional, Stress, Recuperao, Instalao Documentao, Segurana

Alfa, Beta

Desempenho, Regresso

Projeto

Teste Integrao

Cdigo

Teste Unidade

Testes de Software - Introduo

45

Roteiro
Introduo e Conceitos Classificao dos Testes

Testes e o Ciclo de Vida


Processo
3 3 3 3

Planejamento Projeto Execuo Avaliao dos resultados

Testes de Software - Introduo

Prof. Alessandro Lima

46

Testes e Ciclo de Vida do Projeto

Testes de Software - Introduo

Prof. Alessandro Lima

47

Testes e o Ciclo de Vida


O planejamento inicial dos testes ocorre na fase de iniciao O foco principal na fase de elaborao so os testes de integrao para que a arquitetura seja validada Na fase de construo, o foco principal so nos testes de sistema para validar os requisitos implementados Na fase de transio o foco passa a ser a homologao do sistema atravs de testes de aceitao (Alfa e Beta)
Testes de Software - Introduo Prof. Alessandro Lima

48

Testes e o Ciclo de Vida

Apesar dos focos localizados de testes (Integrao, Sistema e Aceitao), em cada uma das fases possvel a ocorrncia de qualquer um deles

Testes de Software - Introduo

Prof. Alessandro Lima

49

Testes e Ciclo de Vida do Projeto


Objetivos Inception Arquitetura Construction Operacional Transition Liberao

Elaboration

Preliminary iteration

Architect. Architect. Devel.. iteration iteration iteration

Devel.. iteration

Devel.. iteration

Transition iteration

Transition iteration

Testes de Integrao Planejamento Inicial dos Testes


Testes de Software - Introduo

Testes de Sistema

Testes de Aceitao
50

Prof. Alessandro Lima

Testes e Ciclo de Vida do Projeto


3

Estabilizao da aplicao

Estabilizao

Correes

Erros

Tempo
Testes de Software - Introduo Prof. Alessandro Lima

51

Testes e as Outras Disciplinas


A disciplina Requisitos, captura os requisitos para o software, que uma das entradas principais para identificar quais testes de sistemas A disciplina Anlise e Projeto determina o projeto adequado para o software, que outra entrada importante para identificar quais testes devem ser desempenhados, principalmente os de integrao A disciplina Gerenciamento de Mudana e Configurao controla as mudanas dentro da equipe de projeto. O esforo de teste verifica se cada mudana foi concluda adequadamente
Testes de Software - Introduo Prof. Alessandro Lima

52

Testes e as Outras Disciplinas


A disciplina Implementao produz builds do software que so validadas pela disciplina Teste. Dentro de uma iterao, mltiplos builds sero testados - geralmente um por ciclo de teste. A disciplina Gerenciamento de Projeto planeja o projeto e o trabalho necessrio em cada iterao. Descrito em um Plano de Iterao, este artefato uma entrada importante, utilizada quando voc define a misso de avaliao correta para o esforo de teste.

Testes de Software - Introduo

Prof. Alessandro Lima

53

Testes e Ciclo de Vida do Projeto


Casos de Testes de Sistema Casos de Testes de Integrao

Casos de Testes de Unidade

Casos de Testes Alfa e Beta

Testes de Software - Introduo

Prof. Alessandro Lima

54

Roteiro
Introduo e Conceitos Classificao dos Testes Testes e o Ciclo de Vida

Processo
3 3 3 3

Planejamento Projeto Execuo Avaliao dos resultados

Testes de Software - Introduo

Prof. Alessandro Lima

55

Processo para Testes

Planejamento

Projeto

Implementao

Execuo

Avaliao

3 3 3

Representa um fluxo de atividades para uma disciplina de testes Determina a sequencia lgica de passos para o sucesso dos testes Indica tambm os papis que devem executa o processo
Prof. Alessandro Lima

Testes de Software - Introduo

56

Atividades de Testes e Outras Disciplinas no Ciclo Iterativo


Planejamento Geral/Iterao Requisitos Anlise e Projeto Codificao Builds Builds Builds

Planejamento

Projeto

Implementao

Execuo

Avaliao

Testes de Software - Introduo

Prof. Alessandro Lima

57

Processo de Testes
Planejamento Gerente

Projeto Arquiteto

Reviso

Automao v Automatizador

Testador

Execuo

Testes de Software - Introduo

Prof. Alessandro Lima

58

Papis de Testes
Responsvel pelo planejamento das atividades de Testes Responsvel pelo projeto de testes (casos de testes, massa, etc) Automatiza os testes desenvolvendo scripts Executa os testes
Prof. Alessandro Lima

Gerente

Arquiteto

Automatizador

Testador

Testes de Software - Introduo

59

Processo de Testes
Planejamento Gerente

Projeto Arquiteto

Reviso

Automao v Automatizador

Testador

Execuo

Testes de Software - Introduo

Prof. Alessandro Lima

60

Planejamento
Planejamento dos testes uma atividade essencial para se atingir os objetivos da disciplina O planejamento pode existir para todo o projeto bem como para cada iterao O resultado dessa atividade criar o Plano de Testes

Testes de Software - Introduo

Prof. Alessandro Lima

61

Plano de Testes
Define as metas e os objetivos dos testes no escopo da iterao (ou projeto), os itens de destino, a abordagem adotada, os recursos necessrios e os produtos que sero liberados. Objetivos:
3

Descrever e comunicar a inteno do esforo de teste em um determinado planejamento. Obter aceitao e aprovao dos investidores no esforo de teste.

Testes de Software - Introduo

Prof. Alessandro Lima

62

Plano de Testes Exemplo RUP


Objetivos Escopo Referncias Requisitos de Testes Estratgia de Teste Recursos Marcos do Projeto Produtos de Trabalho Tarefas do Projeto
Testes de Software - Introduo Prof. Alessandro Lima

63

Plano de Testes Exemplo RUP


Objetivos
3

Introduo ao documento explicando os seus objetivos Identifica os produtos que sero testados, incluindo a verso Descreve o alcance geral dos testes (As fronteiras) Fornece uma lista dos documentos que o plano de testes faz referncia

Escopo
3

Referncias
3

Testes de Software - Introduo

Prof. Alessandro Lima

64

Plano de Testes Exemplo RUP


Requisitos de Testes
3

3 3

Aqui deve-se relacionar cada requisito funcional e no funcional a ser testada ou no Relaciona-se tambm os tipos de testes que sero utilizados paras os requisitos listados Descreve-se O QUE TESTAR? Especificar:

Tipo do Teste Verificaes a serem realizadas

Testes de Software - Introduo

Prof. Alessandro Lima

65

Plano de Testes Exemplo RUP


Estratgia de Teste
3

3 3

A Estratgia de Teste apresenta a abordagem recomendada para o teste dos aplicativos de software. Descreve-se COMO TESTAR? Especificar:

Tipo do Teste Descrio Objetivo do Teste Tcnica Critrios de Concluso Consideraes Especiais Ferramentas associadas

Testes de Software - Introduo

Prof. Alessandro Lima

66

Plano de Testes Exemplo RUP


Recursos
3

Apresenta os recursos recomendados para as atividades de testes Tipos de recursos:


Humanos Sistema (Ambiente de Testes)

Produtos de Trabalho
3

Especifica os artefatos de entrega das atividades de testes

Testes de Software - Introduo

Prof. Alessandro Lima

67

Plano de Testes Exemplo RUP


Tarefas do Projeto
3

Identifica as atividades necessrias para preparar e executar os testes, bem como todas as dependncias entre as tarefas Cronograma Macro das Atividades

Marcos do Projeto
3

Testes de Software - Introduo

Prof. Alessandro Lima

68

Plano de Testes Padro IEEE 829


Identificador Introduo Itens de Teste Funcionalidades a serem testadas Funcionalidades que no sero testadas Abordagem Critrios de Aceite Artefatos de Testes Necessidades de Ambiente Equipe e Responsabilidades Atividades de Testes Cronograma Riscos e contigncias
69

Testes de Software - Introduo

Prof. Alessandro Lima

Plano de Testes Comparao RUP vs IEEE


IEEE Identificador Introduo Itens de Teste Funcionalidades a serem testadas Funcionalidades que no sero testadas Abordagem Critrios de Aceite Artefatos de Testes Equipe e Responsabilidades Atividades de Testes Cronograma Riscos e contigncias
Testes de Software - Introduo

RUP NA Objetivo Escopo Requisitos de testes Requisitos de testes Estratgia de testes Estratgia de testes Produtos de trabalho Recursos Tarefas do Projeto Marcos do Projeto NA
Prof. Alessandro Lima

70

Prtica Planejamento dos Testes


3

Criar um plano de testes

Testes de Software - Introduo

Prof. Alessandro Lima

71

Processo de Testes
Planejamento Gerente

Projeto Arquiteto

Avaliao

Automao v Automatizador

Testador

Execuo

Testes de Software - Introduo

Prof. Alessandro Lima

72

Projeto
O projeto tem por objetivo:
Identificar e descrever os casos de testes 3 Identificar e descrever os procedimentos de testes 3 Identificar e descrever a massa de testes Principais Resultados 3 Casos de Testes + Procedimentos de Testes 3 Planilha de Testes
3

Testes de Software - Introduo

Prof. Alessandro Lima

73

Projeto Casos de Testes


Um caso de testes define:
3 3 3 3

Um conjunto de entradas de teste Condies de execuo Resultados esperados Procedimento do teste

Tem por finalidade fazer uma avaliao de algum aspecto especfico do software

Testes de Software - Introduo

Prof. Alessandro Lima

74

Projeto Casos de Testes

Execuo dos testes garantido a abrangncia da avaliao Automao dos testes

Testes de Software - Introduo

Prof. Alessandro Lima

75

Projeto Casos de Testes :: Template


ID Funcionalidade e condies que esto sendo testadas Pr-condies Entradas Sadas Procedimento

Testes de Software - Introduo

Prof. Alessandro Lima

76

Projeto Casos de Testes :: Template


Pr-Condies
3

Especifica o estado em que o sistema deva se encontrar para a realicao do cados de teste Ex: Usurio logado, Venda no estado de recebimento, etc

Testes de Software - Introduo

Prof. Alessandro Lima

77

Projeto Casos de Testes :: Template


Entradas
3

3 3

Informaes que sero utilizadas para a realizao do teste No apenas entrada via teclado Outras fontes:

Outros sistemas associados Dispositivo de I/O (BD, Arquivos, Scanners)

Testes de Software - Introduo

Prof. Alessandro Lima

78

Projeto Casos de Testes :: Template


Sadas
3

3 3

Informaes que sero disponibilizadas aps durante e aps a execuo No apenas sada no monitor Outras sadas:

Outros sistemas associados Dispositivo de I/O (BD, Arquivos, Impressoras)

Testes de Software - Introduo

Prof. Alessandro Lima

79

Projeto Casos de Testes :: Template


ID Funcionalidade e condies que esto sendo testadas Pr-condies Entradas Sadas Procedimento
Ver Planilha Template

Testes de Software - Introduo

Prof. Alessandro Lima

80

Projeto Casos de Testes :: Template


ID Funcionalidade e condies que esto sendo testadas Pr-condies Entradas Sadas Procedimento
Ver Planilha Template

Testes de Software - Introduo

Prof. Alessandro Lima

81

Projeto Casos de Testes :: Derivao

Vamos analisar agora como derivar Casos de Testes para requisitos Funcionais

Testes de Software - Introduo

Prof. Alessandro Lima

82

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Os casos de teste para o teste funcional so derivados dos casos de uso necessrio desenvolver casos de teste para cada cenrio de caso de uso Os cenrios de caso de uso so identificados pela descrio dos caminhos que percorrer o fluxo bsico e os fluxos alternativos, do incio ao fim do caso de uso

Testes de Software - Introduo

Prof. Alessandro Lima

83

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso

Testes de Software - Introduo

Prof. Alessandro Lima

84

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso

Testes de Software - Introduo

Prof. Alessandro Lima

85

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Um cenrio pode ter vrios casos de testes associados Identificao da condio especfica que causar a execuo desse cenrio de caso de uso especfico
Fluxo Alternativo Este fluxo de eventos ocorrer se o valor em dlar digitado na Etapa 2 anterior, "Digitar o Valor da Retirada" for maior que o saldo atual da conta. O sistema exibe uma mensagem de aviso e, em seguida, torna a unir o fluxo bsico na Etapa 2 "Digitar o Valor da Retirada" anterior, em que o cliente do banco pode digitar um novo valor de retirada.

Testes de Software - Introduo

Prof. Alessandro Lima

86

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Vamos analisar um exemplo mais complexo

Testes de Software - Introduo

Prof. Alessandro Lima

87

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Fluxo Principal 1. O cliente insere o carto bancrio no leitor de cartes do caixa eletrnico 2. O caixa eletrnico l o cdigo da conta a partir da tarja magntica do carto bancrio e verifica se ele um carto aceitvel. 3. O caixa eletrnico solicita o cdigo de senha do cliente (4 dgitos) 4. O cdigo da conta e a senha so verificados para determinar se a conta vlida e se a senha digitada est correta para a conta. 5. O caixa eletrnico exibe as diversas alternativas disponveis. Nesse fluxo, o cliente do banco sempre seleciona "Retirada em Dinheiro. 6. O caixa eletrnico solicita o valor a ser retirado. Para esse fluxo, o cliente seleciona um valor predefinido (R$10, R$20, R$50 ou R$100). 7. O caixa eletrnico inicia o processo de verificao com o Sistema Bancrio, enviando o ID do Carto, a Senha, o Valor e as Informaes de conta como uma transao. O Saldo da conta atualizado. 8. O Dinheiro fornecido. 9. O Carto do Banco devolvido. 10. O recibo impresso e fornecido. O caixa eletrnico tambm atualiza o log interno adequadamente.
Testes de Software - Introduo Prof. Alessandro Lima

88

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Fluxo Alternativo 1 - Carto Na Etapa 2 do Fluxo Bsico - Verificar o Carto Bancrio, se o carto Invlido. no for vlido, ser ejetado com uma mensagem apropriada. Fluxo Alternativo 2 - Caixa Eletrnico sem Dinheiro Fluxo Alternativo 3 Fundos insuficientes no caixa eletrnico Na Etapa 5 do Fluxo Bsico 5 - Opes do Caixa Eletrnico, se o caixa eletrnico estiver sem dinheiro, a opo "Retirada em Dinheiro" no estar disponvel. Na Etapa 6 do Fluxo Bsico - Digitar o Valor, se o caixa eletrnico no contiver fundos suficientes para fornecer o valor solicitado, o sistema exibir uma mensagem apropriada e retornar Etapa 6 do fluxo bsico - Digitar o Valor.

Na Etapa 4 do Fluxo Bsico - Verificar a Conta e a Senha, o cliente tem trs chances de digitar a senha correta. Se for digitada uma senha incorreta, o caixa eletrnico exibir a Fluxo Alternativo 4 Senha mensagem apropriada, e se houver novas tentativas, esse fluxo Incorreta retornar Etapa 3 do Fluxo Bsico - Digitar a Senha. Se na ltima tentativa o nmero PIN digitado estiver incorreto, o carto ser retido, o caixa eletrnico retornar ao Estado Pronto, e esse caso de uso ser encerrado. Fluxo Alternativo 5 Nenhuma Conta
Testes de Software - Introduo

Na Etapa 4 do Fluxo Bsico - Verificar a Conta e a Senha, se o Sistema bancrio retornar um cdigo indicando que a conta no foi encontrada ou que ela no permite retiradas, o caixa eletrnico exibir a mensagem apropriada e retornar Etapa 9 do Fluxo Bsico 89 Prof. Alessandro Lima Devolver o Carto.

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Na Etapa 7 do Fluxo Bsico - Autorizao, o Sistema bancrio retorna um Fluxo Alternativo 6 cdigo indicando que o saldo da conta inferior ao valor digitado na Etapa 6 Fundos Insuficientes do Fluxo Bsico - Digitar o Valor, o caixa eletrnico exibe a mensagem na Conta apropriada e retorna Etapa 6 do Fluxo Bsico - Digitar o Valor. Fluxo Alternativo 7 Alcanado o valor mximo dirio para retirada Fluxo Alternativo x Erro de Log Fluxo Alternativo y Encerramento Na Etapa 6 do Fluxo Bsico - Autorizao, o Sistema bancrio exibe um cdigo indicando que, com essa solicitao de retirada, o cliente ter excedido o valor mximo permitido em um perodo de 24 horas; o caixa eletrnico exibe a mensagem apropriada e retorna Etapa 6 do Fluxo Bsico - Digitar o Valor. Se na Etapa 10 do Fluxo Bsico - Recibo, no for possvel atualizar o log, o caixa eletrnico entrar no "modo de segurana" em que todas as funes sero suspensas. Um alarme apropriado ser enviado ao Sistema Bancrio para indicar que o caixa eletrnico suspendeu a operao. O cliente pode, a qualquer momento, decidir terminar a transao (sair). A transao parada e o carto ejetado. O caixa eletrnico contm vrios sensores que monitoram funes distintas, como alimentao, presso exercida nas vrias portas e passagens, e detectores de movimento. Se a qualquer momento um sensor for ativado, um sinal de alarme ser enviado Polcia e o caixa eletrnico entrar no "modo de segurana" em que todas as funes sero suspensas at que sejam executadas as aes de reincio/reinicializao apropriadas. 90 Prof. Alessandro Lima

Fluxo Alternativo z "Desvio"


Testes de Software - Introduo

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Vamos considerar que estamos no meio do projeto e que apenas os seguintes fluxos foram desenvolvidos:
3

3 3

3 3

Fluxo Bsico - Retirada de um valor predefinido (R$10, R$20, R$50, R$100) Fluxo Alternativo 2 - Caixa Eletrnico sem Dinheiro Fluxo Alternativo 3 - Fundos insuficientes no caixa eletrnico Fluxo Alternativo 4 - Senha Incorreta Fluxo Alternativo 5 - Nenhuma Conta/Tipo de Conta Incorreto
Prof. Alessandro Lima

Testes de Software - Introduo

91

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Alguns cenrios extrados
Cenrio 1 - Retirada em dinheiro bem-sucedida Cenrio 2 - Caixa eletrnico sem dinheiro Cenrio 3 - Fundos Insuficientes no Caixa Eletrnico Cenrio 4 - Senha Incorreta (novas tentativas) Cenrio 5 - Senha incorreta (sem nova tentativa) Cenrio 6 - Nenhuma Conta/tipo de conta incorreto Fluxo Bsico Fluxo Bsico Fluxo Bsico Fluxo Bsico Fluxo Bsico Fluxo Bsico Fluxo Alternativo 2 Fluxo Alternativo 3 Fluxo Alternativo 4 Fluxo Alternativo 4 Fluxo Alternativo 5

Testes de Software - Introduo

Prof. Alessandro Lima

92

Projeto :: Casos de Testes :: Derivando CT a partir de casos de uso


Matriz de Casos de Testes
ID CT Cenrio/Condio Cenrio 1 - Retirada em Dinheiro Bem-sucedida Senha Nmero Valor da Conta Saque V V

Campos de condies
Saldo Saldo na no conta Caixa V V Resultado Esperado Retirada em dinheiro bemsucedida. Opo Retirada em Dinheiro indisponvel, fim do caso de uso Mensagem de aviso, retorno Etapa 6 do Fluxo Bsico - Digitar o Valor Mensagem de aviso, retorno Etapa 4 do Fluxo Bsico, Digitar a Senha Mensagem de aviso, retorno Etapa 4 do Fluxo Bsico, Digitar a Senha Mensagem de aviso, carto retido, fim do caso de uso
I-Invlido n/d No Aplicvel 93

CT1

Cenrio 2 - Caixa Eletrnico sem CT2 Dinheiro Cenrio 3 - Fundos insuficientes no CT3 caixa eletrnico Cenrio 4 Senha Incorreta ( 1 CT4 tentativa) Cenrio 4 - Senha Incorreta (2 CT5 tentativa) CT6 Cenrio 5 - PIN Incorreto (3a tentativa)

n/d

n/d

n/d

V
V-Vlido

Completude => Cada campo tem que ter pelo menos um valor Invlido
Testes de Software - Introduo Prof. Alessandro Lima

Projeto Casos de Testes :: Derivao

Como fica a Derivao para requisitos no funcionais? Pode-se utilizar o mesmo conceito utilizando tabelas de casos de testes

Testes de Software - Introduo

Prof. Alessandro Lima

94

Projeto :: Casos de Testes :: Derivando CT para RNF


Desempenho
ID CT PCW1 Carga de Trabalho 1 (Caixa eletrnico nico) 2 (1.000 caixas eletrnicos simultneos) 3 (10.000 caixas eletrnicos simultneos) Condio Transao de Retirada Concluda Transao de Retirada Concluda Transao de Retirada Concluda Resultado Esperado Transao concluda (sincronizao independente de agente) em < 20 segundos Transao concluda (sincronizao independente de agente) em < 30 segundos Transao concluda (sincronizao independente de agente) em < 50 segundos

PCW2

PCW3

Testes de Software - Introduo

Prof. Alessandro Lima

95

Projeto :: Casos de Testes :: Derivando CT para RNF


Segurana
ID CT Condio Carto(V indica carto vlido) Leitor de Cartes(V indica que o leitor est funcionando corretamente) V V V V V Rede do Banco Resultado Esperado

ACW1 ACW2 ACW3 ACW4

Na Rede Bancria Fora da rede bancria No possvel ler o carto Carto indicado como roubado

V V I I I

V I V V V

Todos os Casos de Uso disponveis Apenas caso de uso de retirada em dinheiro Mensagem de Aviso, Carto ejetado Mensagem de Aviso, carto retido Mensagem de aviso, carto retido

ACW5 Carto expirado

Testes de Software - Introduo

Prof. Alessandro Lima

96

Projeto :: Casos de Testes :: Ordem de Execuo


Existe dois estilos de ordem de execuo para a criao dos casos de testes
Cascata Caso de teste 1 Caso de teste 2 Caso de teste 3 Independente Caso de teste 1 Caso de teste 2 Caso de teste 3

Testes de Software - Introduo

Prof. Alessandro Lima

97

Projeto :: Casos de Testes :: Ordem de Execuo :: Cascata


Os casos de teste so projetados um aps o outro
3

O caso de teste 1 exercita uma determinada funcionalidade que deixa o sistema no estado em que o prximo caso de teste possa ser executado Exemplo:
1. 2. 3.

Criar um Registro Consultar o Registro

Testes de Software - Introduo

Prof. Alessandro Lima

98

Projeto :: Casos de Testes :: Ordem de Execuo :: Cascata


Vantagem
3

Casos de uso ficam menores e simples Se um falhar os outros no podem ser executados

Desvantagem
3

Testes de Software - Introduo

Prof. Alessandro Lima

99

Projeto :: Casos de Testes :: Ordem de Execuo :: Independentes


Os casos de teste so auto-contidos No tem dependncia com outros casos de testes

Testes de Software - Introduo

Prof. Alessandro Lima

100

Projeto :: Casos de Testes :: Ordem de Execuo :: Cascata


Vantagem
3

Os casos de testes podem ser executado em qualquer ordem So mais complexos So mais difceis de projetar

Desvantagem
3 3

Testes de Software - Introduo

Prof. Alessandro Lima

101

Projeto :: Casos de Testes :: Cobertura


importante analisar at onde de deseja chegar com os casos de testes para se decidir quando parar Todas as condies de testes foram identificadas? Os casos de testes satisfazem as condies de teste? A massa de dados adequada?

Testes de Software - Introduo

Prof. Alessandro Lima

102

Projeto :: Classes de Equivalncia


praticamente impossvel testar todas as combinaes de entrada e sada para uma aplicao Desta forma, muito importante que seleo dos casos de testes sejam bastante relevantes Para atingir esse objetivo faz-se necessria a utilizao de um conceito importante:
3

Testes com Classes de Equivalncia


Prof. Alessandro Lima

Testes de Software - Introduo

103

Projeto :: Classes de Equivalncia


uma forma de anlise de teste de caixa preta que tenta reduzir o nmero total de testes possveis para um conjunto mnimo de testes que revelaro o nmero mximo de erros possvel Visa uma seleo bem representativa das combinaes possveis de valores de entrada e sada

Testes de Software - Introduo

Prof. Alessandro Lima

104

Projeto :: Classes de Equivalncia


Classes de Equivalncia Classe A Valores

Particionar Conjunto de Entradas e Saidas

Classe A

Valores

Classe A

Valores

Isto reduz a quantidade de casos de testes garantindo segurana do resultado

Classe A Valores

Seleo de alguns valores que representem o todo


Testes de Software - Introduo Prof. Alessandro Lima

105

Projeto :: Classes de Equivalncia


Estratgias
3 3 3 3

Partio de Classe de equivalncia Anlise de Valor de Limite Valores Especiais Mtodo de "Partio por Categoria"

Testes de Software - Introduo

Prof. Alessandro Lima

106

Projeto :: Classes de Equivalncia Partio de Classe de equivalncia


Observar as condioes de entrada de um cenrio e particionar as entradas em dois grupos:
3 3

Vlidos Invlidos

Testes de Software - Introduo

Prof. Alessandro Lima

107

Projeto :: Classes de Equivalncia Partio de Classe de equivalncia


Intervalo de valores para uma condio de entrada
Classe de equivalncia

vlida
De 10 a 100 O programa aceita valores de 10 a 10

Classes de equivalncia invlidas: Menor que 10 Maior que 100

Testes de Software - Introduo

Prof. Alessandro Lima

108

Projeto :: Classes de Equivalncia Partio de Classe de equivalncia


Conjunto de valores para uma condio de entrada
Classe de equivalncia O programa aceita valores: Amarelo Branco Preto Azul

vlida
Valores da Lista

Classes de equivalncia invlidas: Valores diferentes da Lista

Testes de Software - Introduo

Prof. Alessandro Lima

109

Projeto :: Classes de Equivalncia Partio de Classe de equivalncia


Conjunto de valores para uma condio de entrada
Classe de equivalncia O programa aceita valores para o nome: Letras Maisculas

vlida
Valores com letras maisculas Classes de equivalncia invlidas: Outros valores

Testes de Software - Introduo

Prof. Alessandro Lima

110

Projeto :: Classes de Equivalncia Anlise do Valor Limite


Em cada classe de equivalncia, as condies de limite so consideradas como tendo uma taxa maior de sucesso ao identificar defeitos resultantes do que as condies sem limite. As condies de limite so os valores de acordo com, imediatamente acima de ou abaixo de, o limite ou "bordas" de cada classe de equivalncia.

limites

Testes de Software - Introduo

Prof. Alessandro Lima

111

Projeto :: Classes de Equivalncia Anlise do Valor Limite


Os testes que resultam das condies de limite utilizam valores no mnimo (mn), logo acima do mnimo (mn+), logo abaixo do mximo (mx-) e no mximo (mx) do intervalo precisa ser testado. Ao testarem valores de limite, os testadores escolhem alguns casos de teste para cada classe de equivalncia. Para a amostra relativamente pequena de testes, a probabilidade de descoberta de defeito alta. Isso livra o Testador da sobrecarga de testar um grande nmero de casos em uma classe equivalente de valores que so improvveis de produzir grandes diferenas nos resultados do teste.

Testes de Software - Introduo

Prof. Alessandro Lima

112

Projeto :: Classes de Equivalncia Anlise do Valor Limite :: Exemplos


Para uma varivel flutuante, se a condio vlida for de -1.0 a 1.0, teste -1.0, 1.0, -1.001 e 1.001. Para um inteiro, se o intervalo vlido de entrada for de 10 a 100, teste 9, 10, 100, 101. Se um programa esperar uma letra maiscula, teste o limite A e Z. Teste tambm @ e [, porque no cdigo ASCII, @ est apenas abaixo de A e [ est apenas acima de Z. Se a entrada ou sada de um programa for um conjunto ordenado, preste ateno ao primeiro e ao ltimo elemento do conjunto. Se a soma das entradas precisar ser um nmero especfico (n), teste o programa em que a soma seja n-1, n ou n+1.
113

Testes de Software - Introduo

Prof. Alessandro Lima

Projeto :: Classes de Equivalncia Valores Especiais


Alm de testar os valores limites importante tambm atravs da experincia do arquiteto a identificao de valores especiais:
3

Para um tipo inteiro, zero sempre dever ser testado se estiver na classe de equivalncia vlida. Ao testar a data (ano, ms e dia), vrios casos de teste devero estar envolvidos, como o nmero de dias em um ms especfico, o nmero de dias em fevereiro no ano bissexto, o nmero de dias no ano no-bissexto.

Testes de Software - Introduo

Prof. Alessandro Lima

114

Projeto :: O que fazer quando no se tem requisitos?


Pode aprender sobre o sistema a fim de elaborar casos de testes
3 3 3 3

Leitura de documentos Entrevista com usurios Explorao da aplicao Experincia passada Testes intuitivos sem um roteiro a ser seguido Testador recebe uma misso e comea a testar diferente do Ad-Hoc pois existe um certo nvel de planejamento (misso)

Testes exploratrios
3 3 3

Testes de Software - Introduo

Prof. Alessandro Lima

115

Prtica Projeto dos Testes


3

Criar casos de testes a partir de um modelo de


casos de uso

Testes de Software - Introduo

Prof. Alessandro Lima

116

Projeto :: Procedimento de Testes


Um procedimento de teste constitudo de passos que descrevem como um determinado teste ser configurado e executado A elaborao de procedimentos de teste feita tendo como base fluxos de eventos, outros procedimentos de testes e programas de teste existentes. Para cada passo executado pode ser necessrio especificar o resultado esperado
Ver Planilha de Projeto de testes e exemplo
Testes de Software - Introduo Prof. Alessandro Lima

117

Prtica Projeto dos Testes


3

Criar os procedimentos de testes para os casos de testes

Testes de Software - Introduo

Prof. Alessandro Lima

118

Projeto :: Dados de Teste


Representam as informaes que sero utilizadas para a realizao dos testes (entradas, sadas e base de dados) No possvel implementar nem executar os testes sem os Dados de Teste, visto que so necessrios nas seguintes situaes:
3 3 3

entrada para criar uma condio sada para avaliar um requisito suporte (uma pr-condio para o teste)

Portanto, a identificao dos valores um esforo importante que feito quando Casos de Teste so identificados
Testes de Software - Introduo Prof. Alessandro Lima

119

Projeto :: Dados de Teste Critrios


Profundidade
3

O volume ou a quantidade de dados nos Dados de Teste O grau de variao nos Dados de Teste A relevncia dos Dados de Teste para o objetivo do teste A estrutura fsica dos Dados de Teste

Amplitude
3

Escopo
3

Arquitetura
3

Testes de Software - Introduo

Prof. Alessandro Lima

120

Projeto :: Dados de Teste Critrios :: Profundidade


A profundidade representa o volume ou a quantidade de dados usados no teste muito importante, pois um volume muito pequeno de dados talvez no reflita as condies reais A idia que se tenha uma quantidade de dados que represente o ambiente de produo possvel aumentar a profundidade dos Dados de Teste com a simples criao de mais registros

Testes de Software - Introduo

Prof. Alessandro Lima

121

Projeto :: Dados de Teste Critrios :: Amplitude


A amplitude se refere ao grau de variao dos valores dos Dados de Teste Deve-se tambem utilizar dados reais Exemplos
3 3

Valores de Saque: 20, 25, 50, 100 Nomes que incluam cargos, valores numricos, pontuao e sufixos:

Dr. James Bandlin, Srta. Susan Smith e Rev. Joseph P. Mayers James Johnson III, Steven Wilshire 3rd e Charles James Ellsworth, Esq. Ellen Jones-Smythe, Brian P. Tellstor

Testes de Software - Introduo

Prof. Alessandro Lima

122

Projeto :: Dados de Teste Critrios :: Amplitude


A amplitude refere-se tambm na escolha da amostragem dos dados A escolha pode ser realizada com base nos limites fsicos
Nmero da Conta (intervalo) (S) 0812 0000 0000 a 0812 9999 9999 0829 0000 0000 para 0829 9999 9999 (X) 0799 0000 0000 a 0799 9999 9999 registro 1 registro 2 registro 3 registro 4 0812 0837 0293 0812 6493 8355 0829 7483 0462 0799 4896 1893 Nmero da Senha (inteiro) Saldo da Conta (decimal) Tipo de Conta (cadeia)

0000 - 9999

-999.999,99 a 999.999,99

S, C, X

8493 3558 0352 4896

-3.123,84 8.438,53 673,00 493.498,49

S S C X

Testes de Software - Introduo

Prof. Alessandro Lima

123

Projeto :: Dados de Teste Critrios :: Escopo


O escopo a relevncia dos Dados de Teste para o objetivo do teste Est relacionado profundidade e amplitude Um grande volume de dados no significa que eles sejam apropriados A amplitude tambm no garante uma amostra apropriada necessrio garantir que os dados sejam relevantes!!

Testes de Software - Introduo

Prof. Alessandro Lima

124

Projeto :: Dados de Teste Critrios :: Escopo


Acrescentado dados amostra anterior para aumentar a representatividade
Nmero da Conta (intervalo) (S) 0812 0000 0000 a 0812 9999 9999 0829 0000 0000 para 0829 9999 9999 (X) 0799 0000 0000 a 0799 9999 9999 0812 0837 0293 0812 6493 8355 0829 7483 0462 0799 4896 1893 0829 3491 4927 0799 6578 9436 Nmero da Senha (inteiro) Saldo da Conta (decimal) Tipo de Conta (cadeia)

0000 - 9999

-999.999,99 a 999.999,99

S, C, X

registro 1 registro 2 registro 3 registro 4 Novo Registro 1 Novo Registro 2

8493 3558 0352 4896 0352 4896

-3.123,84 8.438,53 673,00 493.498,49 -995.498,34 -64.913,87

S S C X C X

Combinao de contas negativas com outros tipos de contas


Testes de Software - Introduo Prof. Alessandro Lima

125

Projeto :: Dados de Teste Critrios :: Arquitetura


Para garantir a integridade, confiana e eficcia do teste, fundamental que os Dados de Teste no incluam influncias externas, e seu estado deve ser conhecido no incio, durante e no fim da execuo do teste.
3

Instabilidade / segregao - isolamento de influncias externas dos Dados de Teste (ambiente isolado) Estado inicial - conhecimento do estado inicial especfico dos dados e da capacidade de retornar para esse estado (Baseline dos dados)

Testes de Software - Introduo

Prof. Alessandro Lima

126

Prtica Projeto dos Testes


3

Criar os dados de testes para os casos de testes

Testes de Software - Introduo

Prof. Alessandro Lima

127

Processo de Testes
Planejamento Gerente

Projeto Arquiteto

Avaliao

Automao v Automatizador

Testador

Execuo

Testes de Software - Introduo

Prof. Alessandro Lima

128

Execuo
Tem por objetivo verificar a corretude e a qualidade do produto atravs da realizao dos testes Atividades realizadas
3 3

Realizar Testes de Sanidade Realizar Testes

Entradas importantes
3 3 3 3

Build Ambiente de teste preparado Pacote de Execuo Projeto de Testes


Prof. Alessandro Lima

Testes de Software - Introduo

129

Execuo Realizar Testes de Sanidade


Objetivo
3

Validar se a build disponibilizado para os testes possui o mnimo de estabilidade para entrar no ambiente de teste e comear o primeiro ciclo de testes

Devem ser elaborados ou escolhidos casos de testes representativos para essa execuo:
3 3 3

Software fica ativo aps seu start-up Login Navegao

Testes de Software - Introduo

Prof. Alessandro Lima

130

Execuo Realizar Testes


Objetivo
3

Executar os casos de testes e registrar os defeitos / incidentes detectados. Pacote de Execuo (Atualizao)

Sada importante
Todos os incidentes ocorridos durante os testes, que comprometam em qualquer nvel a qualidade do sistema ou a continuidade dos testes, devero ser registrados

Testes de Software - Introduo

Prof. Alessandro Lima

131

Execuo Realizar Testes


Aes que no devem ser realizadas durante a execuo
3

No atualizar os casos de testes durante a execuo dos testes No registrar os defeitos encontrados de forma aleatria. No perca tempo testando Features que no so parte da release atual

Testes de Software - Introduo

Prof. Alessandro Lima

132

Prtica Execuo
3

Executar um ciclo de testes para os casos de testes projetados

Testes de Software - Introduo

Prof. Alessandro Lima

133

Processo de Testes
Planejamento Gerente

Projeto Arquiteto

Avaliao

Automao v Automatizador

Testador

Execuo

Testes de Software - Introduo

Prof. Alessandro Lima

134

Execuo Avaliao
Objetivo
3

Avaliar criticamente os resultados alcanados pelos testes Avaliar Defeitos Registrar resultados gerais dos testes Avaliar cobertura dos testes Analisar resultados gerais

Atividades
3 3 3 3

Testes de Software - Introduo

Prof. Alessandro Lima

135

Execuo Avaliao
Sadas

Registro de Defeito
Pode ser representado atravs de uma CR (Change Resquest)

Relatrio de Testes

Testes de Software - Introduo

Prof. Alessandro Lima

136

Execuo Avaliao :: Avaliar Defeitos


Objetivo
3

A confirmao dos Defeitos ou Incidentes detectados pelos Testadores realizado pelo Arquiteto de Teste responsvel. Esta ao evita que falhas de execuo dos testadores ou at mesmo pr-configuraes dos casos de testes que no foram executadas pelos Testadores sejam computados como defeitos do sistema Aps a confirmao um defeito deve ser aberto para que seja acertado

Testes de Software - Introduo

Prof. Alessandro Lima

137

Execuo :: Avaliao :: Avaliar Defeitos :: Fluxo de uma CR

Testes de Software - Introduo

Prof. Alessandro Lima

138

Execuo :: Avaliao :: Avaliar Defeitos :: Fluxo de uma CR


1. 2. 3.

IDENTIFICADOR DA MUDANA
<Um cdigo identificador da CR>

IDENTIFICAO DO SOLICITANTE
<Identificao da pessoa que solicita a Mudana>

IDENTIFICAO DO SISTEMA
1. 2. 3.

NOME DO SISTEMA NOME DO MDULO NOME DA FUNCIONALIDADE

Testes de Software - Introduo

Prof. Alessandro Lima

139

Execuo :: Avaliao :: Avaliar Defeitos :: Fluxo de uma CR


1.

TIPO DA MUDANA
<Categoria da Mudana: Melhoria, Nova funcionalidade, Correo de Defeito>

2.

DESCRIO
< Detalhamento do que se esta pedindo. No caso de defeitos interessante reportar o ponto exato do mesmo no software>

3. 4.

PRIORIDADE
<O nvel de urgncia para a implementao da Mudana>

ANEXOS
<Anexar documento que possa auxiliar na resoluo do problema>

Testes de Software - Introduo

Prof. Alessandro Lima

140

Execuo Avaliao
Relatrio de Testes (Contedo)

Testes de Software - Introduo

Prof. Alessandro Lima

141

Execuo Avaliao
Relatrio de Testes
3

Medir quantitativamente e qualitativamente o progresso dos testes e gerar um relatrio de avaliao dos testes Outra sada importante do processo de reviso o de relatar de uma forma gerencial os resultados obtidos pela execuo dos testes Contm

Nmero total de CTs previstos Nmero total de CTs executados Nmero total de CTs com sucesso e falha Nmero total de CTs que no foram executados

Testes de Software - Introduo

Prof. Alessandro Lima

142

Execuo :: Avalio Registrar Resultados Gerais dos Testes


Fazer um levantamento quantitativo e estatstico (Nmero/Percentual): 3 Total de CTs previstos 3 Total de CTs executados 3 Total de CTs com sucesso e falha 3 Total de CTs que no foram executados

Grficos auxiliares
3

3 3

Densidade de defeitos (defeito por atributo: prioridade, origem, etc) Tendncia dos defeitos (# em funo tempo) Idade dos defeitos (defeitos por status e tempo)
Prof. Alessandro Lima

Testes de Software - Introduo

143

Execuo :: Avalio Avaliar as Estratgias dos Testes


Avaliar as tcnicas empregadas pelos procedimentos de testes (mritos e pontos fracos) Verificar se o ambiente definido foi adequado:
3 3 3

Ferramentas Hardware Ambiente

Testes de Software - Introduo

Prof. Alessandro Lima

144

Execuo :: Avalio Avaliar Cobertura


Determinar se os casos de testes definidos cobriram todos os cenrios para os casos de uso Determinar se os casos de testes foram eficazes e atingiram os seus objetivos
3

Testes de Software - Introduo

Prof. Alessandro Lima

145

Execuo :: Avalio Anlise Final


Avaliar problemas identificados na avaliao de estratgias e coberturas, oferecendo sugestes de melhoria Aspectos que podem ser avaliados:
3 3 3

Desempenho da equipe Ambiente Tcnicas de testes

Testes de Software - Introduo

Prof. Alessandro Lima

146

Prtica Avaliao
3

Criar um relatrio de avaliao para os testes aplicados

Testes de Software - Introduo

Prof. Alessandro Lima

147

FIM

Perguntas?

Qualidade de Software - Introduo

Prof. Alessandro Lima

148