Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Introdução ao BDD
Rating: 4.2 out of 5(33 ratings)
344 students

Introdução ao BDD

Aprenda os fundamentos do BDD, escreva cenários claros e automatize testes com ferramentas como Cucumber
Created byClaudio Coelho
Last updated 1/2025
Portuguese

What you'll learn

  • Entenda o que é BDD, seus princípios e como ele se diferencia de TDD e ATDD.
  • Aprenda a usar Gherkin para criar cenários de teste claros e compreensíveis, incluindo tabelas e exemplos.
  • Utilize ferramentas como Cucumber para executar testes e explore outras alternativas de frameworks.
  • Entenda como o BDD se encaixa em práticas ágeis e pipelines de integração contínua e automação.
  • Saiba envolver stakeholders, facilitar workshops e melhorar a comunicação entre equipes com BDD.
  • Reconheça práticas inadequadas no BDD e aprenda a aplicar melhores práticas para evitar problemas.
  • Esteja preparado para lidar com desafios comuns na adoção do BDD e resolver problemas no uso desse método.
  • Aplique os conceitos aprendidos desenvolvendo e apresentando um projeto prático ao final do curso.
  • Aprenda a organizar cenários de teste mais complexos usando boas práticas de estruturação e manutenção.
  • Use o BDD para alinhar necessidades do negócio com o desenvolvimento técnico e atender expectativas.

Course content

8 sections23 lectures1h 40m total length
  • Introdução ao BDD5:19

    Introdução ao Tópico:

    Nesta aula, introduziremos o conceito de Behavior-Driven Development (BDD), uma prática inovadora no desenvolvimento de software que promove a colaboração entre desenvolvedores, QA e stakeholders não técnicos. Ao final desta aula, você compreenderá a essência do BDD e sua importância no alinhamento dos objetivos do negócio com o desenvolvimento técnico.

    Explicação do Conteúdo:

    1. Definição e Objetivos do BDD:

      • O BDD é uma metodologia de desenvolvimento de software que foca na descrição do comportamento desejado do sistema através de exemplos concretos.

      • Objetiva promover uma comunicação clara entre todos os envolvidos no projeto, garantindo que todos compartilhem a mesma compreensão sobre o que está sendo desenvolvido.

    2. História e Evolução do BDD:

      • O BDD surgiu como uma evolução do TDD (Test-Driven Development) no início dos anos 2000, com o intuito de tornar o processo de desenvolvimento mais acessível para stakeholders não técnicos.

      • Influenciado por práticas de desenvolvimento ágil e centrado na comunicação eficaz e no entendimento comum.

    3. Comparação com TDD e ATDD:

      • TDD (Test-Driven Development): Enfatiza a criação de testes antes da implementação do código. Foca na funcionalidade do software.

      • ATDD (Acceptance Test-Driven Development): Envolve stakeholders na definição de critérios de aceitação antes do desenvolvimento.

      • BDD: Amplia o conceito do TDD ao incluir a especificação do comportamento do sistema em uma linguagem comum, geralmente através de Gherkin, facilitando o envolvimento de todos os stakeholders.

    4. Benefícios do BDD para o Desenvolvimento de Software:

      • Promove uma melhor compreensão e alinhamento dos requisitos do negócio com a equipe técnica.

      • Reduz o retrabalho, pois todos os envolvidos têm uma visão clara do que o sistema deve fazer.

      • Melhora a qualidade do software, pois os cenários de BDD servem como documentação viva e testes automatizados.

    Exemplos Práticos:

    Exemplo 1:

    • Cenário em Gherkin:

      gherkinCopy

      Feature: Calculadora

        Scenario: Soma de dois números

          Given que eu tenho uma calculadora

          When eu somo 2 e 3

          Then o resultado deve ser 5


    • Explicação: Este exemplo demonstra como descrever o comportamento esperado de uma funcionalidade em termos simples que qualquer pessoa envolvida no projeto pode entender.

    Exemplo 2:

    • Cenário em Gherkin:

      gherkinCopy

      Feature: Login de Usuário

        Scenario: Login bem-sucedido

          Given que o usuário está na página de login

          When ele insere credenciais válidas

          Then ele deve ser redirecionado para o dashboard


    • Explicação: Este cenário ilustra o comportamento esperado do sistema durante um login, ajudando a alinhar as expectativas da equipe técnica e dos stakeholders.

  • BDD vs TDD e ATDD6:01

    Introdução ao tópico da aula

    Nesta aula, vamos explorar as diferenças entre Behavior-Driven Development (BDD), Test-Driven Development (TDD) e Acceptance Test-Driven Development (ATDD). Ao final, você será capaz de identificar quando e como aplicar cada metodologia no desenvolvimento de software.

    Conteúdo Detalhado

    1. Filosofias e Princípios de BDD, TDD e ATDD

      • BDD (Behavior-Driven Development):

        • Foco na colaboração entre desenvolvedores, QA e não-programadores ou partes interessadas.

        • Uso de linguagem ubíqua para descrever o comportamento do sistema.

        • Exemplos e cenários são escritos em Gherkin.

      • TDD (Test-Driven Development):

        • Desenvolvimento orientado a testes unitários.

        • Ciclo: Escrever teste -> Implementar código -> Refatorar.

        • Foco na funcionalidade do código.

      • ATDD (Acceptance Test-Driven Development):

        • Envolve stakeholders na definição de critérios de aceitação.

        • Testes de aceitação são escritos antes do desenvolvimento.

        • Foca em garantir que o software atende às expectativas do cliente.

    2. Vantagens e Desvantagens de Cada Abordagem

      • BDD:

        • Vantagens: Facilita a comunicação, documentação viva.

        • Desvantagens: Pode ser visto como redundante sem uma boa adoção cultural.

      • TDD:

        • Vantagens: Código mais limpo e testável.

        • Desvantagens: Pode ser demorado, requer disciplina.

      • ATDD:

        • Vantagens: Alinhamento com expectativas de negócios.

        • Desvantagens: Requer colaboração intensa, desafios na definição de critérios.

    3. Cenários Ideais para o Uso de BDD

      • Projetos que exigem comunicação clara entre equipes multifuncionais.

      • Sistemas complexos onde o comportamento é crítico.

      • Ambientes ágeis que valorizam feedback contínuo.

    4. Exemplos Práticos de Integração de Metodologias

      • Exemplo 1: Projeto de e-commerce

        • Uso de BDD para definir cenários de compra e checkout.

        • TDD para implementar funcionalidades específicas, como cálculo de frete.

        • ATDD para validar fluxo de checkout com stakeholders.

      • Exemplo 2: Sistema de banco online

        • BDD para descrever interações de alto nível, como transferências.

        • TDD para garantir precisão em cálculos financeiros.

        • ATDD para assegurar conformidade com regulamentações.

  • Testes 2: BDD vs TDD e ATDD
  • Princípios e Filosofia do BDD4:19

    Introdução ao Tópico da Aula:

    • Nesta aula, exploraremos os princípios fundamentais que orientam o Behavior-Driven Development (BDD) e como eles se aplicam na prática diária de desenvolvimento de software. Ao final desta aula, você compreenderá como a colaboração, automação e documentação viva são centrais para o BDD e como esses princípios podem melhorar a qualidade do software e a comunicação entre equipes.

    Explicação Concisa e Detalhada:

    1. Princípios Fundamentais do BDD:

      • O BDD é centrado na colaboração entre equipes técnicas e de negócios para garantir que o software atenda às necessidades reais dos usuários.

      • Foco na clareza e entendimento comum através de uma linguagem ubíqua e exemplos concretos.

    2. Colaboração Entre Equipes Técnicas e de Negócios:

      • Importância de envolver stakeholders desde o início para alinhar expectativas e requisitos.

      • Use de exemplos e cenários escritos em linguagem natural para facilitar a comunicação.

    3. Automação de Testes e Documentação Viva:

      • Como a automação de testes, através de frameworks como Cucumber, pode transformar cenários escritos em testes automatizados.

      • O conceito de documentação viva, onde os cenários de BDD documentam o comportamento atual do sistema e evoluem junto com o software.

    4. Envolvimento de Stakeholders no Desenvolvimento:

      • Técnicas para engajar stakeholders e garantir que suas necessidades sejam refletidas nos cenários de BDD.

      • Benefícios de uma comunicação contínua e feedback durante o ciclo de desenvolvimento.

    Exemplos Práticos com Explicação de Passo a Passo:

    • Exemplo 1: Colaboração em Ação

      • Mostrar um cenário onde uma equipe técnica e de negócios trabalham juntas para definir um requisito usando BDD.

      • Passo a passo de como o cenário é transformado em um teste automatizado.

    • Exemplo 2: Documentação Viva

      • Demonstrar como um cenário de BDD pode ser usado como documentação viva ao longo do ciclo de vida do software.

      • Passo a passo de como as mudanças no software são refletidas na documentação.

  • Testes 3: Princípios e Filosofia do BDD
  • Testes 1: Introdução ao BDD

Requirements

  • Mesmo sem experiência avançada, você poderá acompanhar o curso. Todo o conteúdo será explicado de forma clara, com foco em iniciantes no BDD.
  • É importante que os alunos tenham uma compreensão geral sobre como o desenvolvimento de software funciona, incluindo conceitos básicos de programação.
  • Ter noções de testes de software (como testes unitários ou testes automatizados) será útil, mas não obrigatório.
  • Os alunos precisarão de um computador para acompanhar as práticas e uma conexão estável à internet para acessar o conteúdo do curso.
  • Para atividades práticas, será necessário ter um editor de código (como VS Code) e uma linguagem de programação configurada (como Java, Python ou outra de sua escolha). O curso explicará como usar isso no contexto do BDD.

Description

Transforme a forma como você desenvolve software com o poder do Behavior-Driven Development (BDD)!

Você já enfrentou problemas de comunicação entre equipes de desenvolvimento, QA e stakeholders? Já passou por situações em que os requisitos de um projeto ficaram confusos ou mal documentados? Ou talvez você esteja em busca de uma forma mais eficiente de alinhar o desenvolvimento técnico às necessidades reais do negócio?

O Behavior-Driven Development (BDD) é uma abordagem moderna e colaborativa que ajuda a resolver esses problemas, promovendo alinhamento entre todas as partes envolvidas em um projeto. Com este curso "Introdução ao BDD", você aprenderá tudo o que precisa para começar a aplicar essa poderosa metodologia no seu dia a dia.

O Que Você Vai Aprender?

  • Os fundamentos do BDD e como ele se diferencia de TDD e ATDD.

  • Como escrever cenários claros e compreensíveis usando a linguagem Gherkin.

  • Como usar ferramentas como Cucumber para automatizar testes baseados em BDD.

  • Melhores práticas para aplicar o BDD em ambientes ágeis e pipelines de integração contínua.

  • Como envolver stakeholders e melhorar a comunicação entre equipes técnicas e de negócio.

  • Identificar e evitar antipadrões, superando desafios comuns no uso do BDD.

  • Criar um projeto prático, aplicando todos os conceitos aprendidos ao longo do curso.

Por Que Este Curso É Para Você?

Este curso foi criado para desenvolvedores, QAs, analistas de negócios, product owners, estudantes de tecnologia e qualquer pessoa que queira dominar o BDD. Não importa se você é iniciante ou já tem experiência, o conteúdo foi pensado para ser claro, prático e aplicável desde o primeiro momento.

O Que Mais Você Vai Ganhar?

  • Acesso a materiais ricos e exemplos práticos.

  • A possibilidade de trabalhar em um projeto final real.

  • Conhecimento para estruturar cenários complexos e criar testes alinhados às necessidades reais do negócio.

Ao final do curso, você estará pronto para aplicar o BDD em seus projetos, promovendo colaboração, comunicação e alinhamento entre equipes, transformando a forma como você entrega valor aos seus clientes.

Não perca tempo! Inscreva-se agora e dê um passo à frente na sua carreira.

Who this course is for:

  • Desenvolvedores Iniciantes e Intermediários: Profissionais que desejam aprender práticas modernas de desenvolvimento e melhorar a colaboração com equipes de negócio.
  • Testadores de Software (QA): Especialistas em qualidade que querem escrever cenários de teste claros e automatizá-los com ferramentas como Cucumber.
  • Scrum Masters e Agile Coaches: Profissionais que buscam implementar o BDD para melhorar a comunicação e o alinhamento em equipes ágeis.
  • Product Owners e Gerentes de Produto: Líderes de produto interessados em alinhar requisitos de negócio com a equipe técnica usando cenários claros e objetivos.
  • Analistas de Negócios: Analistas que precisam traduzir requisitos de negócio em cenários compreensíveis para todos os envolvidos.
  • Estudantes de Tecnologia: Alunos ou recém-formados em cursos de tecnologia que querem adicionar o BDD ao seu conjunto de habilidades.
  • Profissionais de Automação de Testes: Engenheiros que desejam adotar o BDD para criar testes automatizados alinhados com requisitos reais de negócios.
  • Equipes de Desenvolvimento de Produtos Digitais: Times buscando aprimorar sua colaboração e o alinhamento entre áreas técnicas e de negócio.
  • Consultores de Tecnologia: Profissionais que ajudam empresas a adotar metodologias modernas e querem incluir o BDD em suas práticas.
  • Qualquer Pessoa Interessada em BDD: Curiosos e profissionais de qualquer área que desejam entender e aplicar os fundamentos do Behavior-Driven Development.