Top Banner
Testes automatizados utilizando técnicas de BDD
12
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 cp

Testes automatizados

utilizando técnicas de BDD

Page 2: Testes automatizados cp

● César Vianna

● SERPRO – Serviço Federal de Processamento de Dados

● Projeto Expresso – expressolivre.org

[email protected]

Page 3: Testes automatizados cp

Testes de Software

Dimensões do Teste

1

3

2

Quando testar?

Como testar?

O que testar?

Níveis de TesteTeste de AceitaçãoTeste de SistemaTeste de IntegraçãoTeste de Unidade

Tipos de TesteTeste de FuncionalidadeTeste de RegressãoTeste de InterfaceTeste de DesempenhoTeste de CargaTeste de UsabilidadeTeste de VolumeTeste de Segurança

Técnicas de TesteTeste Estrutural (Caixa Branca)Teste Funcional (Caixa Preta)

Page 4: Testes automatizados cp

BDD

✔ BDD - Desenvolvimento Guiado por Comportamento

✔ Técnica de desenvolvimento ágil que utiliza linguagem e interações. Com isso, possibilita a colaboração entre:

✔ Desenvolvedores✔ Setores de qualidade ✔ Pessoas não-técnicas ou de negócios em um

projeto de software

Page 5: Testes automatizados cp

Linguagem Gherkin

Feature: Descreve o se deseja

Especificando o valor para o negócio

E o ator específico da ação

Scenario: Alguma ação de negócio

Given alguma pré-condição

And alguma outra pré-condição

When alguma ação do ator ocorrer

And também outra ação

And ainda outra

Then algum resultado testável é alcançado

And outra resposta verificável também é apresentada

Page 6: Testes automatizados cp

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 7: Testes automatizados cp

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('https://cte.serpro.gov.br/');

// Carrega outra página

$session->visit('https://expresso.serpro.gov.br')

// Usa os controles de histórico

$session->reload();

$session->back();

$session->forward();

Page 8: Testes automatizados cp

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 Safari IE

3.6 - 10 * 2, 3 7 - 9

Page 9: Testes automatizados cp

Comumicação

Feature

Context

Driver

Navegadores

Page 10: Testes automatizados cp

Exemplo

● Teste de navegação:Feature: Navegação na página do W3C

Dado que eu estou na página inicial do W3C

Quando eu seleciono uma região

Eu deveria visualizar o conteúdo respectivo

Scenario: Navegar na página do W3C, na região Austrália

Given I am on "http://www.w3c.br/Home/WebHome"

Then I select "Austrália" from "region"

And I press "Go"

And I should see "Australian W3C Office"

Page 11: Testes automatizados cp

Dicas de leitura

- XPath locator- CSS locator- Plugin Firebug para Firefox- Plugin Firepath para Firefox- Selenium- Metodologias BDD, TDD- XP - Programação Extrema

Page 12: Testes automatizados cp

Perguntas ?

[email protected]