Você está na página 1de 49

Treinamento em

Fundamentos de Teste
de Software
O que Teste de Software?

o processo de exercitar o software para verificar se o mesmo satisfaz os


requisitos especificados e para detectar defeitos.
Por que testar software?

Humanos sempre comentem erros;


Por falta de experincia;
Presso referente a prazo, cansao ou desmotivao.
Informaes incorretas sobre o que fazer;
Falha na comunicao.
Prejuzos causados pelos erros:
Financeiro;
Imagem da empresa;
Danos fsicos.
Objetivos do Teste de Software

Encontrar defeitos;
prevenir defeitos;
ganhar confiabilidade;
Gerar informaes para tomada de deciso.
Definio de Erro, Defeito e Falha

Erro: causado por um erro humano que gera um resultado inesperado;


Defeito: a manifestao de um erro no software;
Falha: um desvio apresentado no software quando o mesmo est em
execuo.
Exerccios

1 - Descreva a diferena de Erro, Defeito e falha.


2 Quais os objetivos do teste de software?
7 Princpios do
Teste de
Software
Teste mostra a presena de defeitos

Mostra que defeitos esto presentes;


mas no pode provar a ausncia de defeitos;
Quando utilizado adequadamente reduz a probabilidade de existncia
de defeitos no software.
Teste exaustivo impossvel

Testar todas as possibilidade de entradas e pr-condies torna-se


impossvel, por causa do nmero quase infinito.
O foco dos esforos de teste devem ser direcionados para rotinas com
maiores riscos.
Iniciar os teste o mais cedo possvel

Atividades de Teste devem ser iniciadas o mais cedo possvel quanto


mais tarde um bug encontrado maior ser seu custo de correo.
Aglomerao de Defeitos

A maioria dos defeitos encontram-se em um pequeno numero de


mdulos do sistema.
O foco dever ser proporcional ao numero de defeitos encontrados. Ou
seja, o foco menor nos mdulos em que poucos defeitos so
encontrados e maior em mdulos onde surgem a maioria dos defeitos.
Paradoxo de Pesticida

A eficcia dos teste diminuem quando os teste so executados


repetidamente.
Defeitos no detectados anteriormente continuam no software
Para que os testes no entre no Paradoxo de Pesticida so necessrias
mudanas continuas nos teste j criados e criao de novos testes.
Teste dependente do contexto

Testes so executados de acordo com o seu contexto. Por exemplo, os


testes desenvolvidos para a aplicao de segurana critica diferente
dos testes de um site de comercio eletrnico.
Iluso de ausncia de defeitos

Encontrar defeitos e corrigi-los no ajuda quando o software


desenvolvido no tem uma boa usabilidade, no satisfaz as necessidade
e expectativas do usurio.
Exerccio

1 Quais so os 7 princpios do teste de software?


2 - O que fazer para evitar o paradoxo de pesticida?
3 - Um software sem defeitos garantia de um software de qualidade?
4 Os testes realizados em um site de vendas de ingressos deve ser realizado
da mesma forma que um software de controle areo ? Por qu?
Processo de
Teste de
Software
Planejamento e Controle

Atividade de Planejamento:
Definir o Escopo do Projeto de teste;
Alocar recursos;
Definir a cobertura dos teste realizados;
Verificar necessidade de treinamento dos funcionrios;
Criar Cronograma de Atividades;
Levantar os ricos envolvidos no projeto.
Planejamento e Controle

Atividade de Controle:
Monitorar as atividades comparando com que foi planejado;
Gerao de mtricas;
Obter informaes durantes os testes;
Iniciar medidas corretivas sempre que preciso;
Tomar decises devido a alguma mudana no projeto;
Atualizar o planejamento de acordo com o feedback.
Analise e Modelagem

Analisar os requisitos de software;


Identificar as condies de teste;
Definir o que deve ser testado;
Projetar os casos de teste.
Criao e Execuo dos Testes

Condies e casos de teste lgicos so transformados em casos de teste


de concreto;
Criar e configurar o ambiente de teste para suportar a atividade de
execuo de teste;
Os testes so executados e registrados( reportar incidncias/bugs).
Avaliar critrios de sada e gerar
relatrios

o conjunto de condies especificas e genricas que permite que um


processo de teste seja finalizado.
Os critrios de sada so acordados entre as partes interessadas
Exemplo de critrios de sada: Quantidade de Casos de teste executados
com sucesso, nmero de defeitos que ainda no foram corrigidos e sua
criticidade.
Gerao de sumrio(resumo) dos testes para as partes interessados.
Fechamento das Atividades de Teste

Armazenar as experincias adquiridas durante o projeto e disponibilizar as


experincias para novos projetos. Informaes como:
resultados obtidos;
ndice de aceitao dos usurios;
situaes inesperadas e quais foram suas causas;
solicitaes de modificao em aberto e qual motivo de no ter sido
realizada.
Nveis e Tipos de Teste
Nveis de Teste
Teste de Componentes

Busca garantir que o cdigo escrito est de acordo com o especificado


e que o mesmo possa ser integrado corretamente com outras
partes/unidades do sistema.
aplicado na menor unidade do projeto de software. Como:
Classes( em POO) ;
Mtodos;
Objetos;
Mdulos.
Teste de Integrao

Teste que procura por defeitos nas interfaces que estejam entre
componentes do sistema.
Para iniciar os teste de integrao de sistema/componente necessrios
que os componentes estejam testados individualmente.
Teste de Sistema

Verifica se os requisitos funcionais e no funcionais esto de acordo com


o que foi especificado;
Ambiente de teste deve estar em total conformidade com o ambiente
de produo;
Em busca de defeitos, os teste so executados no sistema com todos os
seus componentes integrados.
Teste de Aceitao

O foco na perspectiva e no julgamento do cliente;


Tem como objetivo assegurar o usurio que o sistema ir funcionar
conforme definido no inicio do projeto;
O software poder ser aceito ou no aceito pelo cliente;
Realizado em um ambiente conforme o do cliente;
Podem surgir novos problemas.
Tipos de Teste
Teste Funcional

Tambm conhecido como teste de caixa preta ou especificao;


Teste baseia-se nos requisitos funcionais do sistema;
Tem como objetivo verificar se as especificaes foram atendidas.
Exemplos de teste funcional :
Substituio texto na minuta/livro;
calculo de um servio;
lanamento de selos(quantidade de selos, tipos de selos e valores).
Teste No funcional

Teste no funcional tem como objetivo verificar como o sistema


trabalha.
Busca verificar aspectos comportamentais do sistema.
Tipo de teste que pode ser executado em todos os nveis de teste
Exemplos de teste no funcionais: carga, estresse, performance,
usabilidade, confiabilidade, manutenibilidade, entre outros.
Teste Estrutural

Conhecido como teste de caixa branca. Tem como objetivo verificar as


declaraes e exercitar as condies das estruturas internas do cdigo.
Ferramentas de apoio so utilizadas para verificar a cobertura de cdigo
e elementos, tais como declaraes ou decises.
Utilizado principalmente para teste de componentes e integrao.
Teste Estrutural
Tcnicas de
Teste de
Software
Analise de valor Limite

Analise de valor limite uma tcnica de caixa preta baseada em valores


limites.
Os defeitos inseridos no software na maioria das vezes encontram-se nos
limites dos intervalos.
Valor limite pode ser representado como o valor mnimo e mximo de um
determinado intervalo.
Existem valores validos e invlidos para os limites de um intervalo.
Analise de valor Limite

Exemplo: Em um sistema existe o campo idade que permite a insero


de valores maior e igual a 18 anos e menor igual a 60 anos.
Para conseguir a cobertura de todas as parties so necessrios, 1 valor
mnimo invalido, 2 valores mnimos validos, 2 valores mximos validos e 1
valor mximo invalido.
Exerccio

Em um sistema desenvolvido para o RH de uma empresa, foram definidas as


seguintes condies para contratao de novos funcionrios:
Menor ou igual a 16 anos No contrata;
Maior que 16 e Menor que 18 anos Contrata em tempo parcial;
Entre 18 a 50 anos Contrata em perodo integral;
Maior que 50 anos - No contrata.
Analisando as informaes acima descreva os valores limites validos e
invlidos.
Classe de Equivalncia

Objetivos:

dividir os dados de entrada em varias parties de equivalncia


Cada membro de uma partio dever provocar o mesmo resultado
Casos de teste devero ser criado para cobrir todas as parties de
equivalncia pelo menos uma vez.
Essa tcnica tambm reduz a quantidade necessria de casos de teste
Classe de Equivalncia

Exemplo:
Um programa calcula o bnus para as compras do natal para os
funcionrios, dependendo do tempo de trabalho:
Mais de 3 anos de empresa = bnus 50%.
Mais de 5 anos de empresa = bnus 80%.
Mais de 8 anos de empresa = bnus de 100%.
Classe de Equivalncia

Representando as classes de equivalncia validas


Classe de Equivalncia

Representando as classes de equivalncias invalidas


Exerccio

Em uma concessionria de carros seminovos a comisso dos vendedores so


aplicadas da seguinte forma:
Venda mensal menor ou igual R$300.000,00 - comisso 3%;
Venda mensal maior que R$300.00,00 e menor que R$500.000,00 - comisso 5%;
Venda mensal maior ou igual R$500.000,00 - comisso 7%.

Dadas as condies, defina as classes que equivalncia validas e invalidas.


Tabela de Deciso

uma tcnica de teste de caixa preta muito eficaz, pois exercita o


software em condies muitas das vezes no pensada;
Dever ser utilizada quando o execuo do software depende de varias
condies logicas;
A tabela de deciso composta por Condies(Entradas) e
Aes/Resultado( Aes ou resultados que sero realizados).
Tabela de Deciso
Exerccio

Em uma loja de eletrodomsticos o percentual de desconto para os cliente


aplicado da seguinte forma:
Cliente a mais de 5 anos desconto 10%
Cliente possui carto de credito da loja - 3% desconto;
Compras acima de R$100,00 5% desconto.
Dadas as condies, crie uma tabela de deciso com todas a regras e
aes possveis.
Transio de Estado

Tcnica de criao de teste de caixa preta utilizada para executar


estados validos e invlidos do sistema.
Deve ser utilizada quando o comportamento do sistema ser afetado
pelo seu estado atual ou anterior.
Podem ser criados casos de teste para executar um sequencia de
estados validos, todos os estados, executar todas as transies, executar
apenas uma sequencia de transies ou executar todas as transies
invalidas.
Transio de Estado

Diferenciando estado, evento e ao


Estado: Continua at que algo externo acontece, que resulta em uma
transio de estado;
Evento: Ocorre instantaneamente ou em um perodo limitado;
Ao: Resposta do sistema durante a transio.
Transio de Estado
Exerccio

Analisando o diagrama de transio de estado, qual o caso de teste que


cobre o nmero mnimo de transaes vlidas para todos os estados?

a) SS-S1-S2-S4-S1-S3-ES
b) SS-S1-S2-S3-S4-ES
c) SS-S1-S2-S4-S1-S3-S4-S1-S3-ES
d) SS-S1-S4-S2-S1-S3-ES

Você também pode gostar