• De acordo com PRESSMAN:– Todos os testes devem estar relacionados aos requisitos do cliente (p.
93).– Teste é um conjunto de atividades que podem ser planejadas
antecipadamente e conduzidas sistematicamente (p. 262).• Planejamento de Casos de Teste? • Série de Testes:• Série de Testes:
– Alfa e Beta– Integração– Regressão– Sistema– Unidade– Validação– Fumaça
2
• Segundo PRESSMAN (p. 316):
– Operabilidade: Quanto melhor funciona, mas eficientemente pode ser testado.
– Observabilidade: O que você vê, é o que você testa.
– Controlabilidade: Quando melhor você controlar o software, mais o – Controlabilidade: Quando melhor você controlar o software, mais o teste pode ser automatizado e otimizado.
– Decomponibilidade: Controlando o escopo do teste, podemos isolar problemas mais rapidamente e realizar retestagem mais racionalmente.
– Simplicidade: Quanto menos houver a testar, mais rapidamente podemos testar.
– Estabilidade: Quanto menos modificações, menos interrupções no teste. 3
• Também chamado de “teste caixa preta” ou teste comportamental (PRESSMAN, p. 327).– Focaliza os requisitos funcionais do software.– Abordagem complementar a “caixa branca”, – Abordagem complementar a “caixa branca”,
buscando os erros:• Erros de Interface.• Funções incorretas ou omitidas.• Erros de comportamento o desempenho.• Erros de Estrutura de Dados ou acesso a Banco de
Dados.
4
• Ferramenta para gravação, construção, edição e execução de testes, onde a reprodução dos testes é realizada no ambiente real da aplicação.– Extensão do Mozilla Firefox– Onde obter? http://seleniumhq.org/projects/ide– Onde obter? http://seleniumhq.org/projects/ide
– Dica: instalar também a extensão “Page Coverage”• Para tirar “prints” das interfaces testadas.
5
6
• Construção:– Passo a passo– Gravação do teste
• Gravação dos “prints” das telas testadas
• Execução:– A partir de teste salvo previamente– Após a construção.
7
8
• Também chamado de “teste caixa branca” ou teste lógico (PRESSMAN, p. 318).– Usa a estrutura de controle para realizar os testes
(código fonte).(código fonte).– Buscando os erros:
• Todos os caminhos lógicos serão exercitados, nos lados verdadeiro e falso.• Execução de todos os ciclos, dentro limites e bis
intervalos estabelecidos.• Exercício das estruturas de dados internas para garantir
validade.9
10
• É uma ferramenta “free” para calcular a porcentagem de código Java acessado pelos testes.– Pode ser executado via Ant ou linha de comando.– Instrumentação da Java Bytecode.– Geração de relatórios em HTML (ou XML, para o
Hudson!)– Onde Obter?
http://cobertura.sourceforge.net/index.html
11
Instrumentação das Classes
• cobertura-instrument.bat
Geração de Relatórios
• cobertura-report.bat
Parâmetro: Descrição: Parâmetro: Descrição:
12
--basedir Diretório onde estão as classes que você vai instrumentar.
--datafile Diretório que vai conter o “cobertura.ser”
--destination Diretório das classes instrumentadas
--ignore Expressão regular paraignorar linhas de código.
--basedir Diretório onde estão as classes que você vai instrumentar.
--datafile Diretório que vai conter o “cobertura.ser”
--destination Diretório das classes instrumentadas
--format HTML ou XML
--ignore Expressão regular paraignorar linhas de código.
– Integração com o NetBeans• project.properties• Automação no Ant (Build.xml)
– Instrumentação.– Instrumentação.– Geração de Relatórios.– Como rodar a geração do relatório? Executar tarefas do Ant.– Como fazer? Quais as Instruções? Arquivo em anexo.
13
14
15
• PRESSMAN, R. S. Engenharia de Software. São Paulo: McGraw-Hill, 2006.
• Selenium Team. Selenium IDE Project. Disponível em: <http://seleniumhq.org/projects/ide>. Acesso em 06 jun. 2012.2012.
• Cobertura Team. Cobertura. Disponível em: < http://cobertura.sourceforge.net/index.html>. Acesso em 10 jun. 2012.
• NetBeans. Cobertura – NetBeans Wiki. Disponível em: <http://wiki.netbeans.org/Cobertura >. Acesso em 12 jun. 2012.
16