testes com testlink e selenium
Post on 18-Dec-2014
3.689 Views
Preview:
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