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):
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:
Veja o BDD gerado:
# 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:
#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:
#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!