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

Imagem capa do conteúdo sobre Behavior-Driven Development. Programadora feminina escrevendo código de programação em frente a 3 telas.
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!

Consuma inovação,
comece a transformação

Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios

Related posts