Buscar

03 teste exploratorio

Prévia do material em texto

Teste Exploratório
Prof. André Takeshi Endo
 
Teste Manual vs Teste Automatizado
● Teste automatizado
– Realizado por uma ferramenta e 
configurada/programada pelo testador
● Teste manual
– Projeto de casos de teste e execução 
executados manualmente pelo testador
 
Teste Manual
● Teste manual
– Scripted testing → teste “roteirizado”
– Teste exploratório
 
Teste Exploratório
● Cem Kaner define:
● “Exploratory software testing is a style of 
software testing that emphasizes the 
personal freedom and responsibility of the 
individual tester to continually optimize the 
value of her work by treating test-related 
learning, test design, test execution, and test 
result interpretation as mutually supportive 
activities that run in parallel throughout the 
project.”
 
Teste Exploratório
● Pode ser aplicado em qualquer nível, mas há 
uma ênfase em teste de sistema
● Projetos com baixa documentação
● Interagir com o software como quiser
● Usar a informação obtida para reagir
● Explorar as funcionalidades sem restrição
● Casos de teste são produzidos ao longo da 
atividade
● Ferramentas para gravação/captura de tela
Referência: [Whittaker09]
 
Teste Exploratório
● Visto como um loop
http://swtester.blogspot.com.br/2012/05/what-is-exploratory-testing.html 
Aprender
Projetar
o teste
Executar
o teste
Analisar
 
Teste Exploratório
● Casos de teste são produzidos ao longo da 
atividade
http://swtester.blogspot.com.br/2012/05/what-is-exploratory-testing.html 
 
Teste Exploratório
● A maioria das pessoas já realizaram testes 
exploratórios
● Para ser efetivo, é necessário preparo!
● Caso contrário, é como vagar por uma cidade 
legal sem um guia!
 
Teste Exploratório
● O teste é baseado em escolhas
– É necessário saber como variar!
● É preciso entender [Whittaker09]:
– Entradas de usuário
– Estado
– Caminhos no código
– Dados do usuário
– Ambiente
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Entradas de usuário
● Uma entrada é um estímulo do ambiente que 
faz o SUT reagir de alguma forma
● Selecionar um subconjunto de entradas
● Combinação e ordem das entradas
● Entradas válidas (legais) e inválidas (ilegais)
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Entradas de usuário
● Exemplo
 
Teste Exploratório
● Entradas de usuário
– Como desenvolvedores tratam erros?
● Filtros de entrada
– Não produz mensagens de erro
● Como testar
– Valores legais e ilegais foram corretamente 
filtrados?
– Consigo “atravessar” o filtro?
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Entradas de usuário
– Como desenvolvedores tratam erros?
● Checagem de entrada
– Gera mensagens de erro (validação 
codificada)
● Como testar
– Usar as mensagens de erro com dicas para 
possíveis testes
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Entradas de usuário
– Como desenvolvedores tratam erros?
● Tratamento de exceção
– Gera mensagens de erro (atravessa as 
checagem de entrada)
● Como testar
– Achou uma mensagem geral (exception), 
continue testando essa funcionalidade
● Entradas ilegais → mensagem de erro
● Entradas válidas → resultados normais
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Entradas de usuário
– Entradas normais ou especiais
– Valores default
– Usar as próprias saídas do SUT para guiar a 
seleção da entradas
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Estado
● Entradas podem ser “lembradas” pelo SUT
● O SUT armazena possui um estado
– Infinitas possibilidades de estado
● Estado é temporário ou permanente?
● Exemplo: 
– Carrinho de compra 
– Pilha com tamanho limitado
● Máquinas de estados (mais adiante!!)
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Caminhos no código
● Os programas são baseados em desvios e 
loops (caminhos)
● As entradas do usuário podem determinar 
desvios e iterações no loop
● Testador usar esse conhecimento
– Posso fazer o SUT ficar em loop infinito?
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Dados do usuário
● SUT possui um banco de dados
● Como testar?
– Usar dados fake (gerados)
– Usar um teste beta
– “importar” dados existentes
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Teste Exploratório
● Ambiente
● O ambiente onde o SUT vai ser instalado é 
uma entrada!
● Versão do SO, hardware, rede, etc
● Como testar?
– Identificar e testar possíveis ameaças
– Coletar o máximo de informação do 
ambiente
Referência: Cap. 3 – Exploratory testing in the small [Whittaker09]
 
Exercício
● Teste exploratório da ferramenta TestLink
● Use o checklist fornecido como apoio
● Objetivos de teste
1.Como organizar um time? 
2.Quais os tipos de usuários e suas permissões?
3.Como criar um projeto de teste?
4.Como adicionar/documentar um caso de teste?
5.Como registrar a execução de um caso de teste?
6.Como controlar diferentes versões do software?
 
Bibliografia
● [Whittaker09] J. A. Whittaker, “Exploratory Software Testing: Tips, Tricks, Tours, 
and Techniques to Guide Test Design”, 2009.
● [Pfleeger07] S. L. Pfleeger, “Engenharia de Software: Teoria e Prática”, 2007.
● [Pressman11] R. S. Pressman, “Engenharia de Software: uma abordagem 
profissional”, 2011.
● [Sommerville03] I. Sommerville, “Engenharia de Software”, 2003.
● [IEEE90] “IEEE Standard Glossary of Software Engineering Terminology”, 1990. 
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=159342
● [DMJ07] DELAMARO, Márcio Eduardo; MALDONADO, José Carlos; JINO, Mario. 
Introdução ao teste de software. Rio de Janeiro, RJ: Elsevier, 2007. 394 p. ISBN 
9788535226348.
● [Pezze08] PEZZÈ, Mauro; YOUNG, Michal. Teste e análise de software: processo, 
princípios e técnicas. Porto Alegre, RS: Bookman, 2008. 512 p. ISBN 
9780471455936.
● [Myers12] MYERS, Glenford J.; BADGETT, Tom; SANDLER, Corey. The art of 
software testing. 3rd ed. Hoboken, NJ.: John Wiley & Sons, c2012. xi, 240 p. ISBN 
978118031964.
 
Bibliografia
● [UUU] Materiais didáticos elaborados pelos grupos de engenharia de software do 
ICMC-USP, DC-UFSCAR e UTFPR-CP.
● Partes dessa apresentação foram adaptadas do material da profa. Ellen Francine e 
profa. Simone Souza.
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22

Continue navegando