SlideShare uma empresa Scribd logo
BDD,GWTDOESPECIFICATION
MATCHINGNO.NET
[linkedin, Facebook, Twitter, GitHub, Medium]/yanjustino
TÓPICOS
AGENDA
BDD


Benefícios


Desa
f
ios


GWTDO


Demo
3
Behavior-Driven Development
https://cucumber.io/docs/bdd/
Em BDD, o comportamento (Behavior) do software é
especificado como um conjunto de interações, expressos
como sentenças em linguagem natural, organizadas ao redor
de uma estrutura Given-When-Then(GWT) [1] [2], um
pequeno texto narrativo redigido do ponto de vista do
usuário[3].
5
SCENARIO Aporte inicial


DESCRIÇÃO


Cliente faz aporte inicial em plano de cotização D+0


DADO


Um plano de previdência com cotização inical D+0 (Dias Úteis) E


Que eu tenho um valor de R$ 500,00 para realizar um aporte


QUANDO


Eu realizo esse aporte inicial hoje


ENTÃO


A data de cotização inicial do meu certif
i
cado deve ser hoje
6
Uma das vantagens desse forma
de especificação está na sua
legibilidade: uma vez que, nesse
nível de abstração, se evita
elementos técnicos, facilita-se a
comunicação e a compreensão por
todos todos. Outro aspecto positivo
é como o uso da abordagem
melhora a forma como o software e
seu código-fonte é documentado. "A
documentação é o código de
trabalho"!
BENEFÍCIOS


DESAFIOS


Se por um lado a legibilidade e a fácil
documentação do código são vantagens,
gerenciar as especificações é um desafio
particular: o rasteio de falhas, a duplicação
de elementos da especificação e a
necessidade de mante-la em adição aos
testes de unidade são exemplos de problemas
associados a BDD.
SPECIFICATIONS
TESTE FIXTURE
C#
X ⇒ Y|Y = f : PAQ
"Um plano de previdência com cotização inical D+0 (Dias Úteis)".MapAction(PlanoCotizacaoD0
)
DEMO
1. L. P
. Binamungu, S. M. Embury and N. Konstantinou, “Maintaining behavior driven
development specifications: Challenges and opportunities,” 2018 IEEE 25th International
Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy,
2018, pp. 175–184, doi: 10.1109/SANER.2018.8330207.


2. Fowler, M., 2021. bliki: GivenWhenThen. [online] martinfowler.com. Available at: <https://
martinfowler.com/bliki/GivenWhenThen.html> [Accessed 19 April 2021].


3. Engenharia de Software — 8ª Edição. (2016). (n.p.): McGraw Hill Brasil.


4. L. da Silva and P
. Vilain, “Execution and code reuse between test classes,” in 2016 IEEE 14th
International Conference on Software Engineering Research, Management and Applications
(SERA), Towson, MD, USA, 2016 pp. 99–106. doi: 10.1109/SERA.2016.7516134 —
keywords: {fixtures;robustness;testing;proposals;informatics;writing} — url: https://
doi.ieeecomputersociety.org/10.1109/SERA.2016.7516134


5. Wake, B., 2021. 3A — Arrange, Act, Assert — XP123. [online] Xp123.com. Available at:
<https://xp123.com/articles/3a-arrange-act-assert/> [Accessed 20 April 2021].
REFERÊNCIAS
Artigos, Livros e Websites que fundamentaram essa palestra
OBRIGADO!!!
E ATÉ A PRÓXIMA

Mais conteúdo relacionado

PDF
Behavior Driven Development - Unificando propostas de negócio com testes e có...
PPTX
Desenvolvimento dirigido por comportamento e por teste
PPTX
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
PPTX
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
PPTX
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
PDF
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
PPTX
Behavior-Driven Development (BDD) - Abril/2017
PPTX
TDD e BDD - Developers-SP - Abril/2017
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Desenvolvimento dirigido por comportamento e por teste
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Behavior-Driven Development (BDD) - Abril/2017
TDD e BDD - Developers-SP - Abril/2017

Semelhante a LIVE: BDD, GWTDO e Specification Matching no .NET (20)

PDF
Desenvolvimento BDD
PPT
Behaviour Driven Development
PPTX
Behavior-Driven Development (BDD) - DevOps Summit 2016
PDF
BDD em Ação
PPTX
Workshop de Introdução ao BDD
PDF
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
PPTX
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
PPTX
Behaviour driven development, com jbehave
PPTX
Behavior driven development
PDF
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
PDF
BDD em Testes de Serviço
PDF
BDD - JBehave + SeleniumHQ + PhantomJS + Fixture Factory
PPTX
BDD (Behavior-Driven Development) - Setembro/2015
PPTX
Boas práticas de desenvolvimento Ágil
PPTX
Introdução à BDD (Behavior-driven Development)
PDF
Teste de software
PDF
Testes utilizando cucumber + PhantomJs
Desenvolvimento BDD
Behaviour Driven Development
Behavior-Driven Development (BDD) - DevOps Summit 2016
BDD em Ação
Workshop de Introdução ao BDD
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Behaviour driven development, com jbehave
Behavior driven development
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
BDD em Testes de Serviço
BDD - JBehave + SeleniumHQ + PhantomJS + Fixture Factory
BDD (Behavior-Driven Development) - Setembro/2015
Boas práticas de desenvolvimento Ágil
Introdução à BDD (Behavior-driven Development)
Teste de software
Testes utilizando cucumber + PhantomJs
Anúncio

Mais de Yan Justino (20)

PDF
TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...
PDF
Criando multi-agent systems com .net Hosted Services
PDF
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
PDF
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
PDF
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
PDF
Modernizando plataformas eGovernment: migração do sistema Uvt
PDF
Modernizando plataformas e-Government : Lições e Método
PDF
DocumentDb: escalando sua aplicação
PDF
Atacando as complexidades no coração do software
PDF
Introdução ao Aspnet Core
PDF
Vssummit 2016 - DDD em cenários corporativos
PDF
Bounded Context e CQRS na evolução de aplicações .NET legadas
PDF
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
PPT
Padroes de projetos gof
PDF
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
PDF
Angular - Ruby Morning
PDF
Angular
PPTX
GDG NATAL - Dart Flight School
PPTX
Si - Segurança da Informação
PPTX
C# limpo
TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...
Criando multi-agent systems com .net Hosted Services
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Modernizando plataformas eGovernment: migração do sistema Uvt
Modernizando plataformas e-Government : Lições e Método
DocumentDb: escalando sua aplicação
Atacando as complexidades no coração do software
Introdução ao Aspnet Core
Vssummit 2016 - DDD em cenários corporativos
Bounded Context e CQRS na evolução de aplicações .NET legadas
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
Padroes de projetos gof
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Angular - Ruby Morning
Angular
GDG NATAL - Dart Flight School
Si - Segurança da Informação
C# limpo
Anúncio

Último (16)

PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Arquitetura de computadores - Memórias Secundárias
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18

LIVE: BDD, GWTDO e Specification Matching no .NET

  • 2. [linkedin, Facebook, Twitter, GitHub, Medium]/yanjustino
  • 5. https://cucumber.io/docs/bdd/ Em BDD, o comportamento (Behavior) do software é especificado como um conjunto de interações, expressos como sentenças em linguagem natural, organizadas ao redor de uma estrutura Given-When-Then(GWT) [1] [2], um pequeno texto narrativo redigido do ponto de vista do usuário[3]. 5
  • 6. SCENARIO Aporte inicial 
 DESCRIÇÃO Cliente faz aporte inicial em plano de cotização D+0 
 DADO Um plano de previdência com cotização inical D+0 (Dias Úteis) E Que eu tenho um valor de R$ 500,00 para realizar um aporte 
 QUANDO Eu realizo esse aporte inicial hoje 
 ENTÃO A data de cotização inicial do meu certif i cado deve ser hoje 6
  • 7. Uma das vantagens desse forma de especificação está na sua legibilidade: uma vez que, nesse nível de abstração, se evita elementos técnicos, facilita-se a comunicação e a compreensão por todos todos. Outro aspecto positivo é como o uso da abordagem melhora a forma como o software e seu código-fonte é documentado. "A documentação é o código de trabalho"! BENEFÍCIOS DESAFIOS Se por um lado a legibilidade e a fácil documentação do código são vantagens, gerenciar as especificações é um desafio particular: o rasteio de falhas, a duplicação de elementos da especificação e a necessidade de mante-la em adição aos testes de unidade são exemplos de problemas associados a BDD.
  • 9. X ⇒ Y|Y = f : PAQ "Um plano de previdência com cotização inical D+0 (Dias Úteis)".MapAction(PlanoCotizacaoD0 )
  • 10. DEMO
  • 11. 1. L. P . Binamungu, S. M. Embury and N. Konstantinou, “Maintaining behavior driven development specifications: Challenges and opportunities,” 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 2018, pp. 175–184, doi: 10.1109/SANER.2018.8330207. 
 2. Fowler, M., 2021. bliki: GivenWhenThen. [online] martinfowler.com. Available at: <https:// martinfowler.com/bliki/GivenWhenThen.html> [Accessed 19 April 2021]. 
 3. Engenharia de Software — 8ª Edição. (2016). (n.p.): McGraw Hill Brasil. 
 4. L. da Silva and P . Vilain, “Execution and code reuse between test classes,” in 2016 IEEE 14th International Conference on Software Engineering Research, Management and Applications (SERA), Towson, MD, USA, 2016 pp. 99–106. doi: 10.1109/SERA.2016.7516134 — keywords: {fixtures;robustness;testing;proposals;informatics;writing} — url: https:// doi.ieeecomputersociety.org/10.1109/SERA.2016.7516134 
 5. Wake, B., 2021. 3A — Arrange, Act, Assert — XP123. [online] Xp123.com. Available at: <https://xp123.com/articles/3a-arrange-act-assert/> [Accessed 20 April 2021]. REFERÊNCIAS Artigos, Livros e Websites que fundamentaram essa palestra