Professional Documents
Culture Documents
Ricardo Cristalli
Nivelamento do Conhecimento
Workbook Exerccio 01 Especificao informada: 1. Tamanho e Tipo do Campo: Login: AlfaNumrico 10 Caracteres Senha: Alfabtico 8 Caracteres 2. O boto Limpar deve limpar a tela 3. O Boto OK vai para o prximo Slide
Login WebCurso
Login:
Senha:
OK
Limpar
Exerccio: Com os dados acima: 1. Listar os Cenrios e os Casos de teste possveis 2. Caso tenha dvida na especificao lista-la 3. Listar os Tipos de Teste possveis
CLIENTE
PROJETO
Aprovao
Modelagem
Desenvolvimento
Especificao
Especificao Aprovada
Testabilidade
TEST CENTER
BD Testes
Resultados de Teste
Projetar Testes
Executar Testes
Analisar Resultados
Gerenciar Defeitos
Etapas de Suporte
Preparao
Produtos
Requisitos
Etapas de Realizao
Planejamento Especificao
Etapas de Suporte
Preparao
Produtos
Requisitos
Etapas de Realizao
Planejamento Especificao
Estratgia de Testes
Tipos de Testes Teste de volume Teste de funcionalidade Teste de Usabilidade Teste de Carga ....
Checklist
1. O Objetivo da especificao est de fcil entendimento? 2. Os Atores esto definidos? 3. Existem regras de navegabilidade em documentao Suplementar ou na prpria especificao?
Todos os campos que recuperam dados esto definidos quanto ao seu valor padro?
A seqncia lgica da especificao est bem descrita? Todas as Regras de Negcio esto citadas ? Todos os cenrios possveis esto descritos? Todas as opes (Botes) da tela principal esto descritas como fluxos?
Um relatrio conclusivo deve ser enviado ao responsvel pela elaborao da especificao. Informaes necessrias
Cliente Projeto Especificao Analisada Data da reviso Responsvel pela Anlise Responsvel pela especificao
Exerccio
Testabilidade
Relatrio de Testabilidade
Checklist
ANLISE
Anlise de Testabilidade
Especificaes suplementares
Descrevem requisitos no-funcionais: Confiabilidade Desempenho (performance) Segurana Distribuio Adequao a Padres Restries de Hardware e Especificaes Suplementares Software etc.
Requisitos no-funcionais
Devem ser testveis, para isso devem ser mensurveis! Precisam estar definidos em nmeros e nomes
O sistema precisa ser rpido. Quo rpido? O sistema deve ser implementado numa plataforma robusta. Que plataforma?
Processo de Teste
Projetar Testes
Executar Testes
Analisar Resultados
Gerenciar Defeitos
Identificar a verso do Caso de Uso (Label) Elaborar Casos de teste de entrega Elaborar Casos de teste completo Estruturar Scripts de teste Elaborar Plano de Teste de Aceite
PS: Importante o uso de templates tambm para esta atividade
Mudana de um Requisito
Requisito
Teste
Passos e Verificaes
Casos de Testes
Artefatos Gerados
Requisitos
Configuraes
Caso de Teste
Iterao
Implementao
Etapas de Suporte
Preparao
Produtos
Requisitos
Etapas de Realizao
Planejamento Especificao
Elaborao do Teste
Especificao de Caso de Teste Define os casos de teste, incluindo dados de entrada, resultados esperados, aes e condies gerais para a execuo do teste. Utilizaremos a nomenclatura de Plano de Caso de Teste para este documento gerado.
Especificao do Procedimento de Teste Identifica todos os passos necessrios para operar o sistema e exercitar os Casos de Testes especificados, de maneira a cobrir o Projeto de Teste planejado. Os procedimentos de testes formam um documento separado com a inteno de que seja seguido passo a passo, sem ocorrncias no previstas.
A Norma IEEE Std 829-1998 (IEEE Standard for Software Test Documentation) descreve um conjunto de documentos para as atividades de teste de um projeto de software.
Elaborao do Teste
Elaborao de Teste
Projetar Teste
Derivao do Caso de Teste
Cenrio de
Requisitos
Teste
Casos de Uso
Esse documento estabelece o que ser testado, sendo seu principal objetivo identificar o maior nmero de cenrios e variaes de determinado requisito de software. Cada cenrio ser representado por um conjunto de casos de testes que ser validado por uma lista de procedimentos incorporados em uma sute de testes que ser posteriormente elaborada. Os casos de teste estabelecem quais informaes sero empregadas durante os testes desses cenrios e quais sero os resultados esperados, estabelecendo a massa crtica de testes necessria para validar todos os requisitos do software.
* Nomenclatura utilizada pelo instrutor, normalmente este plano esta contido no plano de teste
Para a elaborao dos casos de teste a partir do requisito especificado deve-se considerar o seguinte:
Identificar todos os cenrios contidos nas especificao existente; Para cada cenrio, identificar um ou mais casos de teste; Para cada caso de teste, identificar condies de execuo; Adicionar os dados para as condies nos casos de teste.
Para a elaborao dos casos de teste a partir do requisito especificado deve-se considerar o seguinte:
Identificar todos os cenrios contidos nas especificao existente; Para cada cenrio, identificar um ou mais casos de teste; Para cada caso de teste, identificar condies de execuo; Adicionar os dados para as condies nos casos de teste.
Cenrio de Teste
Cenrio uma histria hipottica usada para ajudar as pessoas a solucionar um problema complexo, recriando ou visualizando um caminho a ser seguido. O termo Planejamento baseado em Cenrios ganhou popularidade nos planejamentos militares e passou a ser utilizado em vrias outras atividades que necessitavam de um planejamento detalhado. Um bom cenrio aquele que pode ser usado por qualquer pessoa.
Exemplo de Cenrio
Em um Caso de Uso de Transferncia Bancria, um dos cenrios a Transferncia DOC para conta de terceiros.
Dentro 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 CT04 Transferncia de valores negativos e muitos outros
Para a elaborao dos casos de teste a partir do requisito especificado deve-se considerar o seguinte:
Identificar todos os cenrios contidos nas especificao existente; Para cada cenrio, identificar um ou mais casos de teste; Para cada caso de teste, identificar condies de execuo; Adicionar os dados para as condies nos casos de teste.
Preencher o campo nmero de confirmao com um nmero invlido O Sistema apresenta uma mensagem
Um caso de teste composto por um conjunto de entradas, condies de execuo e os resultados esperados, tendo como objetivo verificar os requisitos especificados do sistema
Os casos de teste estabelecem quais informaes sero empregadas durante os testes dos cenrios e quais sero os resultados esperados, estabelecendo a massa crtica de teste necessria para validar todos os requisitos do software
Caso de Teste
Elaborao do Plano
Padres de Qualidade
O caso de teste deve caractersticas para que possa ser usado e que possa atender as expectativas de validao da qualidade: Efetivo Testar o que se planejou testar Econmico Sem passos desnecessrios Reutilizvel - Possa ser repetido Rastrevel Possa identificar o Requisito a ser testado Auto explicativo - Possa ser testado por qualquer testador
Considere as seguintes situaes: 1 Um Sistema web com os seguintes requisitos no-funcionais: Deve operar em diferentes Browsers Deve poder usar diferentes plug-ins Rodar em diferentes sistemas operacionais nas mquinas clientes Deve receber pginas por diferentes servidores Deve rodar em diferentes servidores
Testar o requisito funcional Manter Usurio O sistema deve: - incluir usurio - alterar usurio - excluir usurio
Exemplificando um cenrio:
- Funcionalidade Uma das funcionalidades Incluir usurio. - um dos Testes: Passo: Preencher a tela de usurio com seus campos obrigatrios e selecionar a opo incluir. Resultado esperado: Mensagem de Includo com sucesso. Ambiente de teste: Mquina cliente com sistema operacional windows 2000, utilizando o Internet explorer 6.0 como Browser, recebendo pginas de um servidor com IIS e ter um servidor de Websphere em Linux.
Para esta situao podemos considerar a possibilidade de criarmos 1296 diferentes combinaes de ambientes para cada cenrio de teste criado.
Testes exaustivos so impraticveis. Escolher bons casos de testes (dados de entrada e comportamento esperado) fundamental para que um teste seja bem sucedido, isto , detecte os erros existentes.
Os casos de testes so derivados da especificao funcional (p. ex., casos de uso), modelagem e/ou da Arquitetura; Cada caso de teste deve definir;
Um conjunto de dados de entrada dados de teste O comportamento esperado do sistema O critrio de aceitao
Testes caixa-preta baseado na especificao do sistema Testes caixa-branca (transparente) baseados na estrutura do programa
As tcnicas de especificao usam vrios princpios para a derivao dos casos de teste, alguns dos quais esto abaixo listados:
Processamento lgico;
Classes de equivalncia; Anlise de valores limtrofes; Uso operacional e semeadura de erros (situao real e simulao de erros); Inclui, altera, consulta e deleta (IACD); Outros mtodos de derivao (Ex. Complexidade Ciclomtica etc..).
Pergunte para voc mesmo: 1. Quanto tempo voc leve para documentar seu teste ? 2. Quanto tempo leva em reviso? 3. Quanto tempo leva corrigindo? 4. Quanto tempo leva corrigindo os casos de teste se o cliente alter-los depois que voc j elaborou?
Exerccio
Prottipo
Testes Caixa-Branca
Tcnica estrutural:
Teste de caixa branca Analisa a estrutura interna do software, testando os caminhos lgicos possveis de serem executados.
Teste de unidade
Cada componente testado em separado - definio de componente varivel classe (OO) mdulo procedimento ... Necessidade: spec por componente Frameworks: Junit, CppUnit
Teste Unitrio
Teste de integrao
Testa-se as interfaces entre os componentes necessita muita informao estrutural: arquitetura specs das interfaces
Teste de Sistema Teste propriamente dito: Execuo dos testes Relatrio de falhas
Testes Caixa-preta
So chamados testes funcionais. O programa uma caixa preta cujo comportamento determinado estudando-se as suas entradas e sadas. Os casos de testes so derivados da especificao funcional. A escolha dos dados de entrada podem ser feitas com vrias tcnicas: - Partio de domnio - Causa-efeito - Step-by-step
Devido ao elevado nmero de possibilidades, temos ento que encontrar um modo de escolher algum subconjunto suficientemente representativo para a nossa elaborao dos testes. A lista abaixo representa algumas dicas, iniciando das mais erradas a serem tomadas at as possveis.
No testar tudo, simplesmente desistir por causa do nmero elevado de combinaes; Testar todas as combinaes possveis (elevado custo e tempo); Escolher uma ou duas combinaes e torcer para ter sido uma boa escolha; Escolher o teste mais fcil, ignorando os mais usados e que agreguem mais valores; Fazer uma lista de todas as combinaes possveis e escolher as mais importantes; Fazer uma lista de todas as combinaes possveis e escolher subconjuntos randomicamente; Escolher um subconjunto que possa ser o mais provvel de se encontrar mais defeitos
Mudana de requisito
Manter-se sempre bem informado Rateabilidade Descobrir onde esto os maiores riscos de mudanas nos requisitos Construa seu caso de teste com variveis no meio do texto Re-utilizao Compartilhe a responsabilidade do retrabalho com a gerncia do projeto Identificar o documento que serviu de base para a elaborao
Rotatividade da Equipe de Teste Possuir sempre material de consulta a padres, templates e exemplos...
Treinamento
Gesto do processo
Ferramenta livre para para escrever Planos de Testes e Casos de Teste
Gesto do processo
Criao dos Cenrios Execuo dos Cenrios Analse Execuo Resultados
QADirector
Repositrio
IBM - RATIONAL
Comparativo
Requirements Analysis Plan & Design Code Debug, Tune, & Unit Test Functional, Regression, & System Test Performance Test Deploy & Manage
Passos e Verificaes
Casos de Testes
X-Zone
1
Gerao Automtica de Combinao de Testes para Interfaces Visuais; Reconhecimento Automtico de Objetos Windows e Browsers; Importao de Evidncias de Automao de Testes Convencionais; Padronizao dos Testes para sistemas Front-End, Batch e Transacionais; Integrao com plataforma Mainframe e Unix (via FTP); Automao de Testes parametrizadas por Analistas, eliminando o Automatizador; Analisador de Cdigo-Fonte para linguagens mais populares (VB, C++, Delphi, Java, dotNet);
X-Zone
Colombia
Brasil
Chile
Brasil
Mxico Brasil Brasil e Latin Amrica
TestManager
Caso deTeste
Test implementation
Test execution Test results analysis
Gerente de teste
Responsvel
Imprimir o design
Exerccio
Exerccio
Caso Prtico