Pular para o conteúdo principal

Behavior-Driven Development (BDDs)

Criando e revisando processos de behavior-driven development (BDD) com a StackSpot AI

Behavior-Driven Development (BDD) é uma metodologia que visa melhorar a comunicação da equipe empregando práticas que descrevem o comportamento do software de maneira ágil e direta. O BDD promove a colaboração entre as equipes de negócios, desenvolvimento e qualidade, permitindo que troquem ideias e abordem a dificuldade de tornar os testes e o software mais compreensíveis.

Usando a extensão StackSpot AI no Visual Studio Code para escrever, sugerir melhorias e aplicar as melhores práticas ao seu BDD ao escrever em Gherkin. Os passos abaixo mostram um exemplo de como fazer isso. 

Passos

  1. Abra a extensão da StackSpot AI na sua IDE e crie um BDD com base nas especificações do software. Confira um exemplo:
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.

  1. Então, digite “Crie um BDD na linguagem Gherkin para a história selecionada” no chat da extensão da StackSpot AI. Confira o exemplo:
  • História do usuário
Título: Pesquisar pelo termo Como usar a StackSpot no celular usando o navegador Google Chrome
Como um usuário interessado, quero realizar uma pesquisa pelo termo Como usar a StackSpot no meu celular para que eu possa aprender a usá-lo.

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

Dado que eu tenho um celular com o navegador Google Chrome instalado, devo ser capaz de acessar a barra de endereços quando abrir o navegador.

Desempenho da Pesquisa:
Dado que estou na página inicial do Google, quando eu digitar Como usar o StackSpot na barra de endereços ou na barra de pesquisa do Google e pressionar o botão de pesquisa ou `Enter`, devo ver uma lista de resultados relacionados ao termo de pesquisa.

Acessar o conteúdo:
Dado que os resultados da pesquisa são exibidos, quando eu clicar em um dos resultados que fornecem informações sobre como usar a StackSpot, devo ser redirecionado para a página correspondente e ser capaz de ler os detalhes sobre como usar a plataforma da StackSpot.
Usabilidade em dispositivos móveis 

  1. A StackSpot AI gerou um BDD completo com base na história funcional. Exemplo: 
# 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

Melhore seu BDD existente

Se você já tem um BDD, use a StackSpot AI para reescrevê-lo e melhorá-lo.

  1. Adicione o exemplo abaixo no chat e escreva para a StackSpot AI: “Revise e refatore o arquivo selecionado usando as melhores práticas de BDD.” 

#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

Cenário: CT01 - Acesso ao menu negociação
Então o aplicativo deve permitir acesso ao menu negociação

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

Cenário: 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

  • O resultado será:
#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."
  1. Agora, basta revisar o conteúdo gerado pela StackSpot AI e pronto!

A StackSpot AI aprimora a criação e o refinamento de BDDs, agilizando a automação de testes. Ela também melhora a comunicação dentro das equipes de engenharia de software, oferecendo benefícios tangíveis e padronizações que simplificam processos de negócios complexos.

Vídeo & Blog