Buscar

Aula03 Curso de Testes de Software NTI

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 42 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 42 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 42 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

Testes de Software
1
AU LA 0 3 – F E RRAMENTA S D E AUTOMAÇÃO D E T E S T E S
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Conteúdo Programático – Aula 03
2
� O que é automação de testes?
� Conceitos de automação de teste
� Ferramentas de Teste
� Principais dicas para automação
� Automação de testes de aceitação – EasyAccept e JUnit
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
� Automação de testes de aceitação – EasyAccept e JUnit
� Automação de testes de cobertura – EmmaCoverage
� Ferramenta para verificação estática de código – FindBugs
� Considerações Finais
� Referências
O que é automação de testes?
3
É uma maneira de realizar testes 
utilizando alguma ferramenta para 
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
utilizando alguma ferramenta para 
automatizar determinadas 
atividades que são realizadas manualmente.
Conceitos de automação de teste
4
� Script de Teste
� Arquivo que compõe os passos do caso de teste a serem executados 
sobre o sistema.
� Gravador ou “Recorder”
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
� Gravador ou “Recorder”
� Grava na forma de uma linguagem própria passos da execução dos 
testes manuais.
� Executor de teste ou “Playback”
� Recurso das ferramentas para re-executar tudo o que foi gravado no 
script de teste.
Ferramentas de Teste
5
Ferramenta de 
planejamento de 
testes
Carga e 
Performance
Ferramenta de 
testes funcionais
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
• TestLink • JMeter • Selenium
• Badboy
Ferramentas de Teste
6
Code Coverage
• Emma 
Teste de 
Unidade
• JUnit
Teste de 
Aceitação
• EasyAccept
Verificação 
Estática
• FindBugs
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
• Emma 
Coverage
• JUnit • EasyAccept • FindBugs
Principais dicas para automação
7
Crie os casos de 
teste para depois 
automatizar
Não pense em 
automatizar tudo
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
Automatize o que 
é prioridade
Ferramentas têm 
que se adaptar às 
novas interfaces
Automação requer 
experiência na 
ferramenta
Inicie a 
automação o 
quanto antes no 
projet
8
Testes de Software
AU LA03 – TU TOR IA L PARA F E RRAMENTA EA SYACC E P T
O EasyAccept
9
1. EasyAccept é uma ferramenta que ajuda a criar testes de 
aceitação de forma fácil e rápida.
2. Possibilita que clientes e os desenvolvedores de software 
possam se comunicar de forma mais clara.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
possam se comunicar de forma mais clara.
3. É uma ferramenta OpenSource
4. O EasyAccept pode ser utilizado para testar sistemas em Java 
ou em Python.
O EasyAccept
10
Usuário
Resultado 
do Teste
Comando
[EasyAccept,2011]
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Façade
Sistema a ser 
testado
Usuário
Script de Teste
Comando
Método
Resultado
Resultado
EasyAccept - Sintaxe do Script de Teste
11
� Comandos:
� Comando sem retorno
� createUser userID=1 name=“Joana Mendes" birthday=4/2/1960
� Comando expect
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
� Comando expect
� expect “Joana Mendes " getUserName userID=1 
� Adicionar valor em uma variável
� Id1=getUserName userID=1 
EasyAccept - Sintaxe do Script de Teste
12
� Comandos:
� Comando equalFiles
� equalFiles c:/relatorio1.txt c:/relatorio2.txt
� Comando expectError
expectError “Data inválida." createUser name="Joana Mendes" 
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
� expectError “Data inválida." createUser name="Joana Mendes" 
birthday=30/2/1960
� Comando quit
� Sair do EasyAccept
� Comentário: # no início do comando
EasyAccept – Tipos de dados do script
13
� Tipos de dados:
� String – “Texto”
� Boolean – true, false
� Char - “a”
� Int – 1, 2…
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
� Int – 1, 2…
� Double – 35,00
Passo 1
14
1. Abrir o Eclipse
2. Criar um novo projeto Java
3. Denominar “EasyAcceptProject”
4. Clicar em Finish
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 2
15
1. Criar a pasta ‘lib’
2. Adicionar o arquivo ‘easyaccept.jar’ nesta pasta
3. Clicar com botão direito no arquivo e escolher Build Path > 
Add to Build Path
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 3
16
1. Criar a pasta ‘teste_aceitacao’
2. Adicionar o arquivo ‘us1.txt’ nesta pasta
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 4
17
1. Criar o package ‘monopoly’.
2. Criar uma Façade para o sistema 
denominada ‘GameFacade’.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 5
18
1. Na classe GameFacade.java, adicionar o método ‘main’ abaixo, 
para executar o teste do EasyAccept.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 6
19
1. Abrir o arquivo ‘us1.txt’ e verificar que todas as linhas estão 
comentadas.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 7
20
1. Abrir a classe GameFacade e executar.
I. Caso a classe esteja com erro de compilação, adicionar:
� import easyaccept.EasyAccept;
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 8
21
1. Após executar, o sistema abre o console com o texto:
I. Test file teste_aceitacao/us1.txt: 0 tests OK
2. Isso indica que nenhum teste foi executado.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 9
22
1. Abrir o arquivo ‘us1.txt’ e tirar o comentário do primeiro 
comando. 
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Passo 10
23
1. Executar novamente a classe GameFacade.java.
1. Desta vez o teste apresenta 1 erro.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
2. Após o erro, tentar tirar o defeito do sistema, implementando o 
que for necessário para o teste passar.
3. Em seguida, executar o teste e verificar se o erro foi corrigido.
4. Se tiver, tirar o comentário do próximo comando em ‘us1.txt’
5. Executar novamente o teste.
6. Seguir esta sequência de passos até o final do script.
Passo 11
24
1. Para que o primeiro comando passe no teste basta 
implementar a assinatura do método para o primeiro 
comando.
1. Executar novamente o teste.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Apenas valores primitivos ou String
JUnit x EmmaCoverage
25
1. Crie o pacote teste_unidade
2. Adicione a classe GameTest.java neste pacote
3. Configure o Build para o JUnit3
4. Execute o teste de unidade via JUnit
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
JUnit x EmmaCoverage
26
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Teste de Aceitação x Unidade
27
1. Verificação – Teste de Aceitação
� O sistema faz o que o cliente espera que ele faça.
2. Validação – Teste de Unidade
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
2. Validação – Teste de Unidade
� O sistema foi construído de forma correta.
28
Testes de Software
AU LA03 – TU TOR IA L PARA F E RRAMENTA EMMACOVERAGE
Executando o EmmaCoverage
29
1. Instalar o plugin para Eclipse do EmmaCoverage.
2. Abrir o projeto EmmaCoverageProject no eclipse
3. Na pasta src/teste_unidade executar a classe ‘GameTest’ 
usando o botão do EmmaCoverage
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Executando o EmmaCoverage
30
1. Observar o percentual em que os testes abrangem o código.Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Executando o EmmaCoverage
31
1. Pode-se supor que não há um caso de teste para a exceção 
StringInvalidException.
2. Na classe GameTest, no método testCreateGame()
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
2. Na classe GameTest, no método testCreateGame()
Remover as { }
Adicionar
Executando o EmmaCoverage
32
1. Executar a classe GameTest via o EmmaCoverage.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
33
Testes de Software
AU LA03 – TU TOR IA L PARA F E RRAMENTA F I NDBUGS
FindBugs
34
É uma ferramenta para encontrar bugs em 
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
É uma ferramenta para encontrar bugs em 
sistemas desenvolvidos em Java.
FindBugs – Categorias dos Bugs
35
• Métodos deveriam iniciar com letra minúscula.
• Nomes de métodos muito confusos.
Bad Practice
• Chamada de método com argumento nulo.
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
• Chamada de método com argumento nulo.
• Método ‘equals()’ sempre retorna true.
Correctness
• Campo deveria ser protected em vez de 
static, pois pode ser alvo de código 
malicioso.
Malicious code
vulnerability
FindBugs – Categorias dos Bugs
36
• Método aloca um objeto apenas para recuperar a 
classe do objeto.
Performance
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
• O código acessa o BD sem usar uma senha.Security
• Classe implementa a mesma interface da 
superclasse.
• Campo não inicializado no construtor.
Dodgy
Executando o FindBugs
37
1. Instalar o plugin
para Eclipse do 
FindBugs.
2. Abrir o projeto 
FindBugsProject
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
FindBugsProject
no eclipse
3. Com o botão 
direito clicar na 
opção Find Bugs
Executando o FindBugs
38
1. Abrir o FindBugs Console
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
2. Abrir o ambiente do FindBugs
Executando o FindBugs
39
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Executando o FindBugs
40
1. Tirar o comentário no construtor da classe Game()
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
2. Executar novamente o FindBugs
Executando o FindBugs
41
Anne Caroline O. Rocha – Tester Certified – BSTQB – NTI|UFPB
Referências
42
� [Delamaro, 2007] Delamaro, M., Maldonado, J. C., Jino, M. “Introdução ao Teste de 
Software”. Ed. Elsevier, Rio de Janeiro, 2007. 
� [GTSW] Grupo de Testadores de Software - http://gtsw.blogspot.com Acessado em 
Maio/2011.
� [Molinari, 2008] Molinari, L. “Testes Funcionais de Software”. 1ª Edição, Ed. Visual 
Books. Florianópolis, 2008. 
[Molinari, 2010] Molinari, L. “Inovação e Automação de Testes de Software”. 1ª Edição, 
Anne Caroline O. Rocha – Tester Certified – NTI|UFPB
� [Molinari, 2010] Molinari, L. “Inovação e Automação de Testes de Software”. 1ª Edição, 
Ed. Érica. São Paulo, 2010.
� [EasyAccept, 2011] Jacques Sauvé, Osório, Walfredo Cirne. EasyAccept - Ferramenta 
para Testes de Aceitação – Java e Python. Disponível em: 
http://easyaccept.sourceforge.net/
� [EmmaCoverage, 2011] EmmaCoverage - Ferramenta para Testes de Cobertura – Java. 
Disponível em: http://emma.sourceforge.net/downloads.html
� [FindBugs, 2011] Bill Pugh. FindBugs - Ferramenta para Verificação Estática – Java. 
Disponível em: http://findbugs.sourceforge.net/downloads.html

Continue navegando