Top Banner
Testes automatizados utilizando BDD OPTHS 2012
14

Testes automatizados (2)

Jul 13, 2015

Download

Documents

cesarvianna
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Testes automatizados (2)

Testes automatizadosutilizando BDD

OPTHS 2012

Page 2: Testes automatizados (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

Page 3: Testes automatizados (2)

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

Page 4: Testes automatizados (2)

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();

Page 5: Testes automatizados (2)

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

Page 6: Testes automatizados (2)

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

Page 7: Testes automatizados (2)

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 ...

Page 8: Testes automatizados (2)

Feature Context

● Podemos criar comportamentos personalizados que poderão ser reutilizados em todas as Features

– ...homebehat/features/bootstrap/FeatureContext.php

Page 9: Testes automatizados (2)

Comunicação

Feature

Context

Driver

Navegadores

Page 10: Testes automatizados (2)

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

Page 11: Testes automatizados (2)

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 "[email protected]" 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 "[email protected]" And I should see "M"

Page 12: Testes automatizados (2)

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”

Page 13: Testes automatizados (2)

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.

Page 14: Testes automatizados (2)

Perguntas ?