Vous êtes sur la page 1sur 34

Extrado de : PRESSMAN, Roger. Engenharia de Software.

Tcnicas de de Teste Teste de de Software Software


Objetivo
Objetivo : projetar testes que descubram sistematicamente diferentes classes de erros e faam-no com uma quantidade de tempo e esforo mnimos. A atividade de teste no pode mostrar a ausncia de falhas, ela s pode mostrar se defeitos de software esto presentes Se erros graves forem encontrados com regularidade a qualidade e a confiabilidade de software so suspeitas Se erros facilmente corrigveis forem encontrados a qualidade e a confiabilidade do software esto aceitveis ou os testes so inadequados para revelar erros graves. Se no for encontrado erro, a configurao de teste no foi suficientemente elaborada e erros esto escondidos no software

2/34

Tcnicas de de Teste Teste de de Software Software


Objetivo
1. A atividade de Teste o processo de executar um programa com a inteno de descobrir um erro 2. Um bom caso de teste aquele que tem uma elevada probabilidade de revelar um erro ainda no descoberto 3. Um teste bem-sucedido aquele que revela um erro ainda no descoberto

3/34

Tcnicas de de Teste Teste de de Software Software


Objetivo
Configurao de Software
- Especificao de Requisitos - Especificao de Projeto - Cdigo Fonte Avaliao

Resultados dos Testes

Erros Dados de Taxas de Erros

Atividades de Teste

Depurao

Resultados Esperados Configurao de Teste


- Plano e Procedimento de Teste - Ferramentas de Teste - Casos de Teste
Modelo de Confiabilidade

Confiabilidade Prevista

4/34

Tcnicas de de Teste Teste de de Software Software


Projeto de Casos de Teste
Mtodos de Projeto de Casos de Teste oferecem uma abordagem sistemtica ao teste e um mecanismo que ajuda a garantir a mais alta probabilidade de revelar erros no software com uma quantidade mnima de tempo e esforo.

Abordagens de Teste:

Caixa Branca

Caixa Preta

5/34

Tcnicas de de Teste Teste de de Software Software


Projeto de Casos de Teste
Teste de Caixa Preta refere-se aos testes que so realizados nas interfaces do software so usados para demonstrar 1. que as funes dos softwares so operacionais; 2. que a entrada adequadamente aceita e a sada corretamente produzida; 3. que a integridade das informaes externas mantida examina aspectos do sistema sem se preocupar muito com a estrutura lgica interna do software
6/34

Tcnicas de de Teste Teste de de Software Software


Projeto de Casos de Teste
Teste de Caixa Branca baseia-se num minuncioso exame dos detalhes procedimentais o estado do programa pode ser examinado em vrios pontos para determinar se o estado esperado ou estabelecido corresponde ao estado real so testados os caminhos lgicos atravs do software, fornecendo-se casos de teste que pem prova conjuntos especficos de condies e/ou laos

7/34

Tcnicas de de Teste Teste de de Software Software


Projeto de Casos de Teste
um teste de Caixa Branca efetuado de forma muito cuidadosa levaria a 100% de programas corretos?

Testes exaustivos apresentam certos problemas logsticos. Mesmo para pequenos programas, o nmero de caminhos lgicos possveis pode ser muito grande !!!

8/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca
Caixa Branca

um mtodo de projeto de casos de teste que usa a estrutura de controle do projeto procedimental para derivar casos de teste. Podem ser derivados casos de testes que: 1. Garantam que todos os caminhos independentes dentro de um mdulo tenham sido exercitados pelo menos uma vez 2. Exercitem todos as decises lgicas para valores falsos ou verdadeiros 3. Executem todos os laos em suas fronteiras e dentro de seus limites operacionais 4. Exercitem as estruturas de dados internas para garantir a sua validade
9/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Caixa Branca

O Mtodo de Caminho Bsico possibilita que o projetista do caso de teste derive uma medida de complexidade lgica de um projeto procedimental e use essa medida como guia para definir um conjunto bsico de caminhos de execuo GRAFO de Fluxo ou GRAFO de PROGRAMA: uma notao para representar o fluxo de controle. Cada construo estruturada tem um smbolo de grafo correspondente.

seqncia

se

se

enquanto

repetir at 10/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Caixa Branca

A estrutura Caso deve ser decomposta em estruturas Se


Estrutura CASE decomposta
1

Estrutura CASE

1 2

CC

Ns Predicativos
CC 2

11/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
GRAFO de Fluxo
Caixa Branca

1
2,3 6 7 9 10 11 8 4,5

Conjunto Bsico Caminho 1 : 1-11 Caminho 2 : 1-2-3-4-5-10-1-11 Caminho 3 : 1-2-3-6-8-9-10-1-11 Caminho 4 : 1-2-3-6-7-9-10-1-11

12/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Complexidade Ciclomtica uma mtrica de software que proporciona uma medida quantitativa da complexidade lgica de um programa. Quando usado no contexto do mtodo de teste de caminho bsico, o valor computado da complexidade ciclomtica define o nmero de caminhos independentes do conjunto bsico de um programa e oferece um limite mximo para o nmero de testes que deve ser realizado para garantir que todas as instrues sejam executadas pelo menos uma vez.
Caixa Branca

13/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Complexidade Ciclomtica computada numa das 3 formas seguintes: 1. O nmero de regies do grfico de fluxo 2. V(G) = E - N + 2 , onde E o nmero de ramos do grafo e N o nmero de ns do grafo de fluxo G 3. V(G) = P + 1 , onde P o nmero de ns predicativos (ns que contm uma condio) contido no grafo de fluxo G.
Caixa Branca

14/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
GRAFO de Fluxo
Caixa Branca

1
2,3 6 7 9 10 11 8 4,5

Complexidade Ciclomtica O grafo de fluxo tem 4 regies V(G) = 11 ramos - 9 ns + 2 = 4 V(G) = 3 ns predicativos +1 = 4 Complexidade Ciclomtica do grafo de fluxo igual a 4

15/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Derivando casos de testes - Passos do Mtodo 1. Usando o projeto ou o cdigo como base trace um grafos de fluxo correspondente
Procedimento MAIOR (A:Vetor; T:inteiro; var MAX: inteiro); variveis I,M : inteiro; Incio 1. M <- A[1]; 2. I <- 2; 3. Enquanto I < T faa 4. Se A[I] > M 5. Ento M <- A[I] 6. I <- I + 1 7. Seno I <- I + 1 8. FimSe 9. FimEnquanto 10. Max <- M Fim do Procedimento

Caixa Branca

1,2

3
4 7 8 9 10
16/34

5,6

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Derivando casos de testes - Passos do Mtodo 2. Determine a Complexidade Ciclomtrica do grafo de fluxo resultante Complexidade Ciclomtica O grafo de fluxo tem 3 regies V(G) = 10 ramos - 9 ns + 2 = 3 V(G) = 2 ns predicativos + 1 = 3 Complexidade Ciclomtica do grafo de fluxo igual a 3 7 8 9 10
17/34

Caixa Branca

1,2

3
4 5,6

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Derivando casos de testes - Passos do Mtodo 3. Determine um conjunto bsico de caminhos linearmente independentes Caminhos Caminho 1 : 1-2-3-10 Caminho 2 : 1-2-3-4-5-6-8-9-3-10 Caminho 3 : 1-2-3-4-7-8-9-3-10 7 8 9 10
18/34

Caixa Branca

1,2

3
4 5,6

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Branca - Teste de Caminho Bsico
Derivando casos de testes - Passos do Mtodo 4. Prepare os casos de teste que forcem a execuo de cada caminho no conjunto bsico
Procedimento MAIOR (A:Vetor; T:inteiro; var MAX: inteiro); variveis I,M : inteiro; Incio 1. M <- A[1]; 2. I <- 2; 3. Enquanto I < T faa 4. Se A[I] > M 5. Ento M <- A[I] 6. I <- I + 1 7. Seno I <- I + 1 8. FimSe 9. FimEnquanto 10. Max <- M Fim do Procedimento

Caixa Branca

Caminhos
Caminho 1 : 1-2-9-3-10 A = (1,3) - T = 0 Result : MAX = 1 Caminho 2 : 1-2-3-4-5-6-8-9-3-10 A = (1,3) - T = 2 Result : MAX = 3 Caminho 3 : 1-2-3-4-7-8-9-3-10 A = (3,1) - T = 2 Result : MAX = 3
19/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Preta
Caixa Preta

Concentra-se nos requisitos funcionais do software O teste de Caixa Preta procura descobrir erros nas seguintes categorias: 1. Funes incorretas ou ausentes

2. Erros de interface
3. Erros nas estruturas de dados ou no acesso a bancos de dados externos 4. Erros de desempenho 5. Erros de inicializao e trmino
20/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Preta
Caixa Preta

Testes so projetados para responder s seguintes perguntas: Como a validade funcional testada? Quais classes de entrada constituiro bons casos de teste? O sistema particularmente sensvel a certos valores de entrada? Como as fronteiras de uma classe de dados so isoladas? Quais ndices de dados e volumes de dados o sistema pode tolerar? Que efeito tero combinaes especficas de dados sobre operao do sistema?

21/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Preta
Particionamento de Equivalncia O Particionamento de Equivalncia um mtodo de teste de caixa preta que divide o domnio de entrada de um programa em classes de dados a partir das quais os casos de teste podem ser derivados. Uma classe de equivalncia representa um conjunto de estados vlidos ou invlidos para condies de entrada As classes de equivalncia podem ser definidas de acordo com as seguintes diretrizes:
Caixa Preta

1 - Se uma condio especificar um intervalo, uma classe de equivalncia vlida e duas classes de equivalncia invlidas so definidas
22/34

Tcnicas de de Teste Teste de de Software Software


Teste de Caixa Preta
Particionamento de Equivalncia As classes de equivalncia podem ser definidas de acordo com as seguintes diretrizes: 2 - Se uma condio especificar um valor especfico, uma classe de equivalncia vlida e duas classes de equivalncia invlidas so definidas 3 - Se uma condio especificar um membro de um conjunto, uma classe de equivalncia vlida e uma classe de equivalncia invlida so definidas 4 - Se uma condio de entrada for booleana, uma classe de equivalncia vlida e uma classe de equivalncia invlida so definidas
23/34

Caixa Preta

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
Validao x Verificao Validao: Corresponde avaliao da corretude do software em funo dos requisitos definidos. (Qualidade do Produto) Verificao: Corresponde avaliao da corretude do processo de construo do software. (Qualidade de Desenvolvimento)

24/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste*
1 - Testes de Cobertura de Instrues Confirmar se cada instruo de procedimento em um programa foi testada pelo menos uma vez. Podem ser usadas ferramentas automatizadas para relatar diversas condies de cobertura, como o grau em que cada instruo de procedimento do programa foi testado.

* Retirado

de : FOURNIER, Roger. Guia prtico para desenvolvimento e manuteno de sistemas estruturados. So Paulo:Makron Books, 1994.
25/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
2 - Testes de Cobertura de Desvios Confirmar se cada condio de desvio de uma instruo de deciso foi testada pelo menos uma vez. 3 - Testes de Cobertura de Loops Confirmar condies usadas para iniciar e encerrar um loop em um programa. 4 - Testes de Amostra de Valores Testar condies de entrada de um programa, fornecendo amostras de dados de teste que se encaixem em uma faixa de valores que seria esperada em uma situao normal. Esse tipo de teste usado quando no prtico cobrir todas as situaes possveis devido imensa quantidade de possibilidades. Esses testes so normalmente utilizados para verificar se o programa pode lidar com dados normais. 26/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
5 - Testes de Cobertura de Valores Limites Confirmar condies de entrada/sada de um programa, usando casos de teste compostos por valores mnimo, mximo e fora dos limites. 6 - Testes de Interface do Programa Confirmar as interfaces entre mdulos e entre funes de um programa. Verificando se os dados e os parmetros de controle so passados apropriadamente entre mdulos de um programa. 7- Testes de Gerenciamento de Arquivos Testar condies normais e anormais de gerenciamento de arquivos. Por exemplo, um arquivo vazio ou um arquivo que contenha somente um registro pode ser criado para verificar como o programa lida com essas situaes.
27/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
8 - Testes de Mensagens de Erro Para testar condies de erro conhecidas que devem ser gerenciadas pelo programa. A preciso e inteireza das mensagens de erro tambm podem ser verificadas enquanto o programa testado para determinar se ele pode lidar com transaes invlidas 9 - Testes de Propenso a Erros Testar o programa usando dados de teste invlidos ou com erros. Por exemplo, tipos de dados incompatveis com os campos de entrada. 10 - Testes de Volume Confirmar que o sistema no consegue lidar com o volume de dados especificado originalmente nos requisitos dos usurios. Testes de volume podem facilmente se tornar caros e complexos quando grandes arquivos esto envolvidos.

28/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
11 - Testes de Desempenho Confirmar que o sistema no opera de acordo com os requisitos de tempo de resposta, taxas de processamento e tempo de processamento/execuo previstos. 12 - Testes de Esforo Confirmar que o sistema no pode lidar com situaes inesperadas. Normalmente, esses testes so executados em sistemas on-line ou em sistemas de tempo real, onde volumes incomuns de dados podem subitamente fazer com que eles entrem em pane. 13 - Testes de Cpias de Segurana, Recuperao, Reorganizao e Reincio Confirmar que os procedimentos de cpia de segurana, recuperao, 29/34 reorganizao e reincio no falharo quando o sistema falhar em funo de falhas de hardware e software.

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
14 - Testes de Uso Confirmar que as interfaces homem-mquina do programa so fceis de entender e usar do ponto de vista das pessoas. As caractersticas ergonmicas de um sistema podem mudar em funo da pessoa que manipula o sistema. 15 - Testes de Documentao Demonstrar que o material de documentao dos usurios e de sistemas descreve adequadamente as condies de trabalho do sistema. 16 - Testes de Segurana

Demonstrar que o sistema no pode ser invadido, tentando contornar as medidas e recursos de segurana projetados para evitar isso.
30/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
17 - Testes de Procedimentos Manuais Demonstrar que os procedimentos manuais que coexistem com a parte automatizada no apresentam erros. 18 - Testes de Armazenamento Demonstrar que os requisitos de armazenamento de dados do sistema no foram plenamente satisfeitos. 19 - Testes de Compatibilidade Demonstrar que as configuraes de hardware/software/rede que sero usados no ambiente de produo no so totalmente compatveis no uso conjunto.
31/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
20 - Testes de Interface do Sistema Demonstrar que as conexes estabelecidas entre esse sistema e outros sistemas no funcionam adequadamente 21 - Testes de Controle Demonstrar que os recursos de controle embutidos no sistema no funcionam adequadamente. Por exemplo as trilhas de auditoria. 22 - Testes de Converso Demonstrar que os procedimentos manuais ou automatizados de converso no funcionam adequadamente.

23 - Testes de Dilogos de Telas


Demonstrar que os dilogos de telas do sistema no funcionam adequadamente ou so incompletos.
32/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
24 - Testes de Instabilidade Demonstrar que o sistema no pode ser instalado em diferentes localizaes geogrficas devido a defeitos identificados durante a instalao. 25 - Testes de Funes Demonstrar que as funes do sistema no correspondem s necessidades de negcio dos usurios. 26 - Testes de Manuteno Demonstrar que o sistema dificilmente ser mantido ou melhorado quando em produo. 27 - Testes de Recuperao de Desastres Demonstrar que os procedimentos para resolver uma eventual situao de recuperao de desastres no funcionam.
33/34

Tcnicas de de Teste Teste de de Software Software


Categorias de Casos de Teste
28 - Testes de Integridade Demonstrar que os valores de entrada do sistema causam algum tipo de falha de integridade no banco de dados. Exemplo falha na integridade relacional 29 - Testes de Acesso Demonstrar que o sistema no suporta mltiplos acessos .em um ambiente multi-usurio ou de acesso remoto.

34/34

Vous aimerez peut-être aussi