Professional Documents
Culture Documents
Pressman
Teste de Software
a atividade de teste o processo de executar um programa com a inteno de descobrir um erro um bom caso de teste aquele que tem uma elevada probabilidade de revelar um erro ainda no descoberto um teste bem-sucedido aquele que revela um erro ainda no descoberto.
Teste de Software
Se realmente fossemos bons para programar no haveriam bugs. Se existem bugs, porque somos ruins naquilo que fazemos, e , se somos ruins nisso devemos sentir-nos culpados por isso. Assim, a atividade de teste e o projeto de casos de teste so uma admisso de falha, o que promove uma boa dose de culpa. O tdio de testar apenas uma punio por nossos erros.
Abordagens de Teste
para ser eficaz o teste deve ser cuidadosamente desenhado testes irreproduzveis ou improvisados devem ser evitados resultados devem ser inspecionados e comparados com os resultados esperados desenvolvedores no so as pessoas mais indicadas para testar seu prprio produto testadores independentes so importantes
Abordagens de Teste
testes so indicadores de qualidade do produto mais do que meios de deteco e correo de erros quanto maior o nmero de defeitos detectados maior o nmero de defeitos no detectados a ocorrncia de um nmero anormal de defeitos em uma bateria de testes indica uma provvel necessidade de redesenho dos itens testados
Abordagens de Teste
Teste de Caixa Preta (Black Box) Teste da Caixa Branca (White Box)
Abordagens de Teste
Teste de Caixa Preta: determina se os requisitos foram total ou parcialmente satisfeitos pelo produto
verifica apenas os resultados produzidos, no verifica como ocorre o processamento. demonstram que as funes dos softwares so operacionais, que a entrada adequadamente aceita e a sada corretamente produzida;
Abordagens de Teste
Teste de Caixa Branca: determina defeitos da estrutura interna do programa, atravs de testes que exercitem suficientemente os possveis caminhos de execuo.
So testados os caminhos lgicos atravs do software, fornecendo-se casos de teste que pem prova conjuntos especficos de condies e/ou laos.
Lao <= 20
GRAFO DE PROGRAMA: uma notao para representar o fluxo de controle. Cada construo estruturada tem um smbolo de grafo correspondente.
1 2 3 6 7 9 4 5 10
11
GRAFO DE PROGRAMA
Cada crculo denominado n representa uma ou mais instrues procedimentais os arcos de fluxo so denominados ramos um ramo deve terminar em um n as reas delimitadas pelos ramos e ns so chamadas de regies ns predicativos so os que contm uma condio
Complexidade Ciclomtica
uma mtrica de software que proporciona uma medida quantitativa da complexidade lgica de um programa.
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
Caminho Independente: Qualquer caminho atravs do programa que introduza pelo menos um novo conjunto de instrues de processamento ou uma nova condio.
Complexidade Ciclomtica
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.
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
Complexidade Ciclomtica
1) o grfico de fluxo tem 4 regies 2) V(G)=E-N+2 V(G)= 11 ramos - 9 ns + 2 = 4 3) V(G) = 3 ns predicativos + 1= 4 So preparados casos de teste que forcem a execuo de cada caminho observando valores a serem testados e resultados esperados
Exerccio
.Usando o projeto ou o cdigo como base trace um grafo de fluxo correspondente. .Determine a complexidade ciclomtica do grafo de fluxo resultante. .Determine um conjunto bsico de caminhos linearmente independentes. .Prepare os casos de teste que forcem a execuo de cada caminhos no conjunto bsico.
se as estruturas de dados do programa tiverem prescrito fronteiras (vetor de 100 entradas), certifique-se de projetar um caso de teste para a estrutura de dados em sua fronteira
Particionamento de Equivalncia
Divide o domnio de entrada de um programa em classes de dados a partir das quais os casos de teste podem ser derivados.
Procura deduzir uma classe de erros evitando um nmero maior de testes Em um programa de gesto de pessoal a idade do funcionrio varia de 15 a 80. A classe de equivalncia so todos os valores inteiros menores do que 15, valores inteiros entre 15 e 80, inclusive, e valores inteiros maiores do que 80. Para cada uma dessas classes qualquer valor tem potencialmente a mesma capacidade de encontrar erros sendo dispensvel a execuo de vrios teses para valores pertencentes a mesma classe.
Testes de Comparao
Quando necessrio comparar as sadas de diferentes verses de um sistema. Estes testes se aplicam quando: