Testes automatizados (2)

686 visualizações

Publicada em

  • Seja o primeiro a comentar

Testes automatizados (2)

  1. 1. Testes automatizados utilizando BDD OPTHS 2012
  2. 2. BDD ✔ BDD - Behavior Driven Development ✔ Desenvolvimento Guiado por Comportamento ✔ Técnica de desenvolvimento ágil que utiliza linguagem padronizada para descrever o comportamento do software. ✔ Potencializa a colaboração entre: ✔ Desenvolvedores ✔ Setores de qualidade ✔ Pessoas não-técnicas ou de negócios em um projeto de software
  3. 3. Behat ● Behat é uma ferramenta que utiliza BDD Site do projeto: http://behat.org ● Nele o teste descreve a história e a partir dessa descrição, ela pode rodar como um teste automatizado. – Exemplo: Dado que estou na tela de login Quando eu informo o usuário E eu informo a senha E eu confirmo Então eu deveria vizualizar a tela inicial
  4. 4. Mink Simula a interação entre o browser e a aplicação web. Site do projeto: http://mink.behat.org // Carrega uma página no browser $session->visit('http://www.consegi.gov.br/'); // Carrega outra página $session->visit('http://www.serpro.gov.br') // Usa os controles de histórico $session->reload(); $session->back(); $session->forward();
  5. 5. Selenium Webdriver ● Um dos drivers de interface com os navegadores. ● Aceita comandos e envia para o navegador ● Portável para a maioria dos navegadores Navegadores e versões suportadas: Firefox Chrome Opera IE 4 - 10 * 8 e 9 7 - 9
  6. 6. Sintaxe Gherkin ● Gherkin é o padrão de escrita utilizado pelo Behat para descrição dos comportamentos ● Utiliza edentação e palavras reservadas para definir a estrutura das funcionalidades ● Features – Cada funcionalidade deve ser descrita em um arquivo .feature ● Caminho: ...homebehat/features – Cada Feature é composta por um grupo de Scenarios
  7. 7. Sintaxe Gherkin ● Estrutura: Feature: Descrição concisa da funcionalidade A fim de atingir um objetivo Um ator específico Deseja realizar uma ação que agregue valor ao negócio em questão Scenario: Um situação determinável Given alguma pré-condição And outra pré-condição When alguma ação do ator And outra ação Then alguma resposta testável é verificada And outra verificação é realizada Scenario: Outra situação ...
  8. 8. Feature Context ● Podemos criar comportamentos personalizados que poderão ser reutilizados em todas as Features – ...homebehat/features/bootstrap/FeatureContext.php
  9. 9. Comunicação Feature Context Driver Navegadores
  10. 10. Vamos à prática! ● Abra a “Cheat Sheet” do Behat – http://docs.behat.org/ ● Configurando o Gedit com HighLight para o Gherkin – Pesquise no oráculo por: gedit gherkin highlight – Abra o primeiro resultado: http://ranskills.wordpress.com/2011/07/11/how-to-create ● Crie um arquivo com nome cadpinoquio.feature dentro da pasta features
  11. 11. Primeiro Exemplo @cadpinoquio @javascript Scenario: Cadastro do Pinóquio Afim de registrar um usuário no sistema Qualquer usuário Deseja inserir seus dados e verificar a confirmação Given I am on "/pinoquio.html" When I fill in "name" with "Exemplo" And I fill in "email" with "exemplo@consegi.gov.br" And I select "M" from "sex" And I click in "#submit" Then I should see "Cadastro efetuado com sucesso" And I should see "Exemplo" And I should see "exemplo@consegi.gov.br" And I should see "M"
  12. 12. Testando... ● Abrir um terminal e digitar: java -jar /home/consegi/selenium-server- standalone-2.25.0.jar ● Abrir outro terminal e digitar: cd ~/demo-behat ./bin/behat --tags=”@meuform”
  13. 13. Baby Steps ● Desenvolvendo – Crie um arquivo /var/www/pinoquio.html – Insira um conteúdo que resolva o primeiro erro do teste – Salve e rode o teste novamente – Repita o ciclo até que o teste não possua erro.
  14. 14. Perguntas ?

×