Académique Documents
Professionnel Documents
Culture Documents
Leonardo Dias
Qualidade de Software FingerTips
Definir:
Processo de Teste
Planejamento de Teste Anlise de Requisitos de Teste (normalmente realizado em conjunto com o Planejamento de Teste) Implementao de Casos de Teste Execuo Anlise
Planejamento de Teste
Questes importantes:
Quem deve realizar os testes? O que testar? Que partes devem ser mais cuidadosamente testadas? (Anlise de Requisitos de Teste) Quanto teste adequado? Quando testar? Como o teste deve ser realizado?
Desenvolvedores
Testadores Independentes
Desenvolvedor:
Cdigo resultado de seu trabalho. Logo, procurar defeitos , de certo modo, a destruio do mesmo, e o prprio desenvolvedor no tem motivao psicolgica para projetar casos de teste que demonstrem que seu produto tem defeitos (dissonncia cognitiva).
Testador Independente:
Assume a perspectiva de teste. Pode representar papis distintos (testador de unidade, de integrao e de sistema). Se responsvel por todos os testes, em todas as fases, pode tornar o processo lento e pouco produtivo.
Compartilhamento de Responsabilidades:
Desenvolvedores testam unidades, muitas vezes em paralelo com a implementao das mesmas. Testadores independentes testam integrao e sistema.
Testadores independentes so responsveis pelo Planejamento, Anlise e Projeto de Casos de Teste Desenvolvedores so responsveis pela construo e execuo dos casos de teste.
O que testar?
No testar nada
Testar parcialmente
Testar tudo
O que testar?
Anlise de Requisitos de Teste: Quais as partes mais importantes? Quais as mais frgeis? Enfim, que partes devem ser mais cuidadosamente testadas? Exemplo - Teste de Unidade: testar todas as unidades? Testar unidades reutilizadas de outros projetos? Utilizar uma abordagem sistemtica para selecionar o subconjunto de componentes a ser testado.
O esforo de teste deve ser compensatrio, ou seja, deve haver um balanceamento entre tempo/custo do teste e a quantidade de defeitos encontrados. O nmero de defeitos encontrados segue uma curva logartmica, ou seja, embora ainda possam existir defeitos, o esforo para encontrlos passa a ser muito grande, fazendo com que a atividade de teste comece a ser percebida como muito custosa.
10
Quando testar?
Todo dia
Testar no final
11
Quando testar?
Teste como uma atividade do processo de software (testar no final) x Teste como um processo paralelo ao processo de desenvolvimento (teste todo dia) Revises e testes so atividades complementares. Planejar, analisar e projetar testes medida que o processo de desenvolvimento progride. Utilizar informaes do ciclo de vida (incrementos) e dos requisitos (casos de uso) para definir o cronograma de testes.
12
Quando testar?
Cronograma de teste
Teste de Unidade: depende da produo das unidades pelo processo de desenvolvimento. Teste de Integrao: depende do ciclo de vida (incrementos / iteraes) e da estrutura (subsistemas / casos de uso). Pode ser programado em intervalos especficos. Teste de Sistema: sua execuo deve ocorrer nas entregas e, portanto, depende do ciclo de vida.
13
Como testar?
14
Como testar?
Definir tcnicas de teste para cada fase (funcional, estrutural, baseado em modelos, baseado em defeitos).
15
Estimativas e Riscos
Como qualquer atividade de planejamento, planejar testes envolve a gerncia de riscos e a realizao de estimativas de esforo, recursos (pessoas, equipamentos, software), tempo e custo. Fatores que afetam as estimativas / riscos:
Software sendo testado: tipo de software, plataforma de implementao etc. Equipamentos e software requeridos para o teste Modelo organizacional (testadores x desenvolvedores) Nvel de Cobertura.
Plano de Testes
Como qualquer atividade de planejamento, um plano de testes deve ser elaborado, descrevendo o escopo, o processo de teste definido, os recursos alocados, estimativas, cronograma e riscos. Caracterstica especfica: deve ser organizado em funo dos itens e funcionalidades a serem testados. Exemplo de Modelo de Plano de Teste: Padro IEEE 829-1998.
17
Identificador nico para o plano de testes. Introduo Itens: identifica os itens a serem testado, incluindo verso Funcionalidades: identifica as funcionalidades que sero testadas ou no, bem como os motivos Processo: especifica as principais atividades, tcnicas e ferramentas Critrios de aceite: especifica os critrios de aceite para cada item
18
Suspenso: especifica os critrios para suspender parte ou todo o processo de teste Produtos: identifica os artefatos produzidos pelo processo de teste (planos, casos de teste, relatrios etc) Tarefas: detalhamento e dependncia entre as atividades Ambiente: identifica as necessidades do ambiente de teste (hardware e software) Responsabilidades: identifica os responsveis pelas atividades, pelo ambiente de teste e pelos itens de teste
19
Treinamento: especifica as necessidades de treinamento e identifica opes Cronograma Riscos: plano de riscos Aprovaes: especifica os nomes e cargos dos responsveis por aprovar o plano. Devem ser inclusos espaos para assinaturas e datas.
20
Fases de Teste
21