SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Big Picture / Process
Modeling
Event Storming
Design-Level Event Storming
Data types
Rules
How to test
Examples
 BDD
이벤트스토밍
현장에 가면
항상 받는
질문
(from 현업)
그런데 세부 요구사항은 어떻게
전달주나요?
나중에 검수를 하기 위한 기준은
어디에 작성하나요?
병렬로 개발하려면 어떻게 해야
하나요?
BDD – 현업이 선언할 수 있는, 테스트 자동화가능한, 요구사항 정의
3
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score should be 10
Example Mapping
– 현업은 일반화를 할 줄 모른다. 하지만 “Example” 은 나열 할 수 있다.
4
Example for Example mapping
5
Change PIN
The two new PINs
should be the same
Should be able to
change PIN
PIN change is successful
• Enter old PIN
• Enter new PIN twice
• Confirm
⇒ Success message
The old PIN should
be correct
Example for Example mapping
6
Formulation: Before Automate the Tests
7
@login
Scenario: New questions should be added to the question list
When I ask a new question with
| Title |
| Test Question 123 |
Then the question should appear in the question list with todays date as
| Title | Views | Votes |
| Test Question 123 | 0 | 0 |
Mapping with Test Code:
Can it be auto-generated?  Today’s Agenda!!!
8
Goal: Contract Test Automation with DevOps
Process
9
Bridging the two
채용공고
접수
Given: 회사 신용도가 A인 채용공고가 등록됨
When: 채용공고접수
Then: 승인
Given: 회사 신용도가 B인 채용공고가 등록됨
When: 채용공고접수
Then: 승인
Given: 회사 신용도가 C인 채용공고가 등록됨
When: 채용공고접수
Then: 반려
Gherkin Formulation
Given: 채용공고가 등록됨
and: 회사 신용도가 <credit>
When: 채용공고접수
Then: 결과는 <result>
Example Data:
credit result
A 승인
B 승인
C 반려
Mapping with
Test Code
Given: 채용공고가 등록됨
and: 회사 신용도가 <credit>
When: 채용공고접수
Then: 결과는 <result>
Idea: Auto generating Step Definition for
Contract Tests
• Step 1: Gherkin formulation generation
• Step 2: Step definition generation:
Given Set the initial state of Aggregate Root
When Call the service or policy handler code or Aggregate’s method
directly
Then Check if the Event has been published or not:
* checking Kafka events directly.
* use Spring cloud stream proxy and check the result. (test double)
References
• https://github.com/ddd-by-examples/library
• https://baasie.com/2018/02/14/combining-domain-driven-design-
and-behaviour-driven-development/
• https://cucumber.io/docs/guides/10-minute-tutorial/
• https://cucumber.io/docs/guides/testable-architecture/

Weitere ähnliche Inhalte

Ähnlich wie 이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기

Ähnlich wie 이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기 (20)

Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
 
examkiller 000-938
examkiller 000-938examkiller 000-938
examkiller 000-938
 
Lead Time: What We Know About It...
Lead Time: What We Know About It...Lead Time: What We Know About It...
Lead Time: What We Know About It...
 
Pega Certified Business Architect (PCBA) Exam | Top 5 Tips
Pega Certified Business Architect (PCBA) Exam | Top 5 TipsPega Certified Business Architect (PCBA) Exam | Top 5 Tips
Pega Certified Business Architect (PCBA) Exam | Top 5 Tips
 
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
'Metrics That Matter': Gabrielle Benefield @ Colombo Agile Con 2014
'Metrics That Matter': Gabrielle Benefield @ Colombo Agile Con 2014'Metrics That Matter': Gabrielle Benefield @ Colombo Agile Con 2014
'Metrics That Matter': Gabrielle Benefield @ Colombo Agile Con 2014
 
Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014
 
[Sample Question] Pega Business Architect (CPBA) Exam
[Sample Question] Pega Business Architect (CPBA) Exam[Sample Question] Pega Business Architect (CPBA) Exam
[Sample Question] Pega Business Architect (CPBA) Exam
 
Process Change Proposal PowerPoint Presentation Slides
Process Change Proposal PowerPoint Presentation SlidesProcess Change Proposal PowerPoint Presentation Slides
Process Change Proposal PowerPoint Presentation Slides
 
Steps in simulation study
Steps in simulation studySteps in simulation study
Steps in simulation study
 
2 ivan pashko - fake it 'til you make it
2   ivan pashko - fake it 'til you make it2   ivan pashko - fake it 'til you make it
2 ivan pashko - fake it 'til you make it
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
 
Cloud Foundry Summit Berlin Keynote
Cloud Foundry Summit Berlin Keynote Cloud Foundry Summit Berlin Keynote
Cloud Foundry Summit Berlin Keynote
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
Codeassess_new_layout
Codeassess_new_layoutCodeassess_new_layout
Codeassess_new_layout
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber Implementation
 
How to Streamline Testing in DevOps With Behavior Driven Development
How to Streamline Testing in DevOps With Behavior Driven DevelopmentHow to Streamline Testing in DevOps With Behavior Driven Development
How to Streamline Testing in DevOps With Behavior Driven Development
 
Microsoft_AZ-104_May_2023-v1.2.pdf
Microsoft_AZ-104_May_2023-v1.2.pdfMicrosoft_AZ-104_May_2023-v1.2.pdf
Microsoft_AZ-104_May_2023-v1.2.pdf
 

Mehr von uEngine Solutions

Mehr von uEngine Solutions (20)

비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce example
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
Microservice coding guide
Microservice coding guideMicroservice coding guide
Microservice coding guide
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approaches
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservices
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 
Building multi tenancy enterprise applications
Building multi tenancy enterprise applicationsBuilding multi tenancy enterprise applications
Building multi tenancy enterprise applications
 
Metaworks4 intro
Metaworks4 introMetaworks4 intro
Metaworks4 intro
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기

  • 1. Big Picture / Process Modeling Event Storming Design-Level Event Storming Data types Rules How to test Examples  BDD
  • 2. 이벤트스토밍 현장에 가면 항상 받는 질문 (from 현업) 그런데 세부 요구사항은 어떻게 전달주나요? 나중에 검수를 하기 위한 기준은 어디에 작성하나요? 병렬로 개발하려면 어떻게 해야 하나요?
  • 3. BDD – 현업이 선언할 수 있는, 테스트 자동화가능한, 요구사항 정의 3 Scenario: Correct easy answer scores 10 Given I register a team When I submit a correct easy answer Then my score should be 10
  • 4. Example Mapping – 현업은 일반화를 할 줄 모른다. 하지만 “Example” 은 나열 할 수 있다. 4
  • 5. Example for Example mapping 5 Change PIN The two new PINs should be the same Should be able to change PIN PIN change is successful • Enter old PIN • Enter new PIN twice • Confirm ⇒ Success message The old PIN should be correct
  • 7. Formulation: Before Automate the Tests 7 @login Scenario: New questions should be added to the question list When I ask a new question with | Title | | Test Question 123 | Then the question should appear in the question list with todays date as | Title | Views | Votes | | Test Question 123 | 0 | 0 |
  • 8. Mapping with Test Code: Can it be auto-generated?  Today’s Agenda!!! 8
  • 9. Goal: Contract Test Automation with DevOps Process 9
  • 10. Bridging the two 채용공고 접수 Given: 회사 신용도가 A인 채용공고가 등록됨 When: 채용공고접수 Then: 승인 Given: 회사 신용도가 B인 채용공고가 등록됨 When: 채용공고접수 Then: 승인 Given: 회사 신용도가 C인 채용공고가 등록됨 When: 채용공고접수 Then: 반려
  • 11.
  • 12. Gherkin Formulation Given: 채용공고가 등록됨 and: 회사 신용도가 <credit> When: 채용공고접수 Then: 결과는 <result> Example Data: credit result A 승인 B 승인 C 반려
  • 13. Mapping with Test Code Given: 채용공고가 등록됨 and: 회사 신용도가 <credit> When: 채용공고접수 Then: 결과는 <result>
  • 14. Idea: Auto generating Step Definition for Contract Tests • Step 1: Gherkin formulation generation • Step 2: Step definition generation: Given Set the initial state of Aggregate Root When Call the service or policy handler code or Aggregate’s method directly Then Check if the Event has been published or not: * checking Kafka events directly. * use Spring cloud stream proxy and check the result. (test double)
  • 15. References • https://github.com/ddd-by-examples/library • https://baasie.com/2018/02/14/combining-domain-driven-design- and-behaviour-driven-development/ • https://cucumber.io/docs/guides/10-minute-tutorial/ • https://cucumber.io/docs/guides/testable-architecture/