BLOG

Behavior-Driven Development (BBDs): facilitando a criação e revisão de software com IA

Saiba o que é Behavior-Driven Development ou BDD e como a StackSpot AI pode ajudar a criar e revisar um BDD.

Se você já se aventurou na automação de testes ou buscou simplificar a definição das regras de negócio do seu software, certamente já se deparou com a linguagem Gherkin para elaborar BDDs (Behavior-Driven Development).

Essa linguagem é um componente chave no contexto do BDD para automação, pois facilita a padronização, documentação e reutilização de códigos e funcionalidades, alinhando-os às regras de negócio durante a escrita dos testes.

Neste artigo, você vai descobrir como a StackSpot IA pode facilitar e, além disso, agilizar a maneira como você escreve e aprimora seus BDDs.

O que é BDD?

BDD, Behavior-Driven Development ou Desenvolvimento Guiado por Comportamento, é uma metodologia focada em aprimorar a comunicação entre equipes, adotando práticas que descrevem o comportamento do software de maneira ágil e compreensível. 

O Behavior-Driven Development fomenta a colaboração entre as equipes de negócios, desenvolvimento e qualidade, promovendo a troca de ideias e superando o desafio de simplificar tanto a compreensão dos testes quanto a do próprio software.

O BDD foi apresentado pela primeira vez em 2000, por Dan North. Conheça mais sobre essa técnica neste artigo.

Agora que você já sabe o que é BDD, está na hora de ver como a StackSpot AI pode tornar todo esse processo mais simples.

Como a StackSpot IA ajuda na criação de BDD

Embora a linguagem Gherkin siga um padrão estruturado de etapas e palavras-chave, que devem ser elaboradas com base nas regras de negócio, a maneira como o BDD é escrito pode variar de acordo com a experiência do indivíduo responsável por sua redação.

É aqui que entra a “mágica” da StackSpot IA! Recomenda-se fortemente o uso da extensão StackSpot IA no Visual Studio Code para redigir, sugerir melhorias e aplicar boas práticas ao seu BDD, tudo de maneira ágil e simplificada.

Criando um BDD com a StackSpot IA

Em primeiro lugar, vamos começar criando um BDD a partir de uma especificação de software (que também foi gerada pela StackSpot IA):

Gherkin
Especificação de História de Software

Título: Busca pelo termo "Como usar a StackSpot" no celular utilizando o navegador Google Chrome

Como um usuário interessado, Quero realizar uma busca pelo termo "Como usar a StackSpot" no meu celular, Para que eu possa aprender a utilizar a plataforma StackSpot através do navegador Google Chrome.

Critérios de Aceitação:
Acessibilidade ao Navegador:

Dado que eu tenho um celular com o navegador Google Chrome instalado,
Quando eu abrir o navegador,
Então devo ser capaz de acessar a barra de endereços.
Realização da Busca:

Dado que estou na página inicial do Google Chrome,
Quando eu digitar "Como usar a StackSpot" na barra de endereços ou na barra de pesquisa do Google,
E pressionar o botão de busca ou "Enter",
Então devo ver uma lista de resultados relacionados ao termo buscado.
Acesso ao Conteúdo:

Dado que os resultados da busca são exibidos,
Quando eu clicar em um dos resultados que pareça fornecer informações sobre como usar a StackSpot,
Então devo ser redirecionado para a página correspondente,
E ser capaz de ler as informações sobre como utilizar a plataforma StackSpot.
Usabilidade em Dispositivos Móveis:

Dado que eu acessei uma página com informações sobre como usar a StackSpot,
Quando eu navegar pela página,
Então o conteúdo deve ser exibido de forma legível e adaptada para a tela do meu celular,
E eu devo ser capaz de interagir com quaisquer elementos interativos, como links ou botões, sem dificuldades.

Feedback Visual:

Dado que estou interagindo com a página,
Quando eu selecionar um link ou botão,
Então deve haver um feedback visual indicando minha ação, como uma mudança de cor ou um efeito de clique.
Notas:
A busca deve ser realizada utilizando uma conexão de internet estável para evitar problemas de carregamento.
O usuário deve garantir que o navegador Google Chrome esteja atualizado para a melhor experiência possível.
Esta história não cobre instruções específicas sobre como instalar o Google Chrome em dispositivos móveis, assumindo que o usuário já possui o navegador instalado e pronto para uso.
Fora do Escopo:
Instalação do navegador Google Chrome no celular.
Resolução de problemas de conexão com a internet.
Ações específicas dentro do site da StackSpot após encontrar as informações desejadas.

Para que a StackSpot IA entenda ela como sua base para trabalho, basta salvar essa especificação em um arquivo e manter o seu conteúdo selecionado, nenhuma outra configuração é necessária.

Escreva no seu prompt: “Crie um BDD em linguagem gherkin para a história selecionada”.

Nesse sentido, este é o resultado do Behavior-Driven Development pela tecnologia StackSpot IA:

Imagem do Behavior-Driven Development criado pela StackSpot IA na tela do Plugin dentro do Visual Studio Code. 

Veja o BDD gerado:

Gherkin
# language: pt

Funcionalidade: Busca pelo termo "Como usar a StackSpot" no celular utilizando o navegador Google Chrome
  Como um usuário interessado
  Quero realizar uma busca pelo termo "Como usar a StackSpot" no meu celular
  Para que eu possa aprender a utilizar a plataforma StackSpot através do navegador Google Chrome

  Contexto:
    Dado que eu tenho um celular com o navegador Google Chrome instalado

  Cenário: Acessibilidade ao Navegador
    Quando eu abrir o navegador
    Então devo ser capaz de acessar a barra de endereços

  Cenário: Realização da Busca
    Dado que estou na página inicial do Google Chrome
    Quando eu digitar "Como usar a StackSpot" na barra de endereços ou na barra de pesquisa do Google
    E pressionar o botão de busca ou "Enter"
    Então devo ver uma lista de resultados relacionados ao termo buscado

  Cenário: Acesso ao Conteúdo
    Dado que os resultados da busca são exibidos
    Quando eu clicar em um dos resultados que pareça fornecer informações sobre como usar a StackSpot
    Então devo ser redirecionado para a página correspondente
    E ser capaz de ler as informações sobre como utilizar a plataforma StackSpot

  Cenário: Usabilidade em Dispositivos Móveis
    Dado que eu acessei uma página com informações sobre como usar a StackSpot
    Quando eu navegar pela página
    Então o conteúdo deve ser exibido de forma legível e adaptada para a tela do meu celular
    E eu devo ser capaz de interagir com quaisquer elementos interativos, como links ou botões, sem dificuldades

  Cenário: Feedback Visual
    Dado que estou interagindo com a página
    Quando eu selecionar um link ou botão
    Então deve haver um feedback visual indicando minha ação, como uma mudança de cor ou um efeito de clique

Pronto! A StackSpot IA criou um BDD completo baseado em sua história funcional. Entretanto, é importante lembrar que a StackSpot trabalha com a base de conhecimento fornecida e quanto mais detalhes fornecidos mais rica de detalhes sua escrita será!

Melhorando um Behavior-Driven Development Existente

Dessa forma, se você já tem um BDD e acha que ele precisa ser melhorado, a StackSpot IA pode te ajudar a reescrever da melhor forma e, consequentemente, auxiliar no entendimento e aprendizado.

Utilizando agora um exemplo já escrito:

Gherkin
#language: pt

@Melhorando_seu_bdd_com_StackPot_IA
Feature: Realizando negociação pelo aplicativo Mobile Cash

Contexto: Usuário com permissão de negociação
Dado que eu esteja autenticado no aplicativo Mobile Cash
E possua permissão para renegociar contratos
E possua contratos para negociação 
E clico no acesso menu 
E clico em negociação 
E aguardo o carregamento da área de negociação

Cenario: CT01 - Acesso ao menu negociação 
Então o aplicativo deve permitir acesso ao menu negociação 

Cenario: CT02 - Acesso ao menu negociar
Quando clico em negociar
Então o aplicativo deve redirecionar para a lista de contratos disponiveis para negociação

Cenario: CT03 - Acesso ao menu Quitar contratos
Quando clico em quitar contratos
Então o aplicativo deve redirecionar para a lista de contratos disponiveis para quitação

Cenário : CT04 - Acesso ao menu Contratos bloqueados
Quando clico em contratos bloqueados
Então o aplicativo deve redirecionar para a lista de contratos bloqueados para renegociação

Cenário: CT05 - Validar a negociação
Quando clico em negociar
E acesso a lista de contratos
E escolho um contratos 
E clico no checkbox de escolha
E clico no botão Selecionar contratos
E verifico as condições de negociação
E escolho as condições desejadas com entrada de 1000 reais e o restante em 12 vezes
E clico em Negociar contrato 
Então o aplicativo deve mostrar tela de sucesso para negociação realizada

*Dados meramente ilustrativos*

Selecione o conteúdo do BDD e repasse para a análise da StackSpot IA utilizando o prompt de comando:  “Revise e refatore com as melhores práticas de BDD o arquivo selecionado”

Sendo assim, o resultado final será esse: 

Gherkin
#language: pt

@Melhorando_seu_bdd_com_StackPot_IA
Feature: Realizando negociação pelo aplicativo Mobile Cash

  Contexto: Usuário com permissão de negociação
    Dado que eu esteja autenticado no aplicativo Mobile Cash com o usuário "usuario_teste" e senha "senha_segura"
    E possua permissão para renegociar contratos
    E possua contratos para negociação listados na seção "Contratos Disponíveis"
    Quando eu acesso o menu principal
    E seleciono a opção "Negociação"

  Cenário: CT01 - Acesso ao menu negociação
    Então o aplicativo deve exibir a área de negociação com as opções "Negociar", "Quitar Contratos" e "Contratos Bloqueados"

  Cenário: CT02 - Acesso ao menu negociar
    Quando eu seleciono a opção "Negociar"
    Então o aplicativo deve exibir a lista de contratos disponíveis para negociação

  Cenário: CT03 - Acesso ao menu Quitar contratos
    Quando eu seleciono a opção "Quitar Contratos"
    Então o aplicativo deve exibir a lista de contratos disponíveis para quitação

  Cenário: CT04 - Acesso ao menu Contratos bloqueados
    Quando eu seleciono a opção "Contratos Bloqueados"
    Então o aplicativo deve exibir a lista de contratos bloqueados para renegociação

  Cenário: CT05 - Validar a negociação de um contrato
    Dado que eu esteja na lista de contratos disponíveis para negociação
    Quando eu seleciono um contrato com o ID "12345"
    E marco o contrato para negociação
    E seleciono "Selecionar Contratos"
    E defino as condições de negociação para entrada de "1000" reais e o restante em "12" parcelas
    E confirmo a negociação
    Então o aplicativo deve exibir uma mensagem de sucesso "Negociação realizada com sucesso!"

  Cenário: CT06 - Tentativa de negociação sem seleção de contrato
    Dado que eu esteja na lista de contratos disponíveis para negociação
    Quando eu tento negociar sem selecionar um contrato
    Então o aplicativo deve exibir uma mensagem de erro "Selecione um contrato para negociar."

  Cenário: CT07 - Verificação de condições de negociação inválidas
    Dado que eu esteja na tela de condições de negociação para o contrato com ID "67890"
    Quando eu insiro uma entrada inválida de "-500" reais
    E tento confirmar a negociação
    Então o aplicativo deve exibir uma mensagem de erro "Entrada inválida. Por favor, insira um valor positivo."

Por fim, é importante que você faça uma revisão do conteúdo gerado pela StackSpot IA, entenda as dicas e aprenda mais sobre BDD utilizando nossa ferramenta de IA! 

Agora é só aprender, refatorar e aproveitar! 

Com a ajuda da StackSpot IA, você pode criar e aprimorar a escrita de BDDs. Em outras palavras, isso facilitando o processo de automação de testes. Além disso, é possível elevar a qualidade de comunicação de todo o time de engenharia de software trazendo benefícios reais e padronizações que podem vir a simplificar a complexidade do negócio que, muita das vezes, é bem grande. 

Dessa forma, mais informações, dicas e tutoriais não deixe de acessar a documentação oficial da StackSpot AI

Para finalizar, assista a uma versão deste tutorial em nosso canal oficial no YouTube. Certamente, há muita informação relevante nesse conteúdo.

Juntos, podemos transformar a maneira como desenvolvemos, testamos e entregamos software, tornando o processo mais eficiente, colaborativo e, acima de tudo, mais alinhado com as necessidades do negócio e das pessoas usuárias finais.

Por fim, tem alguma dúvida ou sugestão? Então deixe um comentário!

Posts relacionados

Continue explorando a StackSpot AI

Ícone de uma Folha de Documentos, na cor laranja vibrante, sobre fundo transparente.

Cases

Confira como impulsionamos negócios com soluções que economizam tempo.

Ícone de um Livro, na cor laranja vibrante, sobre fundo transparente.

Imprensa

Confira as últimas notícias, conteúdos e destaques da StackSpot na mídia.

Ícone de uma Pasta de documentos, na cor laranja vibrante, sobre fundo transparente.

Docs

Tudo o que você precisa para dominar a StackSpot AI, de forma simples e em um só lugar.

Ícone de uma Pessoa representando um Usuário, na cor laranja vibrante, sobre fundo transparente.

Sobre

Sua plataforma de agentes inteligentes para todo o ciclo de desenvolvimento.

Receba a nossa newsletter

Compartilhamos insights, artigos e conteúdos relevantes sobre tecnologia. Uma vez por mês, sem encher sua caixa de entrada.