Pepino - Visão Geral

Para tirar o melhor proveito dos testes de software, as organizações estão hoje dando um passo à frente. Eles implementam cenários de teste de aceitação importantes enquanto o desenvolvimento está em andamento. Esta abordagem é comumente conhecida comoBehavior Driven Development (BDD).

O Desenvolvimento Orientado a Comportamento nos dá a oportunidade de criar scripts de teste da perspectiva do desenvolvedor e do cliente também. Portanto, no início, os desenvolvedores, gerentes de projeto, QAs, testadores de aceitação do usuário e o proprietário do produto (acionista), todos se reúnem e fazem um brainstorm sobre quais cenários de teste devem ser aprovados para chamar este software / aplicativo de sucesso. Dessa forma, eles apresentam um conjunto de cenários de teste. Todos esses scripts de teste estão em inglês simples, portanto, também servem para fins de documentação.

Exemplo

Se estivermos desenvolvendo um recurso de autenticação de usuário, os seguintes cenários podem ser alguns dos principais cenários de teste, que precisam ser aprovados para considerá-lo um sucesso.

  • O usuário deve ser capaz de fazer o login com nome de usuário e senha corretos.

  • O usuário não deve conseguir fazer o login com nome de usuário e senha incorretos.

  • O usuário não deve conseguir fazer o login com o nome de usuário correto e a senha incorreta.

Como funciona

Quando o código está pronto, os scripts de teste também estão prontos. O código deve passar pelos scripts de teste definidos no BDD. Se isso não acontecer, será necessária a refatoração do código. O código é congelado somente após a execução bem-sucedida de scripts de teste definidos.

É uma noção muito simples, mas é o que precisamos para ter esse conceito implementado. A resposta é: Estrutura de desenvolvimento orientado por comportamento (BDD). Cucumber é uma dessas ferramentas de código aberto, que oferece suporte ao desenvolvimento orientado por comportamento. Para ser mais preciso, o Cucumber pode ser definido como uma estrutura de teste, conduzida por texto simples em inglês. Ele serve como documentação, testes automatizados e um auxílio ao desenvolvimento - tudo em um.

Então, o que Cucumber faz? Ele pode ser descrito nas seguintes etapas -

Cucumber lê o código escrito em texto simples em inglês (Language Gherkin - a ser apresentado posteriormente neste tutorial) no arquivo de recurso (a ser apresentado posteriormente).

Ele encontra a correspondência exata de cada etapa na definição da etapa (um arquivo de código - detalhes fornecidos posteriormente no tutorial).

O pedaço de código a ser executado pode ser diferentes estruturas de software como Selenium, Ruby on Rails, etc. Nem todas as ferramentas de estrutura BDD suportam todas as ferramentas.

Esse se tornou o motivo da popularidade do Cucumber em relação a outros frameworks, como JBehave, JDave, Easyb, etc.

Cucumber suporta mais de uma dúzia de plataformas de software diferentes, como -

  • Ruby on Rails
  • Selenium
  • PicoContainer
  • Spring Framework
  • Watir

Vantagens do pepino sobre outras ferramentas

  • Cucumber oferece suporte a diferentes linguagens como Java.net e Ruby.

  • Ele atua como uma ponte entre o negócio e a linguagem técnica. Podemos fazer isso criando um caso de teste em texto simples em inglês.

  • Permite que o script de teste seja escrito sem conhecimento de nenhum código, permite também o envolvimento de não programadores.

  • Ele serve ao propósito de estrutura de teste ponta a ponta, ao contrário de outras ferramentas.

  • Devido à arquitetura de script de teste simples, o Cucumber oferece capacidade de reutilização de código.