10.Frameworks Testes

Preview:

Citation preview

Utilização de Ferramentas para testes de sistemas WebJúlio César de Freitas Taveira

Motivação

Vem crescendo o uso de aplicações em Sistemas Web;

Cada vez mais softwares stand alone estão sendo disponibilizados na Web Aplicações comerciais

Ex: Home Bank, portais do governo Ferramentas de escritório

Office online, Google Docs Sistema operacionais

Exemplo: Crome SO

Motivação (2)

Cada vez mais vem crescendo o uso do testes de software para melhorar a qualidade do software;

Sistemas Web necessitam de testes bem mais produndos, pois a usabilidade pode variar de implementações de Navegador para Navegador

Objetivo

Apresentar ferramentas para testes de aplicações WEB Diferenciando pelas suas funcionalidades e

aplicabilidades Dividindo em grupos pelo tipo do teste a ser

realizado Focando aplicações na Plataforma Java EE, para

servidor de aplicações.

Agenda

Foco das Ferramentas Ferramentas de Testes no Servidor Ferramentas de Testes de Solicitações Ferramentas de Testes no Navegador

Focos das FerramentasServidores

Clientes

Testes no Servidor

Testes no Navegador

Respostas

RequisiçõesTestes de Solicitações

Aplicativos Para Testes

Navegadores Comuns

Testes no Servidor

Testa a aplicação dentro do próprio servidor de aplicação; JUnitE Cactus

Testes no Servidor - JUnitEE

Veio complementar as limitações do framework de teste JUnit Não apropriados para execução em servidores de

aplicações O conteúdo desejado não é HTML Não possibilidade de testar aplicações web não

EJB Se a aplicação é um servlet, pode haver

interferência nos resultados desejados

Testes no Servidor – JUnitEE (2) JUnitEE

Fornece um TestRunner que gera saída HTML Fornece um Servlet para ponto de entrada dos

casos de testes Os testes são pacotes dentro de um .war e

podem ser facilmente movido entre servidores; As classes de teste são dinamicamente

recarregadas pelos servidores de aplicação

Testes no Servidor - Cactus

Simples framework de teste do projeto Jakarta para testes de unidade em servidores Java (Servlet, EJBs, TagLibs...)

A intenção é escrever código de teste com baixo custo

Estende o JUnit Executa os testes dentro do container

Testes no Servidor – Cactus (2) Diferentes tipos de testes de unidade

Testes de unidade de código lógico Testes de unidade de integração Testes de unidade funcional

Teste de Solicitações

Aplicativos específicos fazem solicitações a servidores de aplicações a fim de verificar comportamento funcional de execução e performace JMeter Selenium WebTest Canoon

JMeter

Ferramenta utilizada para testes de carga em serviços oferecidos por sistemas computacionais. Parte do projeto Jakarta da Apache Software

Foundation. Disponibiliza diversos tipos de requisições e

assertions(validar resultados) Controladores lógicos como loops(ciclos) Controles condicionais

Jmeter (2)

Disponibiliza também controle de Threads Thread Group Possível configurar o número de threads quantidade de vezes que cada será executada intervalo entre cada execução

Existem diversos listeners baseando nos resultados das requisições ou dos

assertions, podem ser usados para gerar gráficos e tabelas.

JMeter – Tipos de Serviços

FTP HTTP JDBC SOAP/XML-RPC... Fase Alpha

WebService JMS...

Canoo WebTest

Uma ferramenta de teste para aplicações Web OpenSource

Os testes podem ser escritos no formato XML ou um aplicativo Java

O resultado dos testes é um relatório demonstrando os resultados unitários e resultados gerais

Teste no Cliente

Utilização de Ferramentas para verificar o conteúdo retornado pelo servidor (HTML + JavaScript) HTMLUnit FireUnit/FireBug

HTMLUnit

É uma ferramenta que funciona como um browser para desenvolvedores

Usa o modelo do HTML e disponibiliza uma API para chamar páginas preencher formulários Acessar links Ações que podem ser realizadas em um browser

Base para outras ferramentas de testes

HTMLUnit (2)

Tem grande suporte a JavaScript Consegue trabalhar com Ajax Jquery GWT...

Consegue simular as implementações dos principais browsers disponíveis no mercado

Não é um framework de testes genéricos É um simulador de browsers para testes de

conteúdo HTML+CSS+JavaScript

HTMLUnit - Features

Suporta HTTP, HTTPS, Cookies, POST e GET (assim como HEAD, DELETE, ...) Respostas HTML

Submissão de formulários Objetos DOM…

Configuravel com um proxy server

FireUnit/FireBug

São duas ferramentas (relacionadas) para testar o conteúdo JavaScript e HTML+CSS

Funciona em cima do FireFox Utilzia Guias do firefox para apresentar e

interagir com o cónteúdo relacionado

FireUnit/FireBug (2)

FireBug Interação com o conteúdo HTML, CSS e

JavaScript da pagina Pode analizar cada elemento

FireUnit Fornece uma API simples para JavaScript

simples teste de log e ver dentro de uma nova guia do Firebug.

Pode-se Gerar Scripts para fazer a interação com o javascript desejado