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 Kubernetes for Full-Stack Developer

32 horas Curso Pratico

Curso OpenShift Docker & Kubernetes

40 horas

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

40 horas

Curso Application Performance Monitoring APM

24 horas