Buscar

Slide 7ª aula ao vivo - Projeto, Implementação e Teste de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Projeto, 
Implementação e 
Teste de Software
Aula de Hoje
Prof.ª Esp. Janaína Freitas
Aula de Hoje
Plano de Estudo:
• Técnicas de Testes de Software
• Automação de Teste de Software
Pré-requisitos:
• Unidades: IV e V
Projeto, Implementação e Teste de Software
Teste de Software
Prof.ª Esp. Janaína Freitas
Técnicas de Teste de Software
Existem diferentes formas de classificar testes:
• Considerando estratégia ou técnicas do teste
- Estruturais e funcionais
• Considerando características do sistema
- Comportamento e níveis 
Projeto, Implementação e Teste de Software
Técnicas de Teste de Software
Projeto, Implementação e Teste de Software
Estrutural
Funcional
Assegura a cobertura de 
toda a estrutura 
implementada
Assegura que os 
requisitos foram 
atendidos
Testes Funcionais – Caixa Preta
Projeto, Implementação e Teste de Software
Testes funcionais garantem que os requisitos foram 
atendidos, ou seja, que os requisitos estão corretamente 
codificados. São conhecidos como testes de Caixa Preta. 
Entrada de 
Dados
Resultados 
Gerados
(Saída)
Se o tipo de saída não ocorre, então houve uma situação de defeito.
Fonte: Autora
Testes Funcionais – Caixa Preta
Projeto, Implementação e Teste de Software
• Analisa funcionalidades de entrada e saída do sistema.
• Não analisa código.
Tipos de defeitos encontrados:
• Falhas de interface.
• Funções incorretas ou ausentes.
• Acesso ao banco de dados.
• Erros de desempenho.
• Erros de inicialização e término.
• Procura verificar se todas as funcionalidades previstas foram 
implementadas. 
Testes Estruturais – Caixa Branca
Projeto, Implementação e Teste de Software
Testes Estruturais garantem que os sistemas sejam 
estruturalmente sólidos e que funcionem no contexto técnico 
onde serão instalados. São conhecidos como testes de Caixa 
Branca.
Entrada de 
Dados
Resultados 
Gerados
(Saída)
Estruturas de condição/repetição
Fonte: Autora
Testes Estruturais – Caixa Branca
Projeto, Implementação e Teste de Software
Normalmente, os elementos de um sistema que podem ser 
testados são: 
• As linhas de comando; 
• As funções implementadas;
• As variáveis definidas no sistema;
• Os loops existentes no software como: 
• FOR, LOOP, WHILE, DO WHILE;
• Todos os ramos de uma decisão como:
• IF (aninhado), CASE;
• Requisitos de Software.
Testes Estruturais – Caixa Branca - Exemplo
Projeto, Implementação e Teste de Software
Programa que calcula o máximo divisor comum de dois inteiros. 
A estrutura de controle While possui dois caminhos possíveis, que 
sugerem dois possíveis casos de teste: 
• Um deles é para os valores de x=y e o outro é para valores de x≠y. 
• Primeiro caso: testa-se o programa para que o While não seja 
executado. Segundo caso: testa-se para que ele seja executado 
pelo menos uma vez.
Fonte: Autora
Testes Estruturais – Caixa Branca - Exemplo
Projeto, Implementação e Teste de Software
Continuação...
No corpo do While temos uma estrutura de controle de 
seleção (if ... then ... else):
Esta estrutura possibilita dois caminhos possíveis: 
• A expressão condicional desta estrutura sugere mais dois 
casos de teste para os dois caminhos. 
• É preciso escolher pelo menos um caso de teste no qual 
tenhamos x>y e outro no qual tenhamos x≤y. 
Fonte: Autora
Testes Estruturais – Caixa Branca - Exemplo
Projeto, Implementação e Teste de Software
Continuação....
Combinando todas as possibilidades podemos definir quatro 
casos de teste:
1. x=y e x>y
2. x=y e x≤y
3. x≠y e x>y, que pode ser reduzido x>y
4. x≠y e x≤y, que pode ser reduzido x<y
Testes Estruturais – Caixa Branca - Exemplo
Projeto, Implementação e Teste de Software
Continuação....
Que podem ser reduzidos a três casos:
1. x=y
2. x>y
3. x<y
Com isto, cobrimos todos os caminhos possíveis.
Técnicas de Testes de Software
Projeto, Implementação e Teste de Software
Fonte: Autora
Níveis de Testes de Software
Projeto, Implementação e Teste de Software
Fonte: Autora
• Teste de Unidade
• Teste de Integração
• Teste de Sistema
• Teste de Aceitação
• Teste de Regressão
Os testes devem ser executados em diferentes níveis, visando 
avaliar o sistema em diferentes perspectivas.
Os Níveis de Teste são:
Testes de Desempenho X Carga X Stress
Projeto, Implementação e Teste de Software
Teste de Desempenho: testa e mede o desempenho do sistema em 
uma situação normal de uso, como: tempo de espera entre as ações 
e transações, com base no cenário em produção. 
Teste de Carga: testa e mede a alteração no desempenho do 
sistema sob um volume maior de carga, um horário de pico por 
exemplo (uma carga máxima esperada que possa acontecer algum 
dia em produção). 
Teste de Estresse: busca descobrir qual é o ponto em que o sistema 
já não suportaria mais. Tentar causar falhas propositais no sistema 
usando contextos de condições extremas. 
Exemplo: dobrar o número de usuários, usar um servidor de base 
de dados com muito menos memória ou um servidor com uma CPU 
mais fraca.
Automação de Teste de Software
Projeto, Implementação e Teste de Software
Você confia na mensagem 
“A operação foi realizada com sucesso”?
Automação de Teste de Software
Projeto, Implementação e Teste de Software
Você confia na mensagem 
“A operação foi realizada com sucesso”?
• Infelizmente, bugs em software são coisas mais comum do 
que deveriam ser. 
• Bugs nos fazem perder a confiança do cliente e nos custam 
muito dinheiro. 
• Afinal, precisamos corrigir o bug e recuperar o tempo 
perdido do cliente, que ficou parado, enquanto o sistema 
não funcionava.
Automação de Teste de Software
Projeto, Implementação e Teste de Software
Por que nossos sistemas apresentam tantos bugs assim? 
• Um dos motivos para isso e a falta de testes, ou seja, 
testamos muito pouco! 
• Equipes de software geralmente não gostam de fazer (ou 
não fazem) os devidos testes. 
As razões para isso são:
• Prazo de entrega do software apertado.
• Demora e o alto custo para testar o software como um 
todo. 
E faz todo o sentido: pedir para um ser humano testar todo o 
sistema é impossível: ele vai levar muito tempo para isso!
Automação de Teste de Software
Como resolver esse problema? 
Projeto, Implementação e Teste de Software
Automação de Teste de Software
Como resolver esse problema? 
Fazendo a máquina testar! 
Projeto, Implementação e Teste de Software
Automação de Teste de Software
Projeto, Implementação e Teste de Software
Como resolver esse problema? 
Fazendo a máquina testar! 
• Escrevendo um programa que teste nosso programa de 
forma automática! 
• Uma máquina, com certeza, executaria o teste muito mais 
rápido do que uma pessoa! 
• Ela também não ficaria cansada ou cometeria erros!
Automação de Teste de Software
Projeto, Implementação e Teste de Software
• Um teste automatizado é muito parecido com um teste 
manual. 
• Imagine que você esta testando manualmente uma 
funcionalidade de cadastro de produtos em uma aplicação 
web. 
Você executaria três passos diferentes:
• Pensaria em um cenário para testar. 
• Após montar o cenário, executará a ação que quer testar.
• Por fim, verificaria se o sistema se comportou da maneira 
que esperava.
Automação de Teste de Software
Projeto, Implementação e Teste de Software
• Você sempre executa estes três passos: monta o cenário, 
executa a ação e valida a saída
Automação de testes é testar um sistema com outro 
sistema?
• São robôs ou scripts construídos para usar o sistema no 
lugar dos usuários. 
• São mais rápidos na execução dos testes
Automação de Teste de Software
Projeto,Implementação e Teste de Software
Tipos de Testes que podem ser automatizados
• Testes Unitários
• Testes Funcionais
• Teste de Carga e Desempenho
• Teste de Segurança
Outras validações e verificações:
• Inspeção automática de código fonte
Automação de Teste 
de Software
Projeto, Implementação e Teste de Software
Veja o código:
Automação de Teste de Software
Projeto, Implementação e Teste de Software
• O código exibido é automatizado
• A máquina monta o cenário, executa a ação e valida 
• Escrevemos o código, mas na hora de executar, é a 
máquina que executa!
• Não gastamos tempo nenhum para executar esse teste
Automação de Teste de Software
Projeto, Implementação e Teste de Software
• Exemplo de Script de teste: 
Automação de Teste de Software
Projeto, Implementação e Teste de Software
Automação de Teste de Software
Projeto, Implementação e Teste de Software
• Infelizmente testar todas as combinações é impossível
• E se tentarmos fazer isso (e escrevermos muitos testes) 
dificultamos a manutenção da bateria de testes 
• O ideal é escrevermos apenas um único teste para cada 
possível cenário diferente
De que forma isso é possível? 
• Aplicando as estratégias e técnicas de modelagem de teste 
de software
• Utilizando ferramentas para a automação de testes de 
software
Ferramentas de Teste de Software
Projeto, Implementação e Teste de Software
Website com diversas ferramentas de teste gratuitas: 
www.opensourcetesting.org
Ferramentas de Teste de Software OpenSource –
Gestão de Testes
Projeto, Implementação e Teste de Software
TestLink - http://www.teamst.org/ 
QaManager - http://qamanager.sourceforge.net/ 
rth - http://www.rth-is-quality.com 
TestMaster - http://testmaster.sourceforge.net/ 
Testitool - http://majordojo.com/testitool/ 
Test Case Web (TCW) - http://tcw.sourceforge.net/ 
Testopia - http://www.mozilla.org/projects/testopia/ 
Ferramentas de Teste de Software OpenSource –
Gestão de Defeitos
Projeto, Implementação e Teste de Software
Mantis - http://www.mantisbt.org/ 
Bugzilla - http://www.bugzilla.org/ 
Scarab - http://scarab.tigris.org/ 
BugNET - http://www.bugnetproject.com/ 
TRAC - http://trac.edgewall.org/ 
Redmine – http://www.redmine.org 
Ferramentas de Teste de Software OpenSource –
Testes Funcionais
Projeto, Implementação e Teste de Software
Selenium (WEB) - http://www.openqa.org/selenium/ 
actiWATE (WEB) - http://www.actiwate.com/ 
Marathon (Java Swing) - http://www.marathontesting.com/marathon/ 
Watir (WEB) - http://wtr.rubyforge.org/ 
Canoo WEBTest (WEB) - http://WEBtest.canoo.com/ 
Apodora (WEB) - http://www.apodora.org/ 
Abbot (Java Swing) - http://abbot.sourceforge.net 
SoapUI (WEBServices) - http://www.soapui.org/ 
SOAPSonar Personal Edition (WEBServices) -
http://www.crosschecknet.com/ Squish for KDE (Linux) -
http://www.froglogic.com 
SharpRobo (WinForm .NET) -
http://confluence.public.thoughtworks.org/display/SHRO/Home 
FitNesse - http://fitnesse.org/ 
Ferramentas de Teste de Software OpenSource –
Testes de Stress, Carga e Performance
Projeto, Implementação e Teste de Software
OpenSTA - http://www.opensta.org/ 
JMeter - http://jakarta.apache.org/jmeter/index.html 
Microsoft WEB Application Stress Tool -
http://www.microsoft.com/downloads/details.aspx?FamilyID=
e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en 
WEBLOAD - http://www.WEBload.org/ 
The Grinder - http://grinder.sourceforge.net/ 
Próxima aula: 
Unidade IV e V
• Documentação de Teste de Software
• Relatórios de Teste de Software 
Projeto, Implementação e Teste de Software

Outros materiais