testes automatizados (2)
Post on 13-Jul-2015
380 Views
Preview:
TRANSCRIPT
Testes automatizadosutilizando BDD
OPTHS 2012
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
Behat
● Behat é uma ferramenta que utiliza BDDSite 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 loginQuando eu informo o usuárioE eu informo a senhaE eu confirmoEntão eu deveria vizualizar a tela inicial
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();
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
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
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 ...
Feature Context
● Podemos criar comportamentos personalizados que poderão ser reutilizados em todas as Features
– ...homebehat/features/bootstrap/FeatureContext.php
Comunicação
Feature
Context
Driver
Navegadores
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-a-gherkin-syntax-highlighter-in-gedit/
● Crie um arquivo com nome cadpinoquio.feature dentro da pasta features
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"
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”
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.
Perguntas ?
top related