Guide to TDD and Flight to BDD with python/django
by Saket Bhushan (speaking)
Objective
The talk shall cover the following points:
- Introduction and need to carry out TDD.
- Insights into django TDD (what features to test, how to optimize code for TDD, available django libraries that make life easier)
- A demo of unit and integration(selenium) testing for django apps.
- The paradigm shift from TDD to the emerging BDD.
- A demo of Behavior Driven django Development.
Description
The Django framework is a fast, flexible and easy to use framework for developing and deploying web sites, apps and services using Python. TDD has started to get an ubiquitous influence in the django world. The pain with the complexity of improving our service leads us to revaluate our testing practice which further leads to the discovery of better ways to test applications at the similar/higher scale.
What is a unit test? How can writing them prevent classic testing problems? If you do write them, what trade-offs are you implicitly making? Premature optimization sucks, will propose a simpler, more direct path for getting Django tested. Simpler is important, because it makes possible the creation of a developer-accepted bridge. This talk will also cover tools and strategies that you should employ to cover your codebase.
I will share my experiences with testing and discuss designing for maintainability and testability. We will look into the appropriate use of testing tools and libraries, profiling your way to testing awesomeness.
BDD is the bridge between people who can code and people who need code. Clients understand their project but not the code, there should be some means that connects both. BDD extends TDD in an agile environment, it brings in the pattern that seasoned testers discover after few years of experience, we will have an insightful demo of how it can serve you better.
Speaker bio
The speaker is an open source enthusiast, python developer and sysadmin. He currently works on happyfox at tenmiles. Has developed applications in python web frameworks(mainly django), and has realized the need for TDD and the shift to BDD, more about him and the subject in the talk.