Curso Behavior-Driven Development BDD

  • DevOps | CI | CD | Kubernetes | Web3

Curso Behavior-Driven Development BDD

24 horas
Visão Geral

O curso Behavior-Driven Development (BDD) apresenta os conceitos, princípios e práticas do Desenvolvimento Orientado a Comportamento, capacitando os participantes a transformar requisitos de negócio em especificações claras, verificáveis e, quando aplicável, automatizadas.

A abordagem BDD promove uma linguagem comum entre áreas de negócio, Product Owners, analistas, desenvolvedores e profissionais de qualidade, utilizando exemplos concretos para definir o comportamento esperado das aplicações.

Durante o treinamento, os participantes aprenderão a trabalhar com User Stories, critérios de aceitação, especificação por exemplos, cenários comportamentais, linguagem Gherkin e automação de testes BDD, além de compreender a relação entre BDD, TDD, ATDD, Agile, DevOps e CI/CD.

O curso possui abordagem prática, com exercícios e laboratórios para criação de especificações, definição de cenários, implementação de testes automatizados e validação do comportamento de aplicações.

Objetivo

Após realizar este curso Behavior-Driven Development (BDD), você será capaz de:

  • Compreender os fundamentos e princípios do BDD
  • Entender o papel do BDD no processo de desenvolvimento de software
  • Diferenciar BDD, TDD e ATDD
  • Utilizar especificação por exemplos para esclarecer requisitos
  • Transformar requisitos em comportamentos observáveis
  • Definir critérios de aceitação claros e verificáveis
  • Criar cenários utilizando a abordagem Given, When e Then
  • Utilizar a linguagem Gherkin
  • Estruturar Features, Scenarios, Backgrounds, Scenario Outlines e Examples
  • Identificar cenários positivos, negativos e casos de exceção
  • Trabalhar colaborativamente na definição de cenários
  • Evitar ambiguidades nos requisitos
  • Criar especificações orientadas ao comportamento
  • Automatizar cenários BDD
  • Utilizar ferramentas como Cucumber ou equivalentes
  • Aplicar BDD em APIs e aplicações web
  • Integrar testes BDD aos processos de CI/CD
  • Identificar boas práticas e antipadrões
  • Estruturar uma estratégia de adoção de BDD em equipes de desenvolvimento
Publico Alvo
  • Desenvolvedores de software
  • Engenheiros de software
  • Analistas de sistemas
  • Analistas de requisitos
  • Product Owners
  • Business Analysts
  • Analistas de QA
  • Engenheiros de testes
  • Testadores de software
  • Arquitetos de software
  • Tech Leads
  • Scrum Masters
  • Profissionais de DevOps
  • Profissionais envolvidos com qualidade de software
  • Equipes de desenvolvimento e sustentação de sistemas
Pre-Requisitos
  • Conhecimentos básicos de desenvolvimento de software
  • Conhecimentos básicos sobre testes de software
  • Conhecimentos básicos sobre requisitos e histórias de usuário
  • Conhecimentos básicos de metodologias ágeis são recomendados
  • Conhecimentos básicos de programação são recomendados para os laboratórios de automação
  • Familiaridade com Git é recomendada
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Módulo 1 – Fundamentos de Behavior-Driven Development

  • O que é Behavior-Driven Development
  • Origem e evolução do BDD
  • Objetivos do BDD
  • Problemas que o BDD procura solucionar
  • BDD como prática de engenharia de software
  • BDD e qualidade de software
  • BDD e requisitos
  • BDD e especificação por exemplos
  • Benefícios e limitações
  • Quando utilizar BDD

Módulo 2 – BDD, TDD e ATDD

  • Fundamentos de TDD
  • Fundamentos de ATDD
  • Fundamentos de BDD
  • Diferenças entre TDD, BDD e ATDD
  • Relação entre testes unitários e testes de aceitação
  • Testes orientados à implementação
  • Testes orientados ao comportamento
  • Como TDD e BDD podem trabalhar juntos
  • Estratégias para integração das práticas

Módulo 3 – BDD e Colaboração entre Equipes

  • Comunicação entre negócio, desenvolvimento e QA
  • Linguagem ubíqua
  • Colaboração na descoberta de requisitos
  • Conceito de Three Amigos
  • Participação de Product Owners
  • Participação de Business Analysts
  • Participação de desenvolvedores
  • Participação de profissionais de QA
  • Refinamento colaborativo
  • Identificação de regras de negócio
  • Exemplos como ferramenta de comunicação

Módulo 4 – User Stories e Critérios de Aceitação

  • Estrutura de User Stories
  • Necessidades do usuário
  • Valor de negócio
  • Regras de negócio
  • Critérios de aceitação
  • Definição de comportamentos esperados
  • Exemplos concretos
  • Cenários de sucesso
  • Cenários alternativos
  • Cenários negativos
  • Casos de exceção
  • Identificação de ambiguidades
  • Transformação de requisitos em exemplos

Módulo 5 – Especificação por Exemplos

  • Conceito de Specification by Example
  • Exemplos concretos
  • Exemplos como documentação viva
  • Identificação de regras de negócio
  • Exemplos versus casos de teste
  • Exemplos relevantes
  • Cenários de fronteira
  • Casos de exceção
  • Descoberta colaborativa
  • Construção de uma especificação executável

Módulo 6 – Gherkin

  • Introdução à linguagem Gherkin
  • Estrutura de uma Feature
  • Feature
  • Scenario
  • Given
  • When
  • Then
  • And
  • But
  • Background
  • Scenario Outline
  • Examples
  • Tags
  • Organização das Features
  • Boas práticas de escrita

Módulo 7 – Modelagem de Cenários

  • Como identificar comportamentos
  • Transformação de requisitos em cenários
  • Cenários independentes
  • Cenários positivos
  • Cenários negativos
  • Casos de borda
  • Regras de negócio
  • Cenários alternativos
  • Cenários de exceção
  • Granularidade dos cenários
  • Como evitar cenários excessivamente longos
  • Como evitar detalhes de implementação

Módulo 8 – Cucumber e Automação BDD

  • Introdução ao Cucumber
  • Arquitetura do Cucumber
  • Features
  • Step Definitions
  • Hooks
  • Tags
  • Execução dos cenários
  • Organização do projeto
  • Integração com frameworks de testes
  • Relatórios
  • Tratamento de falhas
  • Boas práticas de automação
  • Laboratório de automação BDD

Módulo 9 – BDD Aplicado a APIs

  • BDD para APIs REST
  • Definição de comportamentos de APIs
  • Cenários de requisição
  • Validação de respostas
  • Status HTTP
  • Headers
  • Payloads
  • Autenticação
  • Cenários de erro
  • Validação de regras de negócio
  • Automação de testes de APIs
  • Laboratório de BDD para APIs

Módulo 10 – BDD Aplicado a Aplicações Web

  • BDD para aplicações web
  • Comportamentos orientados ao usuário
  • Fluxos de navegação
  • Formulários
  • Autenticação
  • Validação de funcionalidades
  • Automação de cenários
  • Integração com ferramentas de automação web
  • Testes end-to-end
  • Estratégias para reduzir testes frágeis

Módulo 11 – BDD, DevOps e CI/CD

  • BDD no ciclo de desenvolvimento
  • Integração contínua
  • Continuous Delivery
  • Execução automatizada dos cenários
  • Relatórios de testes
  • Quality Gates
  • Feedback rápido
  • Integração com pipelines
  • Estratégias de execução
  • BDD como parte da estratégia de qualidade

Módulo 12 – Boas Práticas, Antipadrões e Estratégia de Adoção

  • Características de bons cenários
  • Cenários legíveis para o negócio
  • Especificações independentes
  • Manutenção das Features
  • Evitando duplicidade
  • Evitando cenários excessivamente técnicos
  • Evitando detalhes de implementação
  • Evitando BDD como simples automação
  • Testes frágeis
  • Excesso de cenários
  • Manutenção da documentação executável
  • Estratégia de adoção do BDD
  • Implantação incremental
  • Governança das especificações

Módulo 13 – Laboratório Integrado

Desenvolvimento de uma funcionalidade completa utilizando a abordagem BDD.

O laboratório contemplará:

  • Análise de uma User Story
  • Identificação das regras de negócio
  • Definição dos exemplos
  • Criação dos critérios de aceitação
  • Construção dos cenários
  • Escrita em Gherkin
  • Revisão colaborativa dos cenários
  • Implementação dos Step Definitions
  • Automação dos testes
  • Execução dos cenários
  • Análise dos resultados
  • Correção de falhas
  • Refatoração das especificações
  • Execução da suíte completa

Módulo 14 – Projeto Prático Final

Desenvolvimento de uma especificação comportamental completa para uma funcionalidade de negócio.

O projeto deverá contemplar:

  • Definição da User Story
  • Identificação dos atores
  • Levantamento das regras de negócio
  • Especificação por exemplos
  • Critérios de aceitação
  • Cenários positivos e negativos
  • Cenários de exceção
  • Escrita dos cenários em Gherkin
  • Automação dos principais cenários
  • Execução dos testes
  • Geração de resultados
  • Integração com pipeline de CI/CD
  • Avaliação da qualidade das especificações
  • Refatoração e melhoria dos cenários
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Databricks Advanced Engineering AI ML and Data Products Nivel Intermediario Avancado

32 horas

Google Professional DevOps Engineer Advanced Monitoring & Incident Response

32 horas Curso Pratico

Curso Google Professional DevOps Engineer CI/CD Techniques & Security Practices

32 horas Curso Pratico

Curso Site Reliability Engineering SRE Improving Service

32 horas Curso Pratico

Curso SQL For Data Analysis Advanced Techniques for Transforming Data into Insights

40 horas