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