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 Docker Kubernetes Istio

40 horas

Curso Cloud-Native Infrastructure with Azure

32 horas

Curso CI CD Strategies with Docker & Kubernetes

24 horas

Curso Kubernetes for Full-Stack Developer

32 horas Curso Pratico

Curso Zadara Certified Cloud Practitioner

24 horas