Our experience with Behavior Driven Development in Python
3Pillar Global
Dan Claudiu Pop
Ramona Suciu
Our project...
- Media streaming
- 30M unique visitors/month
- Linux, Python, Django, AWS
- 99.98% uptime
Testers vs. Developers
...instead of strong collaboration
Quality - A Team Effort
Strong collaboration and shared understanding
are the keys to obtain...
What exactly is BDD?
- An evolution in thinking behind TDD
- Communication and collaboration
- Different perspective on the system
- Better engagement with our clients
- ...and so much more
What do we want from BDD?
- Confidence in our product's quality
- Less rework
- Better work alignment
- Implementing changes efficiently
- Living documentation
In the beginning...
The product management team...
...has an idea
Next
The same idea...
BACKLOG
The team gathers around
Product Management
Business Analyst
Business Analysts?!?
tech leads
developers
...and testers
The team takes the idea...
Various discussions emerge...
...and finally, a story appears
Challenges along the way...
- Getting our clients on board
- Using Gherkin language at its best
- Striving towards Living Documentation
Gherkin example
Where to now?
- Permanent communication
- Context driven approach
- Testable code
- Living Documentation
Test the right product, the right way!
TESTS THAT RUN > TEST PLANS THAT SIT ON A SHELF
The Pragmatic Bookshelf