SeuSeu clientecliente nono
controlecontrole!!
TestesTestes ágeiságeis
http://dbehave.com
Vanderson Botelho
botelhojp@gmail.com
Testar deve
ser dífícil
TudoTudo pronto!pronto!
So falta Testar
““Eu agarantcho”Eu agarantcho”
BDDBDD Behavior Driven Development
Desenvolvimento Guiado por Comportamento
É umaÉ uma técnica de desenvolvimento Ágiltécnica de desenvolvimento Ágil queque
encoraja colaboração entre desenvolvedores, setoresencoraja colaboração entre desenvolvedores, setores
de qualidade e pessoas não-técnicas ou de negóciosde qualidade e pessoas não-técnicas ou de negócios
em um projeto de software.em um projeto de software.
Foi originalmente concebido em 2003, por Dan North.Foi originalmente concebido em 2003, por Dan North.
https://pt.wikipedia.org/wiki/Behavior_Driven_Development
UseUse histórias concretashistórias concretas
para ilustrar o que separa ilustrar o que se
deseja do softwaredeseja do software
WebDriver driver = new FirefoxDriver();
driver.get("http://localhost:8080/treino/");
WebElement login =
driver.findElement(By.xpath("(//input[contai
ns(@id, 'formLogin')][contains(@type,
'text')])"));
login.click();
login.clear();
login.sendKeys("joao");
WebElement senha =
driver.findElement(By.xpath("(//input[contai
ns(@id, 'formLogin')][contains(@type,
'password')])"));
senha.clear();
senha.sendKeys("123");
WebElement botaoOk =
driver.findElement(By.xpath("(//button[conta
ins(@type, 'submit')])"));
botaoOk.click();
RequisitoRequisito
Funcionalidade: Acessa ao Sistema
Cenário: Acessa sistema com usuário válido
Dado que vou para a página "Tela de Login"
Quando informo "joao" no campo "Usuário"
E informo "123" no campo "Campo Senha"
Quando clico em "Entrar"
Então estou autenticado
Caso de TesteCaso de Teste
Script ManualScript Manual
Tradicional
Ágil BDD
WebDriver driver = new FirefoxDriver();
driver.get("http://localhost:8080/treino/");
WebElement login =
driver.findElement(By.xpath("(//input[contai
ns(@id, 'formLogin')][contains(@type,
'text')])"));
login.click();
login.clear();
login.sendKeys("joao");
WebElement senha =
driver.findElement(By.xpath("(//input[contai
ns(@id, 'formLogin')][contains(@type,
'password')])"));
senha.clear();
senha.sendKeys("123");
WebElement botaoOk =
driver.findElement(By.xpath("(//button[conta
ins(@type, 'submit')])"));
botaoOk.click();
RequisitoRequisito
Funcionalidade: Acessa ao Sistema
Cenário: Acessa sistema com usuário válido
Dado que vou para a página "Tela de Login"
Quando informo "joao" no campo "Usuário"
E informo "123" no campo "Campo Senha"
Quando clico em "Entrar"
Então estou autenticado
Caso de TesteCaso de Teste
Script ManualScript Manual
Tradicional
Ágil BDD
ManutençãoManutenção
AprendizagemAprendizagem
ProdutividadeProdutividade
ColaboraçãoColaboração
PPrrááttiiccaa
Funcionalidade: Operar a Calculadora
Narrativa:
Para obter as operações básicas da calculadora
Como um usuário qualquer
Desejo resolver problemas matemáticos de forma
mais rápida
Cenário: Somar
Dado que inicio a Calculadora
Quando adiciono "5"
E adiciono "7"
Então seu valor será "12"
Escreva suas histórias
Cenário: Somar
Dado que inicio a Calculadora
Quando adiciono "5"
E adiciono "7"
Então seu valor será "12"
@When("Quando inicio a Calculadora")
public void goToWithName(String local) {
}
@When("adiciono "$valor"")
public void whenAdiciono(double valor) {
}
@Then("seu valor será "$valor"")
public void thenSeuValorSera(double valor) {
}
Frases mapeadas
em métodos
@ScreenMap(name = "Tela de Busca", location = "http://www.google.com.br")
public class MyPage {
@ElementMap(
name = "Campo de Busca",
locatorType = ElementLocatorType.Id,
locator = "gbqfq")
private TextField searchField;
@ElementMap(
name = "Estou com sorte",
locatorType = ElementLocatorType.Id,
locator = "gbqfbb")
private Button buttonLuckSearch;
}
Projeto DemoiselleDemoiselle
Para Automação de Testes em BDDBDD
http://github.com/demoiselle/behave
http://dbehave.com
Site
Dúvidas
Comunidade
http://dbehave.com
Vanderson Botelho
botelhojp@gmail.com

Seu Cliente no Controle! Testes ágeis

  • 1.
    SeuSeu clientecliente nono controlecontrole!! TestesTesteságeiságeis http://dbehave.com Vanderson Botelho botelhojp@gmail.com
  • 2.
  • 3.
    TudoTudo pronto!pronto! So faltaTestar ““Eu agarantcho”Eu agarantcho”
  • 4.
    BDDBDD Behavior DrivenDevelopment Desenvolvimento Guiado por Comportamento É umaÉ uma técnica de desenvolvimento Ágiltécnica de desenvolvimento Ágil queque encoraja colaboração entre desenvolvedores, setoresencoraja colaboração entre desenvolvedores, setores de qualidade e pessoas não-técnicas ou de negóciosde qualidade e pessoas não-técnicas ou de negócios em um projeto de software.em um projeto de software. Foi originalmente concebido em 2003, por Dan North.Foi originalmente concebido em 2003, por Dan North. https://pt.wikipedia.org/wiki/Behavior_Driven_Development
  • 5.
    UseUse histórias concretashistóriasconcretas para ilustrar o que separa ilustrar o que se deseja do softwaredeseja do software
  • 6.
    WebDriver driver =new FirefoxDriver(); driver.get("http://localhost:8080/treino/"); WebElement login = driver.findElement(By.xpath("(//input[contai ns(@id, 'formLogin')][contains(@type, 'text')])")); login.click(); login.clear(); login.sendKeys("joao"); WebElement senha = driver.findElement(By.xpath("(//input[contai ns(@id, 'formLogin')][contains(@type, 'password')])")); senha.clear(); senha.sendKeys("123"); WebElement botaoOk = driver.findElement(By.xpath("(//button[conta ins(@type, 'submit')])")); botaoOk.click(); RequisitoRequisito Funcionalidade: Acessa ao Sistema Cenário: Acessa sistema com usuário válido Dado que vou para a página "Tela de Login" Quando informo "joao" no campo "Usuário" E informo "123" no campo "Campo Senha" Quando clico em "Entrar" Então estou autenticado Caso de TesteCaso de Teste Script ManualScript Manual Tradicional Ágil BDD
  • 7.
    WebDriver driver =new FirefoxDriver(); driver.get("http://localhost:8080/treino/"); WebElement login = driver.findElement(By.xpath("(//input[contai ns(@id, 'formLogin')][contains(@type, 'text')])")); login.click(); login.clear(); login.sendKeys("joao"); WebElement senha = driver.findElement(By.xpath("(//input[contai ns(@id, 'formLogin')][contains(@type, 'password')])")); senha.clear(); senha.sendKeys("123"); WebElement botaoOk = driver.findElement(By.xpath("(//button[conta ins(@type, 'submit')])")); botaoOk.click(); RequisitoRequisito Funcionalidade: Acessa ao Sistema Cenário: Acessa sistema com usuário válido Dado que vou para a página "Tela de Login" Quando informo "joao" no campo "Usuário" E informo "123" no campo "Campo Senha" Quando clico em "Entrar" Então estou autenticado Caso de TesteCaso de Teste Script ManualScript Manual Tradicional Ágil BDD ManutençãoManutenção AprendizagemAprendizagem ProdutividadeProdutividade ColaboraçãoColaboração
  • 8.
  • 9.
    Funcionalidade: Operar aCalculadora Narrativa: Para obter as operações básicas da calculadora Como um usuário qualquer Desejo resolver problemas matemáticos de forma mais rápida Cenário: Somar Dado que inicio a Calculadora Quando adiciono "5" E adiciono "7" Então seu valor será "12" Escreva suas histórias
  • 10.
    Cenário: Somar Dado queinicio a Calculadora Quando adiciono "5" E adiciono "7" Então seu valor será "12" @When("Quando inicio a Calculadora") public void goToWithName(String local) { } @When("adiciono "$valor"") public void whenAdiciono(double valor) { } @Then("seu valor será "$valor"") public void thenSeuValorSera(double valor) { } Frases mapeadas em métodos
  • 11.
    @ScreenMap(name = "Telade Busca", location = "http://www.google.com.br") public class MyPage { @ElementMap( name = "Campo de Busca", locatorType = ElementLocatorType.Id, locator = "gbqfq") private TextField searchField; @ElementMap( name = "Estou com sorte", locatorType = ElementLocatorType.Id, locator = "gbqfbb") private Button buttonLuckSearch; }
  • 12.
    Projeto DemoiselleDemoiselle Para Automaçãode Testes em BDDBDD http://github.com/demoiselle/behave http://dbehave.com
  • 13.
  • 14.
  • 15.
  • 16.