SlideShare a Scribd company logo
1 of 18
Intetics Inc.
10001 Tamiami Tr N, Suite 114
Naples, Florida 34108
United States
www.intetics.com
intetics@intetics.com
Office: +1-239-217-4907
TDD & BDD AS
EFFICIENT PRACTICES OF
SOFTWARE DEVELOPMENT
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Software
development
Agile
Kanban
Lean
Development
Test Driven
Development
(TDD)
Extreme
Programming
Scrum
Behavior Driven
Development
(BDD)
Approaches to software development process
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
o Development is a complex task
o Often occurring faults
o Long expectation of test results
o Possibly unpromising test results
o Time consuming bug fixing process
o And more reasons
Why to seek development process optimization?
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Let’s compare these approaches:
VS
Test Driven Development
Behavior Driven Development
Traditional Development
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
This is an approach based on the idea that the
delivery lifecycle should be organized into phases or
stages.
Traditional Approach
Design and
detailed
requirements
gathering
Development Testing Deployment
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
o Testing is one of the latest stages
o Testing results are available only at the end of the cycle
o Fast deployment of low-quality features
o Pushing out the deadlines
o Increasing budget for QA
Characteristics
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
This is a software development life cycle is changed. The
testing stage goes before the actual development
Test-First Approach
Design and
detailed
requirements
gathering
Unit
tests
Development &
refactoring
Functional
tests
Deployment
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
 Tests are held before coding: the code is developed to
pass the tests.
 Tests serve as superior requirements
 Developers write code only to pass tests and make the
refactoring later
Characteristics
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
TDD: Test-Driven Development
This approach is based on the sequence of short
development cycles:
1. Red tests: write the fail tests (the code hasn’t
been produced yet)
2. Green tests: write the code. Make the tests
pass.
3. Refactor: rewrite the code better. Tests
should pass.
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Expected Benefits:
• Developers are focused first on the results and actual
feature realization before coding.
• TDD helps to design code in a more simple way.
• Increasing final product quality
• Helps decrease the overall development time
• Doesn’t require long testing or bug fixing process
• Less lines of code that reduces the overall project
time
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Some TDD difficulties:
• Not easy to implement.
• The developers could produce too many tests or
not enough tests.
• The test suite is seldom used.
• The learning curve of this technique is quite
long.
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Some TDD Limitations:
• Focused on technical specifications rather than
on system behavior and business cases.
• Difficult to deploy if the task is to revise or
modify the product
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
This is a technique that is often considered
as a refinement of TDD. It makes
requirements more clear.
BDD: Behavior-Driven development
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
 Focus on those behaviors of the system that
contribute to the business outcomes
directly.
 Write the requirements in a way that would
be clear to all the project members
 Use specific “Given-When-Then” style for
the requirements specification and
developing scenarios/user stories >>
Principles to follow:
Given
Describes the pre-
condition of the
tests
When
The specified
behavior is
described
Then
Shows the
changes that are
expected in line
with the specified
scenario.
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
Expected benefits
• Clear definition of the requirements improves team
communication
• Makes development process more short and simple.
• Allows using tools that support the automatic
generation of tech and end-user documentation out
of BDD specifications.
• Can make development process cost effective and
efficient.
• Helps to assure the high quality of the future
product.
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
• Could be complicated for implementation.
• All the team members must learn how to
communicate and define the requirements of BDD
templates.
• Requires high professional competencies among the
team members.
• Using BDD in line with a traditional approach can be
unsuccessful.
Some BDD Difficulties
Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States
Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com
What should you get out of these slides?
• It’s difficult to create a good software product when team is not
aware of the work plan and doesn’t use any QA program.
• TDD& BDD approaches are designed to leave behind most of
those gaps.
• By implementing them teams receive a lot more efficient way
to deliver high-quality software.
• TDD & BDD approaches could be combined very efficiently and
the development process presented as two related cycles.
Intetics Inc.
10001 Tamiami Tr N, Suite 114
Naples, Florida 34108
United States
www.intetics.com
intetics@intetics.com
Office: +1-239-217-4907
Contact US:
Intetics Inc.
10001 Tamiami Tr N, suite 114
Naples. Florida 34108
United States
www.intetics.com
intetics@intetics.com
Office: +1-239-217-4907

More Related Content

Similar to TDD & BDD as efficient practices of software development

How Centers of Excellence Can Change Your Business?
How Centers of Excellence Can Change Your Business?How Centers of Excellence Can Change Your Business?
How Centers of Excellence Can Change Your Business?Intetics
 
TETRA
TETRATETRA
TETRAIntetics
 
5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FASTDynatrace
 
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DataOps, DevOps and the Developer: Treating Database Code Just Like App CodeDataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DataOps, DevOps and the Developer: Treating Database Code Just Like App CodeDevOps.com
 
2015_Resume3c
2015_Resume3c2015_Resume3c
2015_Resume3cLee Kamberos
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesPerforce
 
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)JANA, Inc.
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CDRoger Turnau
 
What Can DevOps Learn from Formula 1?
What Can DevOps Learn from Formula 1?What Can DevOps Learn from Formula 1?
What Can DevOps Learn from Formula 1?Stephen Burton
 
Zetta_Consultng_Brief.pptx
Zetta_Consultng_Brief.pptxZetta_Consultng_Brief.pptx
Zetta_Consultng_Brief.pptxYasir Habibullah
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.Teamstudio
 
Performance Continuous Integration
Performance Continuous IntegrationPerformance Continuous Integration
Performance Continuous IntegrationAlmudena Vivanco
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
 
Alfonso Flores TI Resume 2016
Alfonso Flores TI Resume 2016Alfonso Flores TI Resume 2016
Alfonso Flores TI Resume 2016Alfonso Flores
 
Agile Requirements Agile Philly Handouts
Agile Requirements Agile Philly HandoutsAgile Requirements Agile Philly Handouts
Agile Requirements Agile Philly HandoutsDoniel Wilson
 
Agile Requirements Management
Agile Requirements Management Agile Requirements Management
Agile Requirements Management Liana Underwood
 

Similar to TDD & BDD as efficient practices of software development (20)

How Centers of Excellence Can Change Your Business?
How Centers of Excellence Can Change Your Business?How Centers of Excellence Can Change Your Business?
How Centers of Excellence Can Change Your Business?
 
Ruben gambarov
Ruben gambarov  Ruben gambarov
Ruben gambarov
 
TETRA
TETRATETRA
TETRA
 
Serget Kizyan
Serget KizyanSerget Kizyan
Serget Kizyan
 
Proven achievement
Proven  achievementProven  achievement
Proven achievement
 
5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST
 
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DataOps, DevOps and the Developer: Treating Database Code Just Like App CodeDataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
 
2015_Resume3c
2015_Resume3c2015_Resume3c
2015_Resume3c
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development Cycles
 
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
What Can DevOps Learn from Formula 1?
What Can DevOps Learn from Formula 1?What Can DevOps Learn from Formula 1?
What Can DevOps Learn from Formula 1?
 
Zetta_Consultng_Brief.pptx
Zetta_Consultng_Brief.pptxZetta_Consultng_Brief.pptx
Zetta_Consultng_Brief.pptx
 
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.XPages: You Know the 'How to'. Now Learn the 'Why and What'.
XPages: You Know the 'How to'. Now Learn the 'Why and What'.
 
Performance Continuous Integration
Performance Continuous IntegrationPerformance Continuous Integration
Performance Continuous Integration
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliability
 
Alfonso Flores TI Resume 2016
Alfonso Flores TI Resume 2016Alfonso Flores TI Resume 2016
Alfonso Flores TI Resume 2016
 
Agile Requirements Agile Philly Handouts
Agile Requirements Agile Philly HandoutsAgile Requirements Agile Philly Handouts
Agile Requirements Agile Philly Handouts
 
Agile Requirements Management
Agile Requirements Management Agile Requirements Management
Agile Requirements Management
 

More from Intetics

Examples of Selecting Technology and Designing Architecture.pptx
Examples of Selecting Technology and Designing Architecture.pptxExamples of Selecting Technology and Designing Architecture.pptx
Examples of Selecting Technology and Designing Architecture.pptxIntetics
 
Mobile app-monetization-intetics-2020
Mobile app-monetization-intetics-2020Mobile app-monetization-intetics-2020
Mobile app-monetization-intetics-2020Intetics
 
Open source code
Open source codeOpen source code
Open source codeIntetics
 
Visual delivery-reconstruction-for-international Finance Centre
Visual delivery-reconstruction-for-international Finance CentreVisual delivery-reconstruction-for-international Finance Centre
Visual delivery-reconstruction-for-international Finance CentreIntetics
 
Do not even try to be remote without these 6 principles!
Do not even try to be remote without these 6 principles!Do not even try to be remote without these 6 principles!
Do not even try to be remote without these 6 principles!Intetics
 
The Startup Lifecycle: How to Win at Each Stage
The Startup Lifecycle: How to Win at Each Stage The Startup Lifecycle: How to Win at Each Stage
The Startup Lifecycle: How to Win at Each Stage Intetics
 
Machine Learning
Machine LearningMachine Learning
Machine LearningIntetics
 
Cloud computing infographics
Cloud computing infographicsCloud computing infographics
Cloud computing infographicsIntetics
 
Amazon ĐĄloud Migration
Amazon ĐĄloud MigrationAmazon ĐĄloud Migration
Amazon ĐĄloud MigrationIntetics
 
IoT infographic
IoT infographicIoT infographic
IoT infographicIntetics
 
Robotic process automation (RPA) Infographic
Robotic process automation (RPA) InfographicRobotic process automation (RPA) Infographic
Robotic process automation (RPA) InfographicIntetics
 
Industry 4.0 infographic
Industry 4.0 infographicIndustry 4.0 infographic
Industry 4.0 infographicIntetics
 
Industry 4.0
Industry 4.0Industry 4.0
Industry 4.0Intetics
 
A brief history of software development methodologies
A brief history of software development methodologiesA brief history of software development methodologies
A brief history of software development methodologiesIntetics
 
Tetra technical debt reduction platform
Tetra   technical debt reduction platformTetra   technical debt reduction platform
Tetra technical debt reduction platformIntetics
 
The future of outsourcing in Belarus and Ukraine
The future of outsourcing in Belarus and UkraineThe future of outsourcing in Belarus and Ukraine
The future of outsourcing in Belarus and UkraineIntetics
 
A simple History of a Mobile Phone
A simple History of a Mobile PhoneA simple History of a Mobile Phone
A simple History of a Mobile PhoneIntetics
 
What is Quality Assurance and why do you need that?
What is Quality Assurance and why do you need that?  What is Quality Assurance and why do you need that?
What is Quality Assurance and why do you need that? Intetics
 
20 Years of Software Development at Intetics Inc
20 Years of Software Development at Intetics Inc20 Years of Software Development at Intetics Inc
20 Years of Software Development at Intetics IncIntetics
 
How to Choose a Software Development Provider
How to Choose a Software Development ProviderHow to Choose a Software Development Provider
How to Choose a Software Development ProviderIntetics
 

More from Intetics (20)

Examples of Selecting Technology and Designing Architecture.pptx
Examples of Selecting Technology and Designing Architecture.pptxExamples of Selecting Technology and Designing Architecture.pptx
Examples of Selecting Technology and Designing Architecture.pptx
 
Mobile app-monetization-intetics-2020
Mobile app-monetization-intetics-2020Mobile app-monetization-intetics-2020
Mobile app-monetization-intetics-2020
 
Open source code
Open source codeOpen source code
Open source code
 
Visual delivery-reconstruction-for-international Finance Centre
Visual delivery-reconstruction-for-international Finance CentreVisual delivery-reconstruction-for-international Finance Centre
Visual delivery-reconstruction-for-international Finance Centre
 
Do not even try to be remote without these 6 principles!
Do not even try to be remote without these 6 principles!Do not even try to be remote without these 6 principles!
Do not even try to be remote without these 6 principles!
 
The Startup Lifecycle: How to Win at Each Stage
The Startup Lifecycle: How to Win at Each Stage The Startup Lifecycle: How to Win at Each Stage
The Startup Lifecycle: How to Win at Each Stage
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Cloud computing infographics
Cloud computing infographicsCloud computing infographics
Cloud computing infographics
 
Amazon ĐĄloud Migration
Amazon ĐĄloud MigrationAmazon ĐĄloud Migration
Amazon ĐĄloud Migration
 
IoT infographic
IoT infographicIoT infographic
IoT infographic
 
Robotic process automation (RPA) Infographic
Robotic process automation (RPA) InfographicRobotic process automation (RPA) Infographic
Robotic process automation (RPA) Infographic
 
Industry 4.0 infographic
Industry 4.0 infographicIndustry 4.0 infographic
Industry 4.0 infographic
 
Industry 4.0
Industry 4.0Industry 4.0
Industry 4.0
 
A brief history of software development methodologies
A brief history of software development methodologiesA brief history of software development methodologies
A brief history of software development methodologies
 
Tetra technical debt reduction platform
Tetra   technical debt reduction platformTetra   technical debt reduction platform
Tetra technical debt reduction platform
 
The future of outsourcing in Belarus and Ukraine
The future of outsourcing in Belarus and UkraineThe future of outsourcing in Belarus and Ukraine
The future of outsourcing in Belarus and Ukraine
 
A simple History of a Mobile Phone
A simple History of a Mobile PhoneA simple History of a Mobile Phone
A simple History of a Mobile Phone
 
What is Quality Assurance and why do you need that?
What is Quality Assurance and why do you need that?  What is Quality Assurance and why do you need that?
What is Quality Assurance and why do you need that?
 
20 Years of Software Development at Intetics Inc
20 Years of Software Development at Intetics Inc20 Years of Software Development at Intetics Inc
20 Years of Software Development at Intetics Inc
 
How to Choose a Software Development Provider
How to Choose a Software Development ProviderHow to Choose a Software Development Provider
How to Choose a Software Development Provider
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

TDD & BDD as efficient practices of software development

  • 1. Intetics Inc. 10001 Tamiami Tr N, Suite 114 Naples, Florida 34108 United States www.intetics.com intetics@intetics.com Office: +1-239-217-4907 TDD & BDD AS EFFICIENT PRACTICES OF SOFTWARE DEVELOPMENT
  • 2. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Software development Agile Kanban Lean Development Test Driven Development (TDD) Extreme Programming Scrum Behavior Driven Development (BDD) Approaches to software development process
  • 3. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com o Development is a complex task o Often occurring faults o Long expectation of test results o Possibly unpromising test results o Time consuming bug fixing process o And more reasons Why to seek development process optimization?
  • 4. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Let’s compare these approaches: VS Test Driven Development Behavior Driven Development Traditional Development
  • 5. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com This is an approach based on the idea that the delivery lifecycle should be organized into phases or stages. Traditional Approach Design and detailed requirements gathering Development Testing Deployment
  • 6. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com o Testing is one of the latest stages o Testing results are available only at the end of the cycle o Fast deployment of low-quality features o Pushing out the deadlines o Increasing budget for QA Characteristics
  • 7. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com This is a software development life cycle is changed. The testing stage goes before the actual development Test-First Approach Design and detailed requirements gathering Unit tests Development & refactoring Functional tests Deployment
  • 8. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com  Tests are held before coding: the code is developed to pass the tests.  Tests serve as superior requirements  Developers write code only to pass tests and make the refactoring later Characteristics
  • 9. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com TDD: Test-Driven Development This approach is based on the sequence of short development cycles: 1. Red tests: write the fail tests (the code hasn’t been produced yet) 2. Green tests: write the code. Make the tests pass. 3. Refactor: rewrite the code better. Tests should pass.
  • 10. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Expected Benefits: • Developers are focused first on the results and actual feature realization before coding. • TDD helps to design code in a more simple way. • Increasing final product quality • Helps decrease the overall development time • Doesn’t require long testing or bug fixing process • Less lines of code that reduces the overall project time
  • 11. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Some TDD difficulties: • Not easy to implement. • The developers could produce too many tests or not enough tests. • The test suite is seldom used. • The learning curve of this technique is quite long.
  • 12. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Some TDD Limitations: • Focused on technical specifications rather than on system behavior and business cases. • Difficult to deploy if the task is to revise or modify the product
  • 13. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com This is a technique that is often considered as a refinement of TDD. It makes requirements more clear. BDD: Behavior-Driven development
  • 14. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com  Focus on those behaviors of the system that contribute to the business outcomes directly.  Write the requirements in a way that would be clear to all the project members  Use specific “Given-When-Then” style for the requirements specification and developing scenarios/user stories >> Principles to follow: Given Describes the pre- condition of the tests When The specified behavior is described Then Shows the changes that are expected in line with the specified scenario.
  • 15. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com Expected benefits • Clear definition of the requirements improves team communication • Makes development process more short and simple. • Allows using tools that support the automatic generation of tech and end-user documentation out of BDD specifications. • Can make development process cost effective and efficient. • Helps to assure the high quality of the future product.
  • 16. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com • Could be complicated for implementation. • All the team members must learn how to communicate and define the requirements of BDD templates. • Requires high professional competencies among the team members. • Using BDD in line with a traditional approach can be unsuccessful. Some BDD Difficulties
  • 17. Intetics Inc. | 10001 Tamiami Tr N, Suite 114, Naples, Florida 34108, United States Office: +1-239-217-4907 | intetics@intetics.com | www.intetics.com What should you get out of these slides? • It’s difficult to create a good software product when team is not aware of the work plan and doesn’t use any QA program. • TDD& BDD approaches are designed to leave behind most of those gaps. • By implementing them teams receive a lot more efficient way to deliver high-quality software. • TDD & BDD approaches could be combined very efficiently and the development process presented as two related cycles.
  • 18. Intetics Inc. 10001 Tamiami Tr N, Suite 114 Naples, Florida 34108 United States www.intetics.com intetics@intetics.com Office: +1-239-217-4907 Contact US: Intetics Inc. 10001 Tamiami Tr N, suite 114 Naples. Florida 34108 United States www.intetics.com intetics@intetics.com Office: +1-239-217-4907