PyCon2006/Tutorials/AgileDevelopmentAndTestingInPython
This wiki is in the process of being archived due to lack of usage and the resources necessary to serve it — predominately to bots, crawlers, and LLM companies. Edits are discouraged.
Pages are preserved as they were at the time of archival. For current information, please visit python.org.
If a change to this archive is absolutely needed, requests can be made via the infrastructure@python.org mailing list.
Agile development and testing in Python
Summary
We will present a Python application that we developed together as an "agile team", using agile development and testing approaches, techniques and tools. The value of the tutorial will consist on one hand in detailing the development and testing methodologies we used, and on the other hand in demonstrating specific Python tools that we used for our development and testing. We will cover TDD, unit testing, code coverage, functional/acceptance testing, Web application testing, continuous integration, source code management, issue tracking, project management, documentation, Python package management.
Outline
1st hour:
- Intro: agile development and testing concepts
Source control management (subversion) and issue tracking/project management (Trac)
unit tests as documentation (doctest and epydoc)
2nd hour:
code coverage (the coverage module)
acceptance/functional testing (PyFit/FitNesse, TextTest)
3rd hour:
Web application testing with Selenium and twill
Scripting Selenium tests using a Twisted-based server
Python package management (distutils, setuptools, Cheesecake index)
Continuous integration and 'smoke test' (buildbot)
Audience
Python developers and testers interested in agile methodologies
Presenter contact info
Grig Gheorghiu <grig at gheorghiu dot net>
Titus Brown <titus at caltech dot edu>