Apresentação sobre Testes Funcionais e Estruturais utilizando as ferramentas Selenium IDE e Cobertura na disciplina de Paradigmas de Linguagem de Programação na UFSCar
Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
1.
2. • 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:
– Alfa e Beta
– Integração
– Regressão
– Sistema
– Unidade
– Validação
– Fumaça
2
3. • 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
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
4. • Também chamado de “teste caixa preta” ou
teste comportamental (PRESSMAN, p. 327).
– Focaliza os requisitos funcionais do software.
– 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
5. • 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
– Dica: instalar também a extensão “Page Coverage”
• Para tirar “prints” das interfaces testadas.
5
7. • 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
9. • 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).
– 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
11. • É 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
12. Instrumentação das Classes Geração de Relatórios
• cobertura-instrument.bat • cobertura-report.bat
Parâmetro: Descrição: Parâmetro: Descrição:
--basedir Diretório onde estão as --basedir Diretório onde estão as
classes que você vai classes que você vai
instrumentar. instrumentar.
--datafile Diretório que vai conter --datafile Diretório que vai conter
o “cobertura.ser” o “cobertura.ser”
--destination Diretório das classes --destination Diretório das classes
instrumentadas instrumentadas
--ignore Expressão regular para --format HTML ou XML
ignorar linhas de código. --ignore Expressão regular para
ignorar linhas de código.
12
13. – Integração com o NetBeans
• project.properties
• Automação no Ant (Build.xml)
– 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