Professional Documents
Culture Documents
Bibliografia
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
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
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
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
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
Processo de Teste
Projetar Testes
Executar Testes
Analisar Resultados
Requisitos
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
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
Ron Patton
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
Defeito ou Bug
25
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
Registro de incidentes
26
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
Registro de incidentes
27
Encontrar defeito
Reportar defeito
RELATRIOS DE GESTO
Fonte: Tmap Nexst for result driven test Tim Koomen e outros UTN Publishers
28
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
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
? 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
-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?
A=B
Mensagem de erro
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
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
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
52
53
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
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
Grande complexidade
Arquitetura frgil
Insuficincia de automao
Fonte: Capers Jones: Patterns of Software System Failure and Success
58
Custo do Defeito
60
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
Dcada de 60
Dcada de 70/80
Dcada de 90
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
1. 2. 3. 4. 5. 6. 7. 8.
Funcionalidade Performance Compatibilidade (inter-operabilidade) Usabilidade Confibilidade (maturidade, disponibilidade) Segurana Manutenibilidade Portabilidade
64
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
Interface
Carga e estresse
Compatibilidade
Performance
Segurana Etc.
Segurana
66
Reviso
67
Reviso
O que teste de software? O que erro, defeito (bug), incidente e anomalia?
68
Processos de Teste
69
70
71
Definindo projeto
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
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
77
Gerenciar Defeitos
78
Teste de Sistema
Teste de Integrao
Construo
Teste Unitrio
79
Teste
Desenvolvimento
Verificao
Especificao
P L A N E J A M E N T O
Execuo (1)
Teste Unitrio
Construo
Execuo (2)
Implantao
Teste de Aceitao
Entrega
Entrega
Teste
Desenvolvimento
80
Produtos
Requisitos
Etapas de Realizao
Planejamento Especificao
Planos de Teste
Planejamento Especificao
Casos de Teste
Execuo
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
84
Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados
Requisitos de Teste
Gerenciar Defeitos
85
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)
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
92
Artefatos Gerados
Checklist
ANLISE
93
Como seria uma estratgia de teste baseada nos riscos do produto ou negcio?
94
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.
96
97
98
Desta forma eu destaquei alguns tpicos bsicos para qualquer gerente poder entend-lo, qualquer que seja o seu nvel intelectual.
O meu Plano de Teste tem tantos campos que nenhum gerente vai ter a pacincia de l-lo.
99
Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados
Gerenciar Defeitos
101
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
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
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
109
110
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:
Iterao:
Interdependncias:
1 Iterao
No se Aplica
111
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
Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados
Gerenciar Defeitos
115
Vamos pensar um pouco. O que eu preciso para comear a executar os testes? Lembrese do Plano de Teste
117
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
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
Gerenciar Defeito
Gerenciar Defeitos
123
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
127
128
Processo de Teste
Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados
Gerenciar Defeitos
129
131
132
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
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
Estratgica
Gerencial
Operacional
137
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)
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)
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
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.)
144
Em que precisamos pensar para iniciar corretamente o teste da caneta? E o site na internet do RicoSurf?
145
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
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
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
153
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
155
156
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;
157
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
161
Mximo de 25 usurios
Tempo de carga
Usurios logados
162
Usurios logados
163
164
Conceitos bsicos
TAMANHO
ESFORO
CUSTO
PRAZO
165
Funcionalidades removidas
estimativa
Requisitos acrescentados Equipe menos experiente
PROJETO
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
Anlise
de Ponto de Teste Ponto de Caso de Teste Complexidade de Requisitos Complexidade de Casos de Uso
168
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
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?
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
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
Conselho Consultivo Conselho Tcnico Unidade Executora Instituio Avaliadora Instituio Implementadora Implementador MPT.Br Avaliador MPT.Br
Modelo Gesto
Modelo de Referncia
Modelo de Avaliao
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)
Gerncia de Requisitos de Teste Gerncia de Projeto de Teste (Evoluo) Projeto e Execuo do Teste (Evoluo)
179
Site do MPT.BR
180
www.mpt.org.br
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
182
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
185
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
Reviso Geral
188
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
Balana Perigosa
Oramento
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.
196