testes com testlink e selenium

Post on 18-Dec-2014

3.689 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

TestesTestescom TestLink e Seleniumcom TestLink e Selenium

Quem sou eu?Quem sou eu?✔ André ThiagoAndré Thiago✔ Bacharel em Bacharel em Ciência da Computação – UnBCiência da Computação – UnB✔ Analista de Informática Analista de Informática MPUMPU✔ Arquiteto de Software Arquiteto de Software PGR/MPUPGR/MPU✔ Sócio-fundador e líder técnico da startup Sócio-fundador e líder técnico da startup TripFansTripFans ( (www.tripfans.com.brwww.tripfans.com.br))

✔ Entusiasta de práticas ágeisEntusiasta de práticas ágeis

O que vamos ver hojeO que vamos ver hoje✔ Testes? Pra quê?Testes? Pra quê?✔ FerramentasFerramentas

✔ TestLinkTestLink✔ SeleniumSelenium

✔ DemoDemo✔ ProvocaçõesProvocações

Como você verifica se Como você verifica se um software não tem um software não tem problemas?problemas?

A resposta é A resposta é simples: simples: FAÇA TESTESFAÇA TESTES

Mas testes não são perda Mas testes não são perda de tempo?de tempo?

Testes == Qualidade ?Testes == Qualidade ?

Tipos de TestesTipos de Testes

Tipos de TestesTipos de Testes✔ Teste de AceitaçãoTeste de Aceitação

Tipos de TestesTipos de Testes✔ Teste de AceitaçãoTeste de Aceitação✔ Teste de carga/stressTeste de carga/stress

Tipos de TestesTipos de Testes✔ Teste de AceitaçãoTeste de Aceitação✔ Teste de carga/stressTeste de carga/stress✔ Teste funcionaisTeste funcionais

Tipos de TestesTipos de Testes✔ Teste de AceitaçãoTeste de Aceitação✔ Teste de carga/stressTeste de carga/stress✔ Teste funcionaisTeste funcionais✔ Teste de integraçãoTeste de integração

Tipos de TestesTipos de Testes✔ Teste de AceitaçãoTeste de Aceitação✔ Teste de carga/stressTeste de carga/stress✔ Teste funcionaisTeste funcionais✔ Teste de integraçãoTeste de integração✔ Teste de unidadeTeste de unidade

Vantagens de se Vantagens de se testar softwaretestar software

Garantir qualidade mínimaGarantir qualidade mínima

Encontrar erros cedoEncontrar erros cedo

Prevenir regressãoPrevenir regressão

ConfiabilidadeConfiabilidade

Servem como Servem como documentaçãodocumentação

Conceitos básicosConceitos básicos

Caso de testeCaso de teste

Suíte de testeSuíte de teste

Elementos de um caso de Elementos de um caso de testeteste

✔ Identificação do caso de testeIdentificação do caso de teste✔ DescriçãoDescrição✔ PassosPassos✔ Resultados esperadosResultados esperados✔ Resultados obtidosResultados obtidos✔ Passou/falhouPassou/falhou

Aplicativo web de gerenciamento Aplicativo web de gerenciamento de testes, provendo suporte para de testes, provendo suporte para a especificação, execução e a especificação, execução e monitoramento das atividades de monitoramento das atividades de teste.teste.

Casos de Teste (Test Casos de Teste (Test Case)Case)

Suítes de Teste (Test Suítes de Teste (Test Suite)Suite)

Planos de Teste (Test Planos de Teste (Test Plan)Plan)

Projeto de Teste (Test Projeto de Teste (Test Project)Project)

Usuário (User)Usuário (User)

DemoDemo

DemoDemo✔ Cadastrar/gerenciar usuáriosCadastrar/gerenciar usuários✔ Criar um novo projeto de testeCriar um novo projeto de teste✔ Criar suíte de testeCriar suíte de teste✔ Criar casos de testeCriar casos de teste✔ Criar planos de testeCriar planos de teste✔ Criar buildsCriar builds✔ Execução dos testesExecução dos testes✔ RelatóriosRelatórios

““Selenium automates Selenium automates browser”browser”

Ok, mas o que isso quer Ok, mas o que isso quer dizer?dizer?

De forma geral, o principal uso De forma geral, o principal uso

do Selenium é do Selenium é automatizarautomatizar testes em aplicações web.testes em aplicações web.

Teste automatizado necessita →Teste automatizado necessita →

do auxílio de alguma ferramentado auxílio de alguma ferramenta

VantagensVantagens✔ Testes de regressão mais Testes de regressão mais frequentesfrequentes

VantagensVantagens✔ Testes de regressão mais Testes de regressão mais frequentesfrequentes

✔ Feedback mais rápido para os Feedback mais rápido para os implementadoresimplementadores

VantagensVantagens✔ Testes de regressão mais Testes de regressão mais frequentesfrequentes

✔ Feedback mais rápido para os Feedback mais rápido para os implementadoresimplementadores

✔ Iterações ilimitadas na execução Iterações ilimitadas na execução de casos de testede casos de teste

VantagensVantagens✔ Testes de regressão mais Testes de regressão mais frequentesfrequentes

✔ Feedback mais rápido para os Feedback mais rápido para os implementadoresimplementadores

✔ Iterações ilimitadas na execução de Iterações ilimitadas na execução de casos de testecasos de teste

✔ Encontrar defeitos que testes Encontrar defeitos que testes manuais deixam passarmanuais deixam passar

Legal. Mas a automação é sempre Legal. Mas a automação é sempre vantajosa?vantajosa?

Quando não é vantajoso Quando não é vantajoso automatizarautomatizar

✔ Quando não há tempo para Quando não há tempo para automatizar o testeautomatizar o teste

✔ Se a aplicação é de curta duraçãoSe a aplicação é de curta duração✔ Se a interface do usuário vai Se a interface do usuário vai mudar consideravelmente em mudar consideravelmente em breve. Isso implica em reescrever breve. Isso implica em reescrever os testes.os testes.

ProjetosProjetos

Selenium IDESelenium IDE

Selenium IDESelenium IDE✔ Ferramenta de prototipaçãoFerramenta de prototipação para construir scripts de testespara construir scripts de testes

Selenium IDESelenium IDE✔ Ferramenta de prototipaçãoFerramenta de prototipação para construir scripts de testespara construir scripts de testes

✔ Plugin do FirefoxPlugin do Firefox

Selenium IDESelenium IDE✔ Ferramenta de prototipaçãoFerramenta de prototipação para construir scripts de testespara construir scripts de testes

✔ Plugin do FirefoxPlugin do Firefox✔ Função de gravaçãoFunção de gravação

Selenium IDESelenium IDE✔ Ferramenta de prototipaçãoFerramenta de prototipação para para construir scripts de testesconstruir scripts de testes

✔ Plugin do FirefoxPlugin do Firefox✔ Função de gravaçãoFunção de gravação

✔ ExportaExporta as ações dos usuários como um as ações dos usuários como um

script reutilizávelscript reutilizável em diferentes em diferentes linguagens de programaçãolinguagens de programação

AtençãoAtenção““Selenium IDE não foi projetado para Selenium IDE não foi projetado para executar seus testes nem foi executar seus testes nem foi projetado para construir todos os projetado para construir todos os testes automatizados que você vai testes automatizados que você vai precisar.”precisar.”

(Documentação do Selenium)(Documentação do Selenium)

Selenium Remote Control (RC)Selenium Remote Control (RC)

Selenium Remote Control Selenium Remote Control (RC)(RC)

✔ Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo, antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium

Selenium Remote Control Selenium Remote Control (RC)(RC)

✔ Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo, antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium

✔ Hoje as releases desse projeto são principalmente Hoje as releases desse projeto são principalmente corretivascorretivas

Selenium Remote Control Selenium Remote Control (RC)(RC)

✔ Foi o principal projeto do Selenium por um bom tempo, Foi o principal projeto do Selenium por um bom tempo, antes do merge entre o WebDriver e o Seleniumantes do merge entre o WebDriver e o Selenium

✔ Hoje as releases desse projeto são principalmente Hoje as releases desse projeto são principalmente corretivascorretivas

✔ Provê algumas funcionalidades que ainda não estão Provê algumas funcionalidades que ainda não estão disponíveis no Selenium 2: suporte a diversas linguagens; disponíveis no Selenium 2: suporte a diversas linguagens; suporte a diversos navegadoressuporte a diversos navegadores

Selenium WebDriver (Selenium 2)Selenium WebDriver (Selenium 2)

Selenium WebDriver Selenium WebDriver (Selenium 2)(Selenium 2)

✔ API melhoradaAPI melhorada

Selenium WebDriver Selenium WebDriver (Selenium 2)(Selenium 2)

✔ API melhoradaAPI melhorada✔ Resoluções de algumas limitações Resoluções de algumas limitações da versão anteriorda versão anterior

Selenium WebDriver Selenium WebDriver (Selenium 2)(Selenium 2)

✔ API melhoradaAPI melhorada✔ Resoluções de algumas limitações Resoluções de algumas limitações da versão anteriorda versão anterior

✔ Junção ao WebDriverJunção ao WebDriver

Selenium GridSelenium Grid

Selenium GridSelenium Grid

✔ Solução escalável para suítes de Solução escalável para suítes de testes pesadastestes pesadas

Selenium GridSelenium Grid

✔ Solução escalável para suítes de Solução escalável para suítes de testes pesadastestes pesadas

✔ Permite a execução de testes em Permite a execução de testes em paraleloparalelo

Qual devo usar então?Qual devo usar então?

Se não conhece linguagem de Se não conhece linguagem de programação, use o Selenium IDE programação, use o Selenium IDE para se familiarizarpara se familiarizar

Para o uso mais efetivo, a Para o uso mais efetivo, a recomendação é pelo Selenium 2 recomendação é pelo Selenium 2 ou RC em conjunto com alguma ou RC em conjunto com alguma linguagem de programação.linguagem de programação.

Navegadores e plataforma Navegadores e plataforma suportadossuportados

Selenium 2 (WebDriver)Selenium 2 (WebDriver)

Navegadores e plataforma Navegadores e plataforma suportadossuportados

Selenium 1 (RC)Selenium 1 (RC)

Demo Selenium IDEDemo Selenium IDE

✔ InstalaçãoInstalação✔ Abrindo o IDE e demonstrando Abrindo o IDE e demonstrando opçõesopções

✔ Construindo Test CasesConstruindo Test Cases

Comandos mais utilizadosComandos mais utilizados✔ open open ✔ click/clickAndWaitclick/clickAndWait✔ verifyTitle/assertTitleverifyTitle/assertTitle✔ verifyTextPresent verifyTextPresent ✔ verifyElementPresent verifyElementPresent ✔ waitForPageToLoad waitForPageToLoad ✔ waitForElementPresent waitForElementPresent

Exemplos Selenium Exemplos Selenium WebDriverWebDriver

✔ Configurando um projeto JavaConfigurando um projeto Java✔ Exemplos do IDE e executá-los Exemplos do IDE e executá-los via Javavia Java

Demonstração mais realDemonstração mais real

DemonstraçãoDemonstração

✔ TestLinkTestLink✔ SeleniumSelenium

PetclinicPetclinic✔ Testar um casos de usoTestar um casos de uso

✔ Adicionar proprietário (owner)Adicionar proprietário (owner)✔ Adicionar animaisAdicionar animais

✔ Cadastrar planos de teste no TestLinkCadastrar planos de teste no TestLink

✔ Executá-losExecutá-los

ProvocaçõesProvocações

Porque não testar desde Porque não testar desde o início do ciclo de o início do ciclo de desenvolvimento?desenvolvimento?

Tem como fazer isso?Tem como fazer isso?

TDD (Test-Driven TDD (Test-Driven Development)Development)

Integração ContínuaIntegração Contínua

Entrega ContínuaEntrega Contínua(automatize tudo)(automatize tudo)

Automatize tudo o que Automatize tudo o que puder!puder!

Obrigado pela atenção!Obrigado pela atenção!

top related