You are on page 1of 196

Clinica de Teste de Software

Emerson Rios emersonrios@iteste.com.br

Primeira Empresa Brasileira com certificao Nvel 2

Bibliografia

Primeira Empresa Brasileira com certificao Nvel 2

Agenda do curso: Alongamento para a competio O que teste O que defeito Testando sem tcnica O caso da caneta Terminologias e conceitos Projeto e processo de teste A viso da norma ISO/IEC 29119 Como melhorar os seus testes? MPT Melhoria de Processo de Teste

Alongamento para a competio

O que Teste de Software?

Introduo

Exemplo de Requisito O campo salrio deve ser sempre maior do que R$1.000,00 Autores usados nesta definio ISO International Standard Organization Martin Pol Emerson Rios/Trayahu Moreira Glenford Myers

O que teste de software ?

ISO/IEC

Testar software a atividade de comparar o que um item de teste faz com o que esperado que faa (ISO/IEC-29119) (viso do requisito do software)

10

O que teste de software ?

Martin Pol

Em linhas gerais, podemos dizer que o objetivo dos testes encontrar defeitos: desta forma os testes so conduzidos para demonstrar a ausncia de qualidade expressa pela presena de defeitos, para tal se faz necessrio um processo (planejamento, especificao, execuo, anlise de resultados), considerando-se sempre os riscos do negcio e a qualidade do produto. (viso do processo, projeto, requisito, risco do negcio e a qualidade para o negcio)
Obs.: Foram condensadas as trs definies existentes no livro numa nica definio. Fonte: Software Testing A Guide to the Tmap Approach Martin Pol e outros.

11

O que teste de software ?

Rios & Moreira


Verificar se o software executado de forma controlada e est fazendo o que deveria fazer, de acordo com os seus requisitos, e no est fazendo o que no deveria fazer. (viso do requisito)
Observao: Foram condensadas as duas definies existentes no livro em uma nica definio.

Teste de Software Emerson Rios e Trayahu Moreira Editora Altabooks 2 edio


12

O que teste de software ?

O que diz o papa (Glenford Myers)


Teste de software um processo, ou um grupo de processos, definidos para garantir que um cdigo faz o que ele foi desenhado para fazer, e no faz nada que no foi especificado para fazer. (viso do projeto e do requisito)
The Art of Software Testing Glenford Myers 2 edio (primeiro livro publicado sobre teste de software 1979)
13

O que teste de software ?

Concluso
Considerando-se todas as definies dadas sobre teste de software podemos concluir o seguinte: Testamos para verificar se o software est fazendo o que foi pedido que ele fizesse num requisito; O teste deve ser considerado um projeto; importante termos um processo de teste; Testamos para garantir que o negcio no vai correr riscos provocados por defeitos em produo; Testamos para assegurar a qualidade do software.

14

Ufa! Agora eu sei a resposta

Processo de Teste

Planejar Planejar Testes Testes

Projetar Testes

Executar Testes

Analisar Resultados

Requisitos

Vises: Requisito Qualidade/Riscos Projeto

Gerenciar Defeitos

15 www.iteste.com.br

Eu estava triste e deprimido. A minha mulher tinha me trocado por um desenvolvedor. Agora os meus filhos estavam sendo criados por um desenvolvedor. Nada me animava e eu estava a beira de uma depresso. S tinha consolo no trabalho. Ento eu testava .... Testava ... Testava..

Ento um dia uma coisa maravilhosa me aconteceu. Eu encontrei um defeito, to crtico, to severo, to importante para que o negcio no corresse risco, que os desenvolvedores tiveram que fazer horas extras para corrigi-lo. O negcio foi salvo, e eu sai da minha depresso.

Carlinhos, o testador

16

A definio sobre o que teste de software pode ser vista no filme acessado pelo link abaixo: O que teste de software? http://www.youtube.com/watch?v=w47wtSC7b7c&feature=youtu.be

Ver o artigo completo ou o link acima na rea de download da iTeste (www.iteste.com.br ) ou no blog do Emerson na Editora Altabooks (http://blog.altabooks.com.br ).

17

O que defeito?

18

Histria
O ENIAC (Electronic Numerical Integrator and Computer), primeiro computador digital completamente eletrnico (1947), tambm contribuiu ao uso da palavra. Ele era movido a vlvulas e, assim, atraa milhares de insetos. Como dezenas a centenas de vlvulas queimavam a cada hora o computador, que ocupava o espao de uma sala, era aberto frequentemente e montes de insetos mortos eram varridos para fora. Diz-se que esses insetos provocavam Curto Circuitos nas placas do ENIAC levando a falhas nos programas.

Fonte: Wikipdia

19

Custo econmico dos defeitos


Em 2002, um estudo financiado pelo NIST constatou que erros de software custam anualmente US$ 59 bilhes economia dos Estados Unidos. O estudo tambm estimou que mais de um tero desse valor, ou aproximadamente US$ 22,2 bilhes, poderia ser economizado caso fossem realizados investimentos em uma melhor infraestrutura de testes.

NIST National Institute of Standards and Technology

Fonte: Wikipdia

20

Muitas palavras para definir apenas uma coisa? Defeito Falha Problema Incidente Anomalia Varincia Inconsistncia Bug Erro
21

Muitas palavras para definir apenas uma coisa? Defeito Falha Problema Incidente (norma ISO 29119) Anomalia (IEEE 829) Varincia Inconsistncia Bug (ver defeito) Erro
22

Definio de defeito
Fonte da definio
ISO/IEC 29119

Descrio de defeito
Qualquer condio que causa um desvio de um resultado baseado no que diz um requisito, um documento de especificao, um documento do usurio, um padro, ou conforme a experincia ou percepo do tcnico, que requeira investigao. Obs.: Defeitos podem ser encontrados em produtos de software ou artefatos de software. Defeito ou falha o resultado de um erro residente num cdigo ou num documento. Defeito uma diferena entre o resultado produzido e o especificado, quando as especificaes existem e esto corretas. Um defeito ocorre quando o software no faz alguma coisa que pela especificao do produto deveria fazer Ou faz alguma coisa que a especificao diz para no fazer. Ou faz alguma coisa que a especificao no menciona.
23

Martin Pol e outros Rios & Moreira

Ron Patton

Explicao mais detalhada

Termo Defeito Erro Bug Incidente

Definio J definido Falha humana que provoca o aparecimento de um defeito Ver defeito A norma ISO diz que o testador registra um incidente que apenas vir defeito quando reconhecido como tal Igual a incidente (definido pela norma IEEE 829:2008)

Anomalia

24

Seqncia de eventos

Erro pode ser cometido pelo desenvolved or ou pelo usurio

Erro Incidente ou anomalia

Defeito ou Bug

25

Viso geral dos processos de teste

Plano de Teste

Indicadores

Diretivas

Projeto e implementao

Especificaes de teste

Resultados da execuo

Nenhuma ocorrncia

Execuo
Ocorrncia ou resultado do re-teste

Requisitos de ambiente

Montagem do ambiente

Relatrio de ambiente implantado

Registro de incidentes

26

Viso geral dos processos de teste

Plano de Teste

Indicadores

Diretivas

Projeto e implementao

Especificaes de teste

Resultados da execuo

Nenhuma ocorrncia

Execuo
Ocorrncia ou resultado do re-teste

Requisitos de ambiente

Montagem do ambiente

Relatrio de ambiente implantado

Registro de incidentes

27

Ciclo de vida do defeito

Encontrar defeito

Reportar defeito

Solucionar defeito (1)

RELATRIOS DE GESTO

Fonte: Tmap Nexst for result driven test Tim Koomen e outros UTN Publishers

(1) Em ingls o termo usado foi Procedure

28

Nunca demais lembrar

O custo da correo do defeito

Especificao

Projeto

Construo

Teste

Produo

29 www.iteste.com.br

Bibliografia
Autores usados no micro curso ISO/IEC 29119 International Standard Organization Martin Pol e outros Software Testing - A Guide to Tmap Approach Editora Addison Wesley Emerson Rios/Trayahu Moreira Teste de Software Editora Altabooks 2 Edio Ron Patton Software Testing Editora SAMS

30

Quando eu estou triste e deprimido...

A receita que o mdico me passou foi: encontre um defeito de uma em uma hora.

Carlinhos, o testador

31

A definio sobre o que defeito pode ser vista no filme acessado pelo link abaixo: O que teste de software? http://youtu.be/c84ryqx03t8

Ver o artigo completo ou o link acima na rea de download da iTeste (www.iteste.com.br ) ou no blog do Emerson na Editora Altabooks (http://blog.altabooks.com.br ).

32

Teste de Software
A intuio e a tcnica

33

Exemplo Simples

Voc dever testar o seguinte requisito:


O programa dever somar dois nmeros que devem ter um ou dois dgitos. Quando o nmero for digitado, ele deve aparecer na tela, e aps serem digitados os dois nmeros, deve surgir o valor da soma na tela. A funcionalidade somar deve ser uma opo do menu na tela.
34

O que diz a intuio?


Voc chamou o programa, colocou os valores e ele fez a soma corretamente. O programa est correto?

? 4 ? 3

7
? _

35

Primeira viso
Tudo bem. O programa fez o que o requisito pediu, porm:
1.Defeito de usabilidade: No tem nenhuma informao na tela dizendo que voc est usando o programa correto ou a funcionalidade correta. 2. Defeito de usabilidade: No tem nenhuma instruo na tela sobre o que fazer. 3. Defeito de usabilidade: Como voc sai dessa tela? 4. Defeito de design: A soma no est alinhada com os nmeros. 5. Muitos outros defeitos poderiam ser alinhados
? 4 ? 3 7 ? _
36

Relatando os defeitos

Os defeitos ou incidentes devem ser registrados e enviados para os desenvolvedores que os aceitaro ou no. Correes devero ser feitas para a prxima rodada de testes. Sugerimos que cada defeito seja registrado individualmente.
37

Segunda viso
Os testes da primeira viso foram completos?
Considere o seguinte: Matematicamente existem 39601 testes possveis de serem feitos usando este mesmo programa. Temos nmeros entre -99 e 99, o que incluindo 0 dariam 199 nmeros. Para cobrirmos todo o universo teramos 1992 = 39.601. Ns usamos apenas duas dessas possibilidades.

? 4 ? 3 7
? _
38

Segunda viso
CT Resultado esperado Notas

99+99
-99+-99 99+-14 -38+99 9+9 0+0 0+23

198
-198 85 61 18 0 23

Maior nmero possvel


No houve meno a nos negativos Maior nmero em primeiro Maior nmero em segundo Dois maiores dgitos Programas muitas vezes falham com 0 Problemas com 0

-78+0 -78 Problemas com 0 Valores limtrofes uma conhecida tcnica de teste que usamos quando colocamos os valores mximos e mnimos 99,-99 nas operaes de soma. Pergunta: Ser que com esses casos de teste cobrimos todo o universo 39 de Casos de Testes

Terceira viso
CT
100 + 100

Resultado esperado
Mensagem de erro
Erro - msg

Notas
Embora o requisito limite em dois dgitos pode ser que o programa aceite
Ser que aceita campos em branco

<Enter>+<En ter>

123456+0
1,2 + 3

Erro - msg
3,2 ou erro de definio?

Explorar os limites do campo


O requisito no fala em nmero decimal. Talvez seja um incidente

A=B

Teclas de controle + teclas de controle

Mensagem de erro

O certo seria s aceitar valores numricos

40

Terminamos os testes?

Acho que precisamos ainda de mais um caso de teste. O valor da soma ser armazenado em algum arquivo?

41

Concluses
O nmero de casos de teste a serem criados e executados muitas vezes vai depender do prazo de teste ou de outros fatores.

Alm disso, no basta a nossa intuio, precisamos escrever cada um dos casos de teste.
A mensagem simples, quanto mais casos de teste usarmos tanto mais profundo ser o nosso teste e tanto maior ser a qualidade do software.

42

Eu quero testar mas no sei por onde comear...

Um bom comeo seria escrever os casos de teste associados a cada uma das funcionalidades ou requisitos do software.

Carlinhos, o testador

43

A definio sobre o que intuio e tcnica pode ser vista no filme acessado pelo link abaixo: http://www.youtube.com/watch?v=yM3Y18nUsfo&feature=channel

Ver o artigo completo ou o link acima na rea de download da iTeste (www.iteste.com.br ) ou no blog do Emerson na Editora Altabooks (http://blog.altabooks.com.br ).

44

O caso da caneta

Ns somos uma equipe e nos foi dado o encargo de testar um lote de canetas esferogrficas, como esta acima, o que vocs acham que deveramos fazer para conduzir esses testes, ou seja, como esses testes deveriam ser conduzidos?
45

Teste da caneta esferogrfica

Lista de testes propostos


Testes a serem executados Testar o prendedor Parar de usar e voltar a usar Apertar a mola para ver se est funcionando direito Estressar a mola Verificar a carga Desmontar/montar Verificar o conforto para escrever Verificar o nvel de resistncia da caneta jogando ela no cho Escrever em diversos tipos de papel Escrever e depois passar o liquid paper Verificar se borra a escrita Verificar se fica um borro grudado na ponta Avaliar a durabilidade da carga Verificar se a escrita falha Colocar a caneta em diferentes temperaturas (e escrever)

46

Terminologias e conceitos

47

Terminologias

Teste Dinmico Teste que para ser executado precisa de um cdigo de programa Teste Esttico Teste que para ser executado no precisa de um cdigo de programa, exemplo, reviso, verificao, inspeo.
48

Terminologias

Teste Baseado em Especificao (Teste Caixa Preta ou Teste Funcional) Teste executado com base numa especificao ou requisito. Item de Teste Sistema, software ou produto de trabalho (ex. requisito, especificao, etc.) que objeto de teste

49

Terminologias

Teste Baseado na Estrutura (Teste Caixa Branca) Teste no qual as entradas (dos casos de teste) so derivadas do exame da estrutura do item de teste Teste de regresso o reteste de um software ou parte do software aps o mesmo sofrer uma alterao ou correo.

50

Terminologias

Teste de Carga Busca avaliar o comportamento do software aps ser submetido a um grande volume de dados, conforme definido nos requisitos. Teste de performance Busca mostrar o comportamento do software a medida que vai sendo submetido a uma carga maior de dados, conforme definido nos requisitos.
51

A importncia do teste de software

Porque importante testarmos corretamente os softwares?

52

Defeitos podem ser perigosos

53

Empresa no consegue vender porque o software deu um problema


Veja o desconsolo da vendedora

Palestrante tenta comprar um produto na loja Tok & Stok mas o software (Oracle/Java) no deixa.

Natureza do problema: Palestrante queria comprar dois presentes para dois casamentos que iriam ocorrer, coincidentemente, no mesmo dia, e, o sistema no deixava usar o mesmo CPF.
54

Defeitos custam caro

55

Os software tm defeitos
7
Atendem No Atendem

93

Apenas uma parcela pequena das aplicaes entregues atendem aos requisitos funcionais e de tempo de resposta e performance
75% da responsabilidade pelos problemas recaem sobre a rea de desenvolvimento
Fonte: Gartner Group - 2001
56

O custo dos defeitos


The Economic Impact of Inadequate Infraestruture for Software Testing

O custo dos defeitos atinge aproximadamente 1% do PIB americano


A falta de uma infra-estrutura robusta e padronizada de testes pode acarretar os seguintes problemas:

- Aumento de falhas devido a baixa qualidade


- Aumento dos custos de desenvolvimento (re-trabalho) - Perda do tempo de mercado no lanamento de um produto - Aumento dos custos de suporte do produto
57

Por que os projetos de desenvolvimento falham?


(ou esto sempre cheios de defeitos)?

Falha na gerncia de requisitos


Comunicao imprecisa ou ambigua

Grande complexidade
Arquitetura frgil

Inconsistncias no detectadas em requisitos, projetos e implementaes Testes insuficientes


Avaliao subjetiva do status do projeto

Falhas na administrao dos riscos


Alteraes sem controle

Insuficincia de automao
Fonte: Capers Jones: Patterns of Software System Failure and Success
58

Por que o processo tradicional de testes no atendia?


Nem todos os requisitos so testados Organizaes independentes de teste ainda pouco usadas Informalidade no processo de testes

Pouca importncia atribuida ao processo de testes


Defeitos s detectados em produo, onde custam de 100 a 1000 vezes mais para serem consertados Abordagens nicas para novas tecnologias Falta de automao de testes

Falta de metodologia de teste


59

Custo do Defeito

60

Verdades sobre o conceito de teste


Testar um exerccio de gerncia de risco
Treinamento em teste reduz custos a longo prazo Melhorar os testes reduz custos Ligar os documentos de desenvolvimento aos documentos de teste melhora os resultados Deve ser mantida uma relao entre os requisitos e as condies de teste Sempre teste o ambiente de teste melhor encontrar um defeito nas primeiras fases do que em produo As ferramentas de teste no necessariamente melhoram o processo j existente.

61

Conceitos histricos

Deteco Demonstrao Descobrir defeitos, erros e deficincias do software Liberar sistema mesmo Definir capacidades e limitaes correndo riscos Fornecer informaes sobre a qualidade dos Garantir que o produto funciona componentes, sistemas e outros produtos Testes feitos pelos desenvolvedores Preveno Trabalho nas especificaes do software Gerar informaes que previnem ou reduzem os defeitos Detectar defeitos nas fases iniciais Identificar riscos e problemas de forma a evit-los no futuro Metodologias, processos, etc. Testes feitos por testadores

Demonstrao Deteco Mostrar que Encontrar funciona defeitos

Preveno Gerenciar a qualidade

Dcada de 60

Dcada de 70/80

Dcada de 90

Por que os testes mudaram?


62

Nveis de Teste
Teste Unitrio ou Teste de componente normalmente feito pelo programador. Teste de Integrao normalmente feito pelo analista de sistemas para um mdulo ou conjunto de programas ou casos de uso em ambiente de desenvolvimento. Teste de Sistemas normalmente feito pelo analista de testes (caso de testes) em ambiente de testes. Teste de Aceitao normalmente feito pelo usurio em ambiente de homologao,
63

Caractersticas de qualidade dos softwares ISO/IEC 25010

1. 2. 3. 4. 5. 6. 7. 8.

Funcionalidade Performance Compatibilidade (inter-operabilidade) Usabilidade Confibilidade (maturidade, disponibilidade) Segurana Manutenibilidade Portabilidade

A norma ISO/IEC 25010 substitui a antiga norma ISO/IEC 9126

64

Norma ISO/IEC 25010


Caractersticas Integridade Funcionalidade Correo Completeza Tempo Performance Recursos SubCaractersticas

Capacidade
Compatibilidade Usabilidade Co-existncia Interoperabilidade Facilidade de uso Acessabilidade, etc... Maturidade Confiabilidade Disponibilidade

Tolerncia a falhas
Recuperao Confidencialidade Integridade Autencidade Responsabilidade Modularidade, reusabilidade, testabilidade....

Segurana

Manutenibilidae

Portabilidade

Adaptabilidade, Facilidade de instalao,....


65

Tipos de teste x caractersticas de qualidade


Tipo de Teste Funcionalidade Descrio Testa as funcionalidades do software Caracterstica de qualidade Funcionalidade

Interface
Carga e estresse

Testa ligaes com outros sistemas


Testa grandes volumes de entradas e o comportamento do software (tempo de resposta e funcionamento) Testa os procedimentos de produo Testa os procedimentos de recuperao e de re-incio Testa as funcionalidades e outros procedimentos aps uma alterao Testa os procedimentos de segurana

Compatibilidade
Performance

Produo Recuperao Regresso

Portabilidade Confiabilidade Todas

Segurana Etc.

Segurana

66

Reviso

67

Primeira Empresa Brasileira com certificao Nvel 2

Reviso
O que teste de software? O que erro, defeito (bug), incidente e anomalia?

Mostrar o ciclo de vida de um defeito


Quando mais barato a correo de um defeito? Quais so os nveis de teste?

Cite duas caractersticas de qualidade dos softwares (ISO 25010)


Relacione as caractersticas citadas anteriormente a um tipo de teste

68

Processos de Teste

69

Primeira Empresa Brasileira com certificao Nvel 2

Teste de software um projeto, acredite em mim.

Teste de software um projeto, acredite em mim.

Teste de software um projeto, acredite em mim.

Teste de software um projeto, acredite em mim.

70

E tem mais, deve ser um projeto paralelo e integrado ao projeto de desenvolvimento

71

Definindo projeto

O que vocs acham que aconteceu quando o software entrou em produo?

72

Definindo projeto
D

Projeto um processo nico, consistente, com um conjunto nico e coordenado de atividades, com dada de incio e trmino, conduzidas para atingir um objetivo, com requisitos especificados, incluindo restries de tempo, custo e recursos (ISO 10006) Projeto um empreendimento temporrio, conduzido para criar um produto ou servio ou resultado nico (PMI Project Management Institute PMBok 2008) (Gerenciando Projetos de Teste de Software Editora ArtImagem)

73

Por que os projetos falham?


Algumas causas do insucesso dos projetos: Problemas de comunicao; No cumprimento dos prazos; Mudanas de escopo constantes; Escopo no definido adequadamente; Concorrncia entre o dia-a-dia e o projeto na utilizao dos recursos; Estimativas incorretas ou sem fundamento; Riscos no avaliados corretamente; No cumprimento do oramento; Problemas com fornecedores; Retrabalho em funo da m qualidade do produto.

Fonte: Estudo de Benchmarking em Gerenciamento de Projetos Brasil 200974

Ciclo de vida de um projeto

Evoluo do custo e pessoal no ciclo de vida de um projeto ( Fonte: PMBOK )

75

Teste x desenvolvimento

Planejamento Ciclo de desenvolvimento de sistemas Ciclo de Testes Passado Ciclo de Testes Presente Ciclo de Testes Futuro

Projeto Lgico

Projeto Fsico

Construo

76

Ciclo de vida do projeto de teste e o ciclo de vida de gesto do projeto

77

Processo (bsico) de Teste


Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

78

Etapas de Desenvolvimento e Tipos de Teste


Requisitos do Negcio Teste de Aceitao

Desenho Lgico da Aplicao

Teste de Sistema

Desenho Fsico da Aplicao

Teste de Integrao

Construo

Teste Unitrio

79

Integrao entre os projetos de teste e de desenvolvimento


Gerncia de Requisitos

Teste

Desenvolvimento

Verificao

Especificao

Desenho Lgico e Fsico P L A N E J A M E N T O

P L A N E J A M E N T O

Execuo (1)

Teste Unitrio

Construo

Teste de Sistema e Teste de Integrao

Execuo (2)

Implantao

Teste de Aceitao

Entrega

Entrega

Teste

Desenvolvimento

80

Metodologia de Testes Viso Geral


Etapas de Suporte
Preparao

Produtos
Requisitos

Etapas de Realizao

Planejamento Especificao

Planos de Teste
Planejamento Especificao

Casos de Teste
Execuo

Scripts ou procedimentos de teste


81

O que e para que servem os processos?

82

O que e para que servem os processos? Na engenharia de software, o processo tem como meta entregar um produto de software de maneira eficiente, previsvel e que corresponda s necessidades de negcio. Geralmente inclui anlise de requisitos, programao e testes, entre outras tarefas. (Wikipdia)

83

E os processos de teste de software, para que servem?

84

Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Requisitos de Teste

Gerenciar Defeitos

85

Principais Documentos dos Projetos de Teste (IEEE 829:2008)


Plano Master de Teste Plano de Teste Projeto de Teste Roteiro/Procedimento de Teste Caso de Teste

Relatrio Relatrio Relatrio Relatrio

de Anomalias (Incidentes / Defeitos) de Estado de Encerramento / Sumrio Master


86

Poltica Organizacional de Teste Estratgia Organizacional de Teste Plano de Teste Relatrio de Estado do Teste Relatrio de Trmino do Teste Relatrio de incidente Lista de itens de ao Relatrio de teste esttico Especificao de teste Especificao de desenho de teste Especificao de caso de teste Especificao de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatrio de situao de ambiente de teste Conseqncias (gerados por CT) do teste Resultados (se o CT passou ou no) do teste Log de execuo do teste Relatrio de incidncia

29119-3

IEEE 829-2008
Plano Mster de Teste Plano de Teste Desenho (Projeto) de Teste Casos de Teste Procedimentos de Teste Relatrios de Execuo dos Testes Relatrio de Estado de Teste Relatrio de Teste (sumrio) Relatrio de Log de Teste Relatrio de Anomalias (ex-Relatrio de Incidentes) Relatrio Mster de Teste

87

29119-3
Poltica Organizacional de Teste Estratgia Organizacional de Teste Plano de Teste Relatrio de Estado do Teste Relatrio de Trmino do Teste Relatrio de incidente (ver teste dinmico) Lista de itens de ao Relatrio de teste esttico Especificao de teste Especificao de desenho de teste Especificao de caso de teste Especificao de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatrio de situao de ambiente de teste Conseqncias (gerados por CT) do teste Resultados (se o CT passou ou no) do teste Log de execuo do teste Relatrio de incidente

IEEE 829-2008
Plano Mster de Teste Plano de Teste Desenho (Projeto) de Teste de Aceitao, Sistema, Integrao e Unitrio Casos de Teste de Aceitao, Sistema, Integrao e Unitrio Procedimentos de Teste de Aceitao, Sistema, Integrao e Unitrio Relatrios de Execuo dos Testes Relatrio de Estado de Teste Relatrio de Teste (sumrio) Relatrio de Log de Teste Relatrio de Anomalias (ex-Relatrio de Incidentes)

Relatrio Mster de Teste


88

Exemplo de um caso real

Macro-atividade: Planejar Testes

O objetivo desta macro-atividade definir o planejamento de um projeto de teste de software, correspondente a um projeto de desenvolvimento. O planejamento dos testes deve seguir as regras bsicas de gerncia de projetos e os critrios especficos definidos nos templates correspondentes usados nesta etapa (Ex. Plano de Teste). Atividade: Realizar estudo de viabilidade do projeto de teste Atividade: Iniciar a elaborao do Plano de Teste Atividade: Definir o Ambiente de Teste Atividade: Configurar Ambiente de Testes para o Projeto Atividade: Verificar a testabilidade dos Casos de Uso ou dos Requisitos Atividade: Detalhar Planejamento das Atividades de Teste

89

Plano de Teste
Introduo Identificador do Plano de Teste; Escopo; Referncias Nvel na seqencia de teste Classe de teste e viso das condies de teste Detalhes para este nvel do plano de teste Itens de teste e seus identificadores; Matriz de rastreabilidade do teste; Funcionalidades a serem testadas; Funcionalidades que no sero testadas; Abordagem do teste (Estratgia de Teste na ISO 29119); Critrios de liberao/falha dos itens; Requisitos de suspenso e retomada; Entregas do teste;

(continua)
90

Plano de Teste
Gerncia de Teste Tarefas do teste; Necessidades de ambientes; Responsabilidades; Integrao entre as partes envolvidas; Recursos e sua alocao; Treinamento; Cronograma, estimativas e custos; Riscos e contingncias; Geral Procedimentos de garantia de qualidade; Mtricas; Cobertura do teste; Glossrio; Procedimentos de alterao do documento e histrico.

91

Planejar Testes - Artefatos

Planejar Testes

92

Artefatos Gerados

Checklist
ANLISE

Testabilidade Caso de Uso

93

Como seria uma estratgia de teste baseada nos riscos do produto ou negcio?

94

O teste da caneta esferogrfica Plano de Teste

95

Plano de Teste
Detalhes para este nvel do plano de teste Itens de teste e seus identificadores; Matriz de rastreabilidade do teste; Funcionalidades a serem testadas; Funcionalidades que no sero testadas; Abordagem do teste (Estratgia de Teste na ISO 29119); Critrios de liberao/falha dos itens; Requisitos de suspenso e retomada; Entregas do teste; Gerncia de Teste Tarefas do teste; Necessidades de ambientes; Responsabilidades; Integrao entre as partes envolvidas; Recursos e sua alocao; Treinamento; Cronograma, estimativas e custos; Riscos e contingncias; Geral Procedimentos de garantia de qualidade; Mtricas; Cobertura do teste; Glossrio; Procedimentos de alterao do documento e histrico.

Plano de Teste Resumido

96

E neste Site? Qual seria a estratgia?

97

E neste Site? Qual seria a estratgia?

98

Desta forma eu destaquei alguns tpicos bsicos para qualquer gerente poder entend-lo, qualquer que seja o seu nvel intelectual.

Gerentes no gostam de ler mais de uma pgina.

O meu Plano de Teste tem tantos campos que nenhum gerente vai ter a pacincia de l-lo.

99

Principais Documentos dos Projetos de Teste (IEEE 829:2008)


Plano Master de Teste Plano de Teste Projeto de Teste Roteiro/Procedimento de Teste Caso de Teste

Relatrio Relatrio Relatrio Relatrio

de Anomalias (Incidentes / Defeitos) de Estado de Encerramento / Sumrio Master


100

Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

101

Exemplo de um caso real

Macro-atividade: Projetar Teste O projeto dos testes contempla a criao dos casos de teste (conforme template) e demais artefatos necessrios s atividades de execuo dos testes. Na ocorrncia de alteraes de requisitos, de design ou do cdigo do sistema, durante ou posteriormente a esta atividade, a alterao feita atravs de uma solicitao formal de mudana, onde so avaliadas as mudanas necessrias nos artefatos envolvidos. Atividade: Atividade: Atividade: Atividade: Definir os cenrios de teste Elaborar Casos de Teste Estruturar Scripts de Teste Elaborar Procedimento de Teste

102

Projetar Teste - Documentos


Planejar Projetar Testes Testes
Roteiro de Teste ou Procedimentos de Teste Casos de Teste

Scripts de teste

103

Caso de Teste
Um caso de teste uma descrio do teste a ser executado. Existe uma correspondncia entre o casos de teste e o casos de uso, embora, na maioria das vezes, vrios casos de teste correspondam a um caso de uso.
104

Caso de Teste IEEE829


Identificao do caso de teste Itens de teste componentes, mdulos, casos de teste, etc. Especificao das entradas listar todas as entradas usadas para a execuo do caso de teste Especificao das sadas listar todas as sadas geradas pelo caso deteste Ambiente necessrio Requisitos especiais Inter-dependncia entre os casos de teste

105

Exemplo de CT
Em um Caso de Uso de Transferncia Bancria, um dos cenrios a Transferncia DOC para conta de terceiros. Para se testar este cenrio de especificao, devemos criar um cenrio de teste para validar esta funcionalidade. Este cenrio de teste, deve seguir os seguintes passos: Consultar o saldo da conta de origem; Consultar dados da conta destino; Transferir um valor da conta origem para conta destino; Consultar novamente o saldo da conta origem, verificando que o saldo inicial menos o valor transferido igual ao saldo atual; Etc. deste cenrio de teste podemos destacar diversos casos de testes: CT01 Preenchimento dos campos obrigatrio na tela de transferncia; CT02 Validao de CPF; CT03 Conta Destino invlida (se for possvel); CT04 Transferncia de valores negativos e muitos outros.

Dentro

106

Caso prtico

Um Sistema web com os seguintes requisitos no-funcionais: Deve operar em diferentes Browsers - Internet Explorer 5.0, 5.5, e 6.0, Netscape 6.0 e 7.0, Mozilla 1.1, firefox e Opera 7; Deve poder usar diferentes plugins - RealPlayer, MediaPlayer, no usar nenhum; Rodar em diferentes sistemas operacionais nas mquinas clientes - Windows 95, 98, ME, NT, 2000, e XP; Deve receber pginas por diferentes servidores IIS, WebLogic e Apache. Deve rodar em diferentes servidores Windows 2000, NT e Linux.

107

Caso de teste
Introduo (uma por documento) Identificador do documento Escopo Referncias (itens de teste) Contexto Notas para descrio Detalhes (um por caso de teste) Identificador do caso de teste Objetivos Especificaes de entrada Especificaes de sada Necessidades de ambiente Requisitos ou procedimentos especiais Dependncias entre casos de teste Global Glossrio Procedimentos de alteraes do documento e histrico de alteraes
Referncias (Itens de teste) Requisitos Projeto de teste e features Guia do usurio Guia operacional Guia de instalao Etc.

108

O teste da caneta esferogrfica Casos de Teste

109

Exemplo de Casos de Teste

110

Exemplo de Casos de Teste

Cenrios de Teste Caso de Teste - CT01 01Teste Campo Obrigatrio Pr-condies: Ps-condies: No se Aplica Mensagem de Erro do Sistema *PA: O Ator no informa o login e a senha. E1 PA: O ator seleciona a opo OK. **PS:: O Sistema verifica se os campos obrigatrios foram informados PS: O sistema apresenta a mensagem O(s) Campo(s) << campo>> deve(m) ser informado(s). e retorna ao passo anterior No se Aplica No se Aplica Sistema Operacional Cliente Windows 2000, Browser Internet Explorer 6.0, Servidor de Aplicao IIS e SO Windows 2000. Manual

Detalhamento:

Massa de entrada e de Sada: Critrios especiais: Ambiente: Implementao:

Iterao:
Interdependncias:

1 Iterao
No se Aplica

* PA - Passo do Ator ** PS - Passo do Sistema

111

Exemplo de Elaborao de Casos de teste


Especificao do Sistema: O sistema apresenta os seguintes campos: Login e Senha RN01 O sistema apresenta as seguintes opes: OK e Limpar Caso o ator selecione a opo Limpar O sistema limpa os campos Login e Senha Caso o ator selecione a opo OK O sistema valida o preenchimento dos campos obrigatrios Login e Senha E1, RN02 O sistema valida o contedo dos campos Login e Senha E2, E3 Fluxos de excees E1 Campos Obrigatrios Caso um dos dois ou os dois campos Login e Senha no tenham sido preenchidos O sistema apresenta a mensagem O(s) Campo(s) << campo>> deve(m) ser informado(s). e retorna ao passo anterior. E2 Validao Usurio e Senha O sistema apresenta a mensagem "O login ou senha informados no so vlidos " e retorna ao passo anterior E3. Usurio Bloqueado. O sistema verifica que o usurio est bloqueado, e exibe uma mensagem com o texto descrito acima e retorna ao passo anterior.

Regra de Negcio RN01 Regra de Tamanho O Campo Login deve conter no mximo 10 Caracteres alfanumricos, no podendo aceitar caracteres especiais tais como: !; @; #; $; %; ; ;& ; *; ( ; ) ; +; = O Campo Senha deve estar protegido para identificao na digitao com o # como mascar e deve conter no mximo 8 Caracteres alfanumricos no podendo aceitar caracteres especiais tais como: !; @; #; $; %; ; ;& ; *; ( ; ) ; +; = RN02 Regra de Bloqueio Aps a terceira tentativa de acesso de um login onde a senha estiver incorreta o sistema bloqueia o acesso deste login ao sistema. Regra de Usabilidade: US01 Formatao dos Campos O sistema no deve diferenciar caracteres minsculos de maisculos para o campo Login (case insensitive), mais 112 para o campo senha deve ser diferenciado (case sensitive).

Quantos casos de teste seriam necessrios para testar esta funcionalidade ou requisito?

Quanto tempo voc estima que precisaria para testar este requisito?
113

Resposta dada por um especialista


Quantos casos de teste seriam necessrios?
Entre 20 e 30 casos de teste

Quanto tempo seriam gasto na elaborao e na execuo de cada caso de teste?


Elaborao 3 minutos (45%) Execuo 4 minutos (55%)
114

Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

115

Principais Documentos dos Projetos de Teste (IEEE 829:2008)


Plano Master de Teste Plano de Teste Projeto de Teste Roteiro/Procedimento de Teste Caso de Teste

Relatrio Relatrio Relatrio Relatrio

de Anomalias (Incidentes / Defeitos) de Estado de Encerramento / Sumrio Master


116

Vamos pensar um pouco. O que eu preciso para comear a executar os testes? Lembrese do Plano de Teste

117

Caso real - exemplo


Macro-atividade: Executar Testes Executar casos de teste e/ou scripts automticos, que foram definidos para cada iterao, bem como executar testes especficos, como teste de desempenho e outros. Na ocorrncia de alteraes das especificaes ou do cdigo, durante ou posteriormente a esta atividade, verificado se estas alteraes afetam tambm os casos de teste/scripts. Caso isto tenha ocorrido e a execuo j tenha sido iniciada, ser planejado um novo ciclo de teste ou teste de regresso. Antes de executar os casos de teste devem ser definidos os responsveis pela sua execuo. Atividade: Atividade: Atividade : Atividade: Atividade: Executar Casos de Teste Executar Scripts de Teste Gerar Resultados (logs) de Teste Acompanhar Defeitos Executar Testes Especiais

118

Automao do Teste
Custo / Esforo
Cem Kaner estima que leva entre 3 a 10 vezes mais para criar , verificar e documentar teste automtico do que criar e executar o mesmo teste manualmente. (Kaner, Improving the Maintainability of Automated Test Suites , p. 2.) A Especialista em teste automatico Linda Hayes estima que gasta 5 a 10 vezes do tempo com teste automtico em relao ao teste manual. (Hayes, Does Test Automation Save Time and Money? StickyMinds.com, August 8, 2001.)

119

Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

120

Exemplo de um caso real

Macro-Atividade: Gerenciar Defeitos

Registrar e acompanhar a correo dos defeitos, decorrentes da execuo dos testes. Se for identificado que o defeito persiste, aps o re-teste, a correo rejeitada, caso contrrio ela aprovada. Defeitos podem ser identificados durante ciclo de desenvolvimento, durante a execuo do teste de aceite, no ambiente de homologao ou aps a entrega do sistema (ambiente de produo). Em todos os casos, utilizado um workflow para acompanhar todo o ciclo de vida do defeito.
Atividade: Atividade: Atividade: Atividade: Cadastrar Defeitos Executar Re-Teste Rejeitar Correes Aprovar Correes

121

Principais Documentos dos Projetos de Teste (IEEE 829:2008)


Plano Master de Teste Plano de Teste Projeto de Teste Roteiro/Procedimento de Teste Caso de Teste

Relatrio Relatrio Relatrio Relatrio

de Anomalias (Incidentes / Defeitos) de Estado de Encerramento / Sumrio Master


122

Gerenciar Defeito
Gerenciar Defeitos

123

Gerenciar Defeito Ferramenta de Workflow


Workflow do Defeito

DevTrack

ClearQuest
124

Relatrio de Incidentes

O Relatrio de Incidentes (defeitos) o documento bsico onde a equipe de testes relata os defeitos encontrados (programa e documentao) e normalmente deve ser encaminhado equipe de desenvolvimento para as providncias pertinentes.

125

Voc est testando o site da Amazon. A funcionalidade testada a compra atravs de cartes de crdito. Ao clicar na etapa de definir a forma de pagamento e indicar a bandeira do carto o site trava e congela. A sequencia de teste logicamente foi interrompida pois voc no pode mais continuar testando a compra. Como voc relataria este incidente.

126

Relatrio de Incidentes IEEE 829


Introduo Identificador Escopo Referncias Detalhes Sumrio Data da anomalia Contexto Descrio da anomalia Descrio da execuo (identificar o que foi executado) Resultados (mensagens, requisies operacionais, etc) Informaes sobre o ambiente Eventos anormais (conexo com o Relatrio de Anomalias) Qualquer situao que causou a interrupo do teste. Impacto Estimativa de urgncia Descrio das aes corretivas Estado da anomalia Concluses e recomendaes Geral Procedimentos de alteraes do documento e histrico de alteraes

127

Exemplo da Ferramenta DevTrack

128

Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

129

Principais Documentos dos Projetos de Teste (IEEE 829:2008)


Plano Master de Teste Plano de Teste Projeto de Teste Roteiro/Procedimento de Teste Caso de Teste

Relatrio Relatrio Relatrio Relatrio

de Anomalias (Incidentes / Defeitos) de Estado de Encerramento / Sumrio Master


130

Exemplo de um caso real


Macro-Atividade: Analisar Resultados Ao encerramento do projeto de teste conforme as regras definidas no Plano de Teste devem ser elaborados os artefatos de concluso. Atividade: Gerar Resultados dos Testes Descrio: Ao final do projeto deve ser elaborado um Relatrio de Sumrio contemplando todas as informaes relevantes coletadas durante o seu decorrer, assim como problemas ocorridos e no conformidades encontradas. Os indicadores fornecidos pelo projeto devem ser catalogados como histrico para uso em processos de planejamento e de estimativas. Responsveis: LP Participantes: AT, TE Artefatos: Plano de Teste, Relatrio de Sumrio de Teste Ferramentas: Testlink

131

Analisar Resultado - ATIVIDADES


Planejar Analisar Testes Resultados
Analisar Resultados (logs) Gerar resultados dos testes

132

Analisar Resultado - Medio


Planejar Analisar Testes Resultados Objetivo
Indicar a qualidade do produto Avaliar a produtividade do processo Realimentar dados para estimativa Realimentar dados para a estratgia organizacional

Se voc no sabe onde voc est, um mapa no vai ajudar!


Roger Pressman

133

Relatrio de Sumrio
Introduo Identificador Escopo Referncias Detalhes Viso geral dos resultados do teste Resultados detalhados do teste Racional das decises Concluses e recomendaes Geral Glossrio Procedimentos de alteraes do documento e histrico de alteraes
134

A Viso da norma ISO/IEC - 29119

135

Responsveis pela execuo do processo Gerente de Projeto Lder de Projeto de Teste Analista de Teste Analista de Requisitos Testador Arquiteto de Teste GP LP AT AS TE AR

136

Processos multicamadas de teste


Processo organizacional de teste

Estratgica

Gerencial

Processos de gerncia de teste

Operacional

Processos de teste dinmico

137

Processos multicamadas de teste


com todos os processos

Processo organizacional de teste


Processos de gerncia de teste
Planejamento de teste Monitoramento e controle de teste Trmino de teste

Processos de teste dinmico Desenho e implementao do teste Configurao do ambiente de teste Registro de incidente de teste Execuo do teste

138

29119-3
Poltica Organizacional de Teste Estratgia Organizacional de Teste Plano de Teste Relatrio de Estado do Teste Relatrio de Trmino do Teste Relatrio de incidente (ver teste dinmico) Lista de itens de ao Relatrio de teste esttico Especificao de teste Especificao de desenho de teste Especificao de caso de teste Especificao de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatrio de situao de ambiente de teste Conseqncias (gerados por CT) do teste Resultados (se o CT passou ou no) do teste Log de execuo do teste Relatrio de incidente

IEEE 829-2008
Plano Mster de Teste Plano de Teste Desenho (Projeto) de Teste de Aceitao, Sistema, Integrao e Unitrio Casos de Teste de Aceitao, Sistema, Integrao e Unitrio Procedimentos de Teste de Aceitao, Sistema, Integrao e Unitrio Relatrios de Execuo dos Testes Relatrio de Estado de Teste Relatrio de Teste (sumrio) Relatrio de Log de Teste Relatrio de Anomalias (ex-Relatrio de Incidentes)

Relatrio Mster de Teste


139

29119-3
Poltica Organizacional de Teste Estratgia Organizacional de Teste Plano de Teste Relatrio de Estado do Teste Relatrio de Trmino do Teste Relatrio de incidente (ver teste dinmico) Lista de itens de ao Relatrio de teste esttico Especificao de teste Especificao de desenho de teste Especificao de caso de teste Especificao de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatrio de situao de ambiente de teste Conseqncias (gerados por CT) do teste Resultados (se o CT passou ou no) do teste Log de execuo do teste Relatrio de incidente

IEEE 829-2008
Plano Mster de Teste Plano de Teste Desenho (Projeto) de Teste de Aceitao, Sistema, Integrao e Unitrio Casos de Teste de Aceitao, Sistema, Integrao e Unitrio Procedimentos de Teste de Aceitao, Sistema, Integrao e Unitrio Relatrios de Execuo dos Testes Relatrio de Estado de Teste Relatrio de Teste (sumrio) Relatrio de Log de Teste Relatrio de Anomalias (ex-Relatrio de Incidentes)

Relatrio Mster de Teste


140

Processo convencional em relao aos processos da norma

Processos de gerncia de teste


Processos de teste dinmico
Planejar Testes Projetar Testes Executar Testes Analisar Resultados

Gerenciar Defeitos

O que faltou? Processo de teste organizacional Processo de gerncia de teste Monitoramento e Controle de Teste Processos de teste dinmico Configurao do ambiente de teste
141

Relatrio de Estado
Relatrio emitido durante o andamento do projeto, conforme definido no Plano de Teste (Plano de Comunicao), que demonstra o andamento do projeto, especificamente se ele est seguindo o que foi planejado ou se precisa de alguma correo. Por exemplo, pode conter uma lista de casos de teste j executados, estatsticas de defeitos encontrados por casos de teste ou tipos de defeitos, comparao entre o previsto e o realizado, etc.

142

Atividades Executadas no Teste



Participao na reviso da documentao de desenvolvimento; Elaborao da lista de requisitos de teste usando os requisitos do sistema; Elaborao do Planejamento dos Testes (Plano de Testes com a Estratgia de Testes); Preparao do ambiente de testes Elaborao dos Casos de Teste; Preparao da massa de teste; Execuo dos testes (programas e scripts); Registro dos defeitos encontrados; Documentao dos resultados do teste; Reviso dos resultados do teste; Manuteno da documentao de testes (bibliotecas de casos de testes, etc.)

Fonte: Ftima Mattos, Eficcia no Teste de Sistemas


143

O que mais podemos fazer para melhorar os nossos testes?

144

Em que precisamos pensar para iniciar corretamente o teste da caneta? E o site na internet do RicoSurf?

145

Como melhorar os testes?


Escolher um (ou mais) processos de testes adequada e
integrada ao processo de desenvolvimento (j vimos)
Estruturar uma rea orientada para testes e com pessoal capacitado ( veja Ambiente de Teste) Utilizar um ambiente de testes adequado Utilizar ferramentas de automao dos testes (se for o caso)

Utilizar regras de medio do projeto de testes


Utilizar mecanismos de aferio do nvel de maturidade do processo de testes visando conseguir melhorias contnuas Usar tcnicas de gerncia de projetos (PMI)
146

Recursos Humanos
Lder do Projeto de Testes LT Tcnico responsvel pela liderana de um projeto de teste

Arquiteto de Teste AT
Analista de Teste AN Testador TE

o tcnico responsvel pela montagem da infra-estrutura de teste


o tcnico responsvel pela modelagem e elaborao dos casos de teste e pelos scripts de teste Tcnico responsvel pela execuo dos casos de teste e scripts de teste

Ateno: As terminologias usadas para identificar os tcnicos da rea de testes podem variar entre organizaes. Alm disso em algumas empresas um nico tcnico pode representar 147 diversos papis.

Preparao do Ambiente
Atributos
Escopo Equipe Volume de dados Origem dos dados Interfaces

NVEL
Unitrio
Unidade Individual Desenvolvedores Pequeno

Integrao
Unidades agrupadas Desenvolvedores e Testadores Pequeno

Sistema
Sistema Inteiro Testadores Grande Criao por processos Simuladas

Aceitao
Simulao da Produo Testadores e Usurios Grande

Criao Manual
No existem

Criao Manual
No existem

Dados Reais
Reais/Simuladas

Ambiente

Desenvolvimento

Desenvolvimento

Teste

Produo

148

Prticas do Processo de teste


Metodologia de teste Ciclo de vida Nvel de envolvimento Estimativas e planejamento Tcnicas de especificao de teste Tcnicas de teste esttico Mtricas Ferramentas de teste Ambiente de teste Ambiente de escritrio Motivao e comprometimento Funes e treinamento da equipe Metodologia Comunicao Relatrios Gerncia de defeitos Gerncia de testware Gerncia do processo de teste Avaliao Teste estruturais, tais como teste de segurana, teste de carga, etc.
149

Estrutura Organizacional

Gerncia de TI

Gerncia de Teste

Gerncia de Projeto A

Gerncia de Projeto n

Estruturas organizacionais dependem muito da forma de atuar da empresa, logo podem variar entre uma e outra instituio. O importante preservar a filosofia de atuao da equipe de testes.

150

Momento da Preparao
O ambiente de teste pode ser preparado em 2 momentos:
Estratgia de teste Plano de teste

151

Reviso
O que compe o ambiente de teste?

152

O teste da caneta esferogrfica Ambiente de Teste

153

Como melhorar os testes?


Escolher uma metodologia de testes adequada e integrada ao processo de desenvolvimento Estruturar uma rea orientada para testes e com pessoal capacitado Utilizar um ambiente de testes adequado Utilizar ferramentas de automao dos testes

Utilizar regras de medio do projeto de testes


Utilizar mecanismos de aferio do nvel de maturidade do processo de testes visando conseguir melhorias contnuas Usar tcnicas de gerncia de projetos (PMI)
154

Ciclo de Teste 1

Esforo despendido (horas) para testar Casos de Uso Simples Manual 6,0 Automat 10,07 Intermedirio Manual 12,0 Automat 23,01 Complexo Manual 16,0 Automat 29,64

2
3 4 5

12,0
18,0 24,0 30,0

10,37
10,67 10,97 11,27

24,0
36,0 48,0 60,0

23,41
23,81 24,21 24,61

32,0
48,0 64,0 80,0

30,32
31,00 31,68 32,36

Fonte: Instituto Atlntico Fortaleza CE - 2006

155

Consideraes sobre automao para testar casos de uso (ver adiante):


Casos de uso simples poucas transaes de interaes com os usurios e/ou regras de negcio simplrias Casos de uso intermedirios poucas regras de negcio e uma forte interao do usurio com a aplicao, por meio de operaes do tipo CRUD (Create, Read, Update e Delete) Casos de uso complexos incorporam regras de negcio especficas do domnio da aplicao
[Liane R. P. Bandeira Qualidade do Produto a partir de Automao de Casos de Teste Universidade Estadual do Cear 2005]

156

Quando se deve pensar em automatizar testes?


Quando: Existirem fortes presses para melhorar a qualidade;

O projeto tiver situaes que no possam ser testadas adequadamente pelos mtodos tradicionais;
O perfil dos softwares desenvolvidos forem complexos e com impacto no negcio; Estudos de custo/benefcio justificarem o investimento;

O tamanho do projeto ou do ambiente de teste justificarem.


Obs.: Avaliar a possibilidade do uso de ferramentas abertas e livres

157

Consideraes para automao de testes


Ferramentas de mercado;
HP Rational Segue Empirix Mercury Test Complete Test Link Mantis ........

Software Livre

Lembre-se que existem ferramentas disponveis no mercado que podem ser utilizadas e que esto disponveis em sites da internet para serem baixadas.
Pequenos desenvolvedores no possuem recursos para comprar ferramentas caras.
158

159

160

Ferramenta livres para teste de carga em ambiente Web

161

Teste de Carga com a ferramenta DieselTest no site da ALATS

Mximo de 25 usurios
Tempo de carga

Script criado para o teste

Tempo de carga de cada pgina

Usurios logados

162

Teste de Carga com a ferramenta DieselTest no site da ALATS


Mximo de 50 usurios
Tempo de carga

Usurios logados

163

Estimativas Conceitos bsicos


O que se quer estimar? Tamanho Esforo Custo Prazo

164

Conceitos bsicos
TAMANHO

ESFORO

CUSTO

PRAZO

165

Estimativa e gerncia de projeto


Falta equipe quando planejado
Recursos desviados Requisitos retirados

Funcionalidades removidas

estimativa
Requisitos acrescentados Equipe menos experiente

PROJETO

Equipe atendendo outro projeto

Novos recursos acrescentados

166

Se voc no consegue medir s existe uma razo para voc acreditar que ainda tem o projeto sob o seu controle: otimismo histrico. Tom de Marco. No se pode gerenciar o que no se pode medir.

167

Mtricas usadas em projetos de teste de software

Anlise

de Ponto de Teste Ponto de Caso de Teste Complexidade de Requisitos Complexidade de Casos de Uso

168

Distribuio entre as etapas de teste


Preparao Especificao Execuo Transio 10% 40% 45% 5%
Cada ambiente tem os seus prprios nmeros

Para aqueles que querem um nmero mgico para estimativas rpidas sugerimos um valor entre 1 e 2 horas de teste por ponto de funo. No entanto cabe lembrar que so valores mdios de mercado e nem sempre correspondem a um projeto de teste especfico.
169

Estimativas de Capers Jones livro Estimating Software Costs

Cada estgio de testes poder remover 30% dos defeitos existentes. Um sistema com 100PF teria potencialmente 316 defeitos.
Neste caso, por exemplo, depois de 3 estgios de testes (TSU, TI e TS) ainda restaram 108 defeitos que iriam para os testes de aceitao com o usurio.

170

Boas mtricas devem permitir que o gerente possa responder as seguintes perguntas:
Por que os testes esto demorando tanto?
Por que os testes ainda no terminaram?
Quantos defeitos ainda podem ocorrer em produo? Quantos testes ainda sero necessrios?

Quando os testes terminaro?


Quando os testes comearo a ser feitos pela equipe de testes/ Qual a qualidade do sistema testado?

Quando o sistema poder entrar em produo?


Quantos defeitos foram encontrados e qual a sua classifao?
171

Outras mtricas Nmero de defeitos / tamanho do software


Nmero de defeitos / casos de teste Nmero de defeitos classificados por tipo, severidade, etc. Nmero de horas de teste (defeitos, casos de teste) por ponto de funo

Custo por defeito Etc.


172

Reviso
Quando eu termino um projeto de teste de software? No caso do teste da caneta qual seria esse momento? Quando eu suspendo um projeto de teste de software?

173

MPT.Br Melhoria do Processo de Teste Brasileiro

174

O que o modelo?
O MPT.Br um modelo que trata a melhoria do processo de teste atravs de melhores prticas. Objetivos: Tornar-se um modelo de referncia para definio, implantao e melhoria dos processos de teste; Abordar a melhoria contnua nos processos de teste conforme os objetivos organizacionais e nvel de maturidade almejado; Fornecer uma base para avaliao e consequente identificao do grau de maturidade presente nas organizacionais; e Reunir as melhores prticas e estrutur-las segundo o grau de complexidade versus o nvel de maturidade que a mesma estar relacionada.
175

Modelo de Gesto
SOFTEXRECIFE - Centro de Tecnologia de Software para Exportao do Recife, sociedadecivil sem fins l ucrativos, agente da Sociedade SOFTEX, que no Brasil possui mais de 1.000 empresas associadas. Sua misso articular, fomentar e apoiar aes direcionadas excelncia do setor de software em Pernambuco. RIOSOFT - fundada em 1993 a partir do Programa SOFTEX 2000, com a combinao de ideais da classe empresarial atuante em Tecnologia da Informao e a vontade poltica da Prefeitura da Cidade do Rio de Janeiro, contando tambm com o apoio do SEBRAE-RJ, da ASSESPRO-RJ e do SEPRORJ.

176

Referncias do Modelo
TMMi Test Maturity Model Integration (verso 3.1): desenvolvido para complementar o framework do CMMi; organizado em 5 nveis de maturidade;

As 5 reas de processo de qualidade abordam, dentre outros aspectos, o processo de testes e seu ciclo de vida, avaliao e controle da qualidade do produto;

ISO 29119
J vimos anteriormente
177

Estrutura do Modelo

Referencial Terico TMMI (verso 3.1) ISO 29119

Base de Conhecimento ISTQB/CSTE/CBTS MPS.BR CMMI

Conselho Consultivo Conselho Tcnico Unidade Executora Instituio Avaliadora Instituio Implementadora Implementador MPT.Br Avaliador MPT.Br

Modelo Gesto

Modelo de Referncia

Modelo de Avaliao

SCAMPI Modelo de Avaliao MPS.BR

178

Nveis de Maturidade
Automao e Otimizao Preveno de Defeitos
Controle Estatstico do Processo Otimizao do Processo de Teste Automao de Teste Gesto de Ferramentas Case Gesto de Defeitos Teste No Funcional Avaliao da Qualidade do Software Organizao do Teste (evoluo)

Definido

Organizao do Teste Medio e Anlise Teste esttico Treinamento Garantia da Qualidade Teste de Aceitao Fechamento de Teste Gerncia de Projeto de Teste (Evoluo) Projeto e Execuo do Teste (Evoluo)

Gerenciado Parcialmente Gerenciado

Gerncia de Requisitos de Teste Gerncia de Projeto de Teste (Evoluo) Projeto e Execuo do Teste (Evoluo)

Gerncia de Projeto de Teste Projeto e Execuo do Teste

179

Site do MPT.BR

180

www.mpt.org.br

Empresas que implementaram Empresas Avaliadas Data da Avaliao


BisaWeb Brisa Brisa Brisa Brisa Cartello DATASUS FTS LTDA GCF Sistemas LTDA In Forma Software LTDA Informata iTeste Partec Procenge LTDA WPD Informtica LTDA 20/12/11 13/03/12 13/03/12 26/07/12 15/05/12 14/02/12 17/03/10 04 e 05/04/11 15/05/12 12/11/10 10/05/12 22/11/11 29/11/10 30/11/10 12/11/10

Nvel

Estado
Nvel Nvel Nvel Nvel Nvel Nvel Nvel SE Nvel Nvel Nvel Nvel Nvel Nvel Nvel 1 2 1 1 2 1 1
1 1 1 2 1 1 1

PE BA RJ DF SP PE RJ
PE PE PE RJ PE PE PE
181

Nvel 1

Evoluo / Planejamento do MPT.Br

182

Ano 2010 2011

Nvel Nvel Nvel Nvel Nvel Total 1 2 3 4 5 5 2 1 5 3

2012 (*)
Total previsto 2013 (estimativa)

5
36

3
3

1
3

9
17 42

(*) At o final de 2012 uma empresa ser avaliada no nvel 1, uma no nvel 2 e uma no nvel 3 Um empresa do nivel 1 dever passar para o nivel 2.

Estrutura Organizacional
Comit Gestor
Softex Recife Riosoft (Agente Softex RJ)

Conselho Consultivo Conselho Tcnico Unidade executora Instituio Avaliadora Instituio Implementadora Implementador MPT

Quanto maior o nvel de maturidade tanto mais estvel ser o caminho dos projetos de teste de software

Estimativa boa
Boeing Company

Empresas com nveis altos de maturidade tendem a acertar mais nas estimativas

150

Erro na estimativa %

50

-50

-150 1 2 3 CMMI Level 4 5

185

Algumas atividades num projeto de teste de software


Participao na reviso da documentao de desenvolvimento; Elaborao da lista de requisitos de teste usando os requisitos do sistema; Elaborao do Planejamento dos Testes (Plano de Testes e Estratgia de Testes); Preparao do ambiente de testes Elaborao dos Casos de Teste; Preparao da massa de teste; Execuo dos testes (programas e scripts);
Registro / acompanhamento dos defeitos encontrados; Documentao dos resultados do teste; Reviso dos resultados do teste (indicadores); Manuteno da documentao de testes (bibliotecas de casos de testes, etc.)

186

Participao na reviso da documentao de Planejar desenvolvimento; Elaborao da lista de requisitos de teste usando os requisitos do sistema; Elaborao do Planejamento dos Testes (Plano de Testes e Estratgia de Testes); Especific Preparao do ambiente de testes ar Elaborao dos Casos de Teste; Gerenci Executa Preparao da massa de teste; ar r Execuo dos testes (programas e scripts); defeitos Registro / acompanhamento dos defeitos encontrados; Documentao dos resultados do teste; Encerrar Reviso dos resultados do teste (indicadores); 187 Manuteno da documentao de testes (bibliotecas de

Algumas atividades num projeto de teste de software

Reviso Geral

188

Primeira Empresa Brasileira com certificao Nvel 2

Quais so os nveis de teste?


Teste Teste Teste Teste Unitrio ou Teste de Componente de Integrao de Sistemas de Aceitao

Defina Teste Caixa Branca e Teste Caixa Preta?

189

Reviso
Quando os testes devem ser iniciados? R.: O quanto antes (na fase de planejamento) Quais os documentos que devem ser usados num processo bsico de teste de software? R.: Estratgia de Teste, Plano de Teste, Casos de Teste, Relatrio de Defeitos. Para que serve a Estratgia de Teste? R.: Riscos x testes. Caractersticas de qualidade x testes. Mdulos x testes. Definir as dimenses de teste que sero usada. Etc.

190

Reviso
O que compe o ambiente de teste?
Hardware Software Ferramentas de automao Pessoal Local de trabalho Etc.
191

Consideraes finais

192

Quadriltero endemoniado

Tempo

Funcionalidade

Qualidade

Quando aumentam as presses sobre o tempo e o dinheiro a tendncia reduzir os testes de funcionalidades e a qualidade dos testes

Dinheiro

Obs.: Demonic Quadrangle M.Pol, E. Veenendaal, R. Teunissen


193

Balana Perigosa

Oramento

Cobertura dos riscos

Se no fosse o oramento ( e o tempo) os testes poderiam eliminar todos os riscos


194

Bibliografia
Teste de Software, Editora Altabooks, 2a. Edio - Emerson Rios e Trayahu Moreira Anlise de Riscos em Projetos de Teste de Software, Editora Altabooks, Emerson Rios Software Testing, Addison Wesley, Martin Pol, Erik Van Veenendaal e outros. Managing the Testing Process, Microsoft Press, Rex Black Test Process Improvement, Addison Wesley, Martim Pol e Tim Koomen Qualidade de Software, Editora Prentice Hall, Ana Regina Cavalcanti da Rocha e outros. Base de Conhecimento em Teste de Software, Editora Martins Fontes, Aderson Bastos, Emerson Rios, Ricardo Cristalli, Trayahu Moreira. Garantia de Qualidade de Software, Editora Camus, Alexandre Barti. Documentao de Teste de Software Ed Imagem Art Studio 2a edio Emerson Rios Gerenciando Projetos de Teste de Software Ed Imagem Art Studio Emerson Rios, Ricardo Cristalli, Trayahu Moreira.
195

FIM
Um bom testador deve estar sempre aprendendo.

Emerson Rios emersonrios@iteste.com.br

196

You might also like