Behavior-Driven Development BDD

  • DevOps | CI | CD | Kubernetes | Web3

Behavior-Driven Development BDD

24 horas
Visão Geral

O curso Behavior-Driven Development (BDD) apresenta os fundamentos, práticas e técnicas para desenvolvimento de software orientado ao comportamento, utilizando exemplos concretos e critérios de aceitação como mecanismo de comunicação entre profissionais de negócio, desenvolvimento e qualidade.

Ao longo do curso, os participantes aprenderão a transformar requisitos e regras de negócio em especificações executáveis, utilizando a abordagem Given-When-Then, a linguagem Gherkin e ferramentas de automação de testes baseadas em BDD.

O treinamento aborda também a integração entre BDD, TDD, ATDD, Agile, DevOps e Continuous Integration/Continuous Delivery (CI/CD), além da aplicação de BDD em aplicações web, APIs e microsserviços.

O curso possui abordagem prática, com exercícios e laboratórios voltados à criação de cenários, automação de testes e validação do comportamento esperado das aplicações.

Objetivo

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

  • Compreender os fundamentos e princípios do Behavior-Driven Development
  • Diferenciar BDD, TDD e ATDD
  • Utilizar BDD para melhorar a comunicação entre negócio, desenvolvimento e qualidade
  • Transformar requisitos em exemplos e cenários comportamentais
  • Criar critérios de aceitação claros e verificáveis
  • Utilizar a abordagem Given-When-Then
  • Escrever especificações utilizando Gherkin
  • Estruturar Features, Scenarios, Backgrounds, Scenario Outlines e Examples
  • Modelar regras de negócio por meio de cenários
  • Identificar cenários positivos, negativos e casos de exceção
  • Evitar cenários excessivamente acoplados à implementação
  • Automatizar cenários BDD
  • Integrar BDD ao processo de testes automatizados
  • Aplicar BDD em APIs e serviços
  • Aplicar BDD em aplicações web
  • Integrar testes BDD aos pipelines de CI/CD
  • Utilizar BDD como instrumento de especificação executável
  • Identificar boas práticas e antipadrões em BDD
  • Estruturar uma estratégia de BDD para projetos reais
Publico Alvo
  • Desenvolvedores de software
  • Engenheiros de software
  • Analistas de sistemas
  • Analistas de requisitos
  • Analistas de QA
  • Engenheiros de testes
  • Testadores de software
  • Arquitetos de software
  • Product Owners
  • Business Analysts
  • Scrum Masters
  • Profissionais de DevOps
  • Profissionais envolvidos com qualidade de software
  • Equipes responsáveis por definição e validação de requisitos
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
  • Familiaridade com metodologias ágeis é recomendada
  • Experiência prévia com alguma linguagem de programação é recomendada para os laboratórios de automação
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
  • Problemas que o BDD procura solucionar
  • Desenvolvimento orientado ao comportamento
  • BDD como prática de colaboração
  • BDD e qualidade de software
  • BDD e especificação de requisitos
  • BDD e exemplos concretos
  • Benefícios e limitações do BDD
  • Quando utilizar BDD

Módulo 2 – BDD, TDD e ATDD

  • Conceitos de TDD
  • Conceitos de ATDD
  • Conceitos de BDD
  • Diferenças entre TDD, BDD e ATDD
  • Relação entre testes unitários, de integração e aceitação
  • Testes orientados à implementação versus comportamento
  • BDD como complemento ao TDD
  • Estratégias de utilização conjunta

Módulo 3 – Colaboração entre Negócio, Desenvolvimento e QA

  • Comunicação entre equipes
  • Linguagem ubíqua
  • Descoberta colaborativa de requisitos
  • Three Amigos
  • Product Owner, Business Analyst, Developer e QA
  • Refinamento de requisitos
  • Identificação de regras de negócio
  • Exemplos como ferramenta de comunicação
  • Especificação por exemplo

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

  • Estrutura de User Stories
  • Valor de negócio
  • Critérios de aceitação
  • Regras de negócio
  • Exemplos concretos
  • Identificação de comportamentos esperados
  • Cenários de sucesso
  • Cenários de exceção
  • Cenários negativos
  • Critérios de aceitação verificáveis

Módulo 5 – Gherkin

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

Módulo 6 – Modelagem de Cenários BDD

  • Como transformar requisitos em cenários
  • Identificação do comportamento
  • Cenários independentes
  • Cenários positivos e negativos
  • Casos de borda
  • Regras de negócio complexas
  • Exemplos representativos
  • Redução de ambiguidades
  • Cenários legíveis para o negócio
  • Evitando cenários excessivamente técnicos
  • Evitando duplicidade de cenários

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

  • Introdução ao Cucumber
  • Arquitetura do Cucumber
  • Features e Step Definitions
  • Implementação dos Steps
  • Hooks
  • Tags
  • Organização dos testes
  • Execução de Features
  • Relatórios de testes
  • Integração com frameworks de testes
  • Boas práticas de automação

Módulo 8 – BDD e Automação de APIs

  • BDD aplicado a APIs REST
  • Especificação de endpoints
  • Cenários de requisição e resposta
  • Validação de status HTTP
  • Validação de payloads
  • Headers
  • Autenticação
  • Cenários de erro
  • Testes de contratos e comportamento
  • Automação de APIs utilizando BDD

Módulo 9 – BDD em Aplicações Web

  • BDD aplicado a aplicações web
  • Automação de fluxos de usuário
  • Elementos de interface
  • Navegação
  • Formulários
  • Validação de comportamento
  • Integração com ferramentas de automação
  • Organização dos testes end-to-end
  • Estratégias para reduzir testes frágeis

Módulo 10 – BDD, TDD e Arquitetura de Software

  • Testabilidade como característica arquitetural
  • Design orientado a comportamento
  • Baixo acoplamento
  • Alta coesão
  • Separação de responsabilidades
  • Test Doubles
  • Mocks
  • Stubs
  • Fakes
  • BDD e arquitetura de microsserviços
  • BDD em sistemas distribuídos

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

  • Automação de testes no pipeline
  • Integração contínua
  • Continuous Delivery
  • Execução automatizada de cenários
  • Geração de relatórios
  • Quality Gates
  • Feedback rápido
  • BDD no processo de entrega de software
  • Integração com ferramentas de CI/CD
  • Estratégias para execução de testes automatizados

Módulo 12 – Boas Práticas e Antipadrões de BDD

  • Como escrever bons cenários
  • Cenários orientados ao comportamento
  • Linguagem voltada ao negócio
  • Evitando cenários excessivamente longos
  • Evitando duplicidade
  • Evitando detalhes de implementação
  • Evitando transformar BDD em simples automação de testes
  • Manutenção das especificações
  • Evolução dos cenários
  • Gestão da suíte de testes
  • Indicadores de qualidade

Módulo 13 – Laboratório Prático

  • Definição de uma funcionalidade
  • Identificação das regras de negócio
  • Construção de User Stories
  • Definição dos critérios de aceitação
  • Criação dos exemplos
  • Escrita dos cenários em Gherkin
  • Implementação dos Step Definitions
  • Automação dos cenários
  • Execução dos testes
  • Análise dos resultados
  • Correção de falhas
  • Refatoração dos cenários
  • Integração com pipeline de CI/CD

Módulo 14 – Estratégia de Implementação de BDD

  • Como introduzir BDD em uma equipe
  • Definição de processos
  • Papéis e responsabilidades
  • Seleção dos primeiros casos de uso
  • Estratégia de adoção incremental
  • Integração com Agile
  • Integração com DevOps
  • Governança das especificações
  • Gestão da suíte automatizada
  • Métricas e indicadores
  • Evolução contínua da prática de BDD
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