1376
Comment:
|
2665
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
=== Summary === | |
Line 14: | Line 15: |
=== Presentation outline === | === Outline === |
Line 18: | Line 19: |
* SCM (subversion) and issue tracking/project management (Trac) * TDD/unit testing (py.test, doctest, nose) * unit tests as documentation (doctest and epydoc) |
* Source control management ([http://subversion.tigris.org/ subversion]) and issue tracking/project management ([http://www.edgewall.com/trac/ Trac]) * TDD/unit testing ([http://codespeak.net/py/current/doc/test.html py.test], [http://docs.python.org/lib/module-doctest.html doctest], [http://somethingaboutorange.com/mrl/projects/nose/ nose], [http://testoob.sourceforge.net/ TestOOB]) * unit tests as documentation ([http://agiletesting.blogspot.com/2005/02/agile-documentation-with-doctest-and.html doctest and epydoc]) |
Line 23: | Line 24: |
* code coverage (the coverage module) * source code analysis (pylint, pyflakes) * acceptance/functional testing (PyFit/FitNesse, TextTest) * performance testing (FunkLoad, twill) |
* code coverage (the [http://www.nedbatchelder.com/code/modules/coverage.html coverage] module) * source code analysis ([http://www.logilab.org/projects/pylint pylint], [http://divmod.org/projects/pyflakes pyflakes]) * acceptance/functional testing ([http://agiletesting.blogspot.com/2004/11/writing-fitnesse-tests-in-python.html PyFit/FitNesse], [http://texttest.org/ TextTest]) * performance testing ([http://funkload.nuxeo.org/ FunkLoad], [http://www.idyll.org/%7Et/www-tools/twill.html twill]) |
Line 29: | Line 30: |
* 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) |
* Web application testing with [http://confluence.public.thoughtworks.org/display/SEL/Home Selenium] and twill * Scripting Selenium tests using a [http://agiletesting.blogspot.com/2005/03/web-app-testing-with-python-part-2.html Twisted-based server] * Python package management ([http://docs.python.org/lib/module-distutils.html distutils], [http://peak.telecommunity.com/DevCenter/setuptools setuptools], [http://tracos.org/cheesecake Cheesecake index]) * Continuous integration and 'smoke test' ([http://buildbot.sourceforge.net/ buildbot]) === Audience === Python developers and testers interested in agile methodologies === Presenter contact info === * [http://agiletesting.blogspot.com Grig Gheorghiu] <grig at gheorghiu dot net> * [http://www.advogato.org/person/titus/ Titus Brown] <titus at caltech dot edu> |
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 ([http://subversion.tigris.org/ subversion]) and issue tracking/project management ([http://www.edgewall.com/trac/ Trac])
TDD/unit testing ([http://codespeak.net/py/current/doc/test.html py.test], [http://docs.python.org/lib/module-doctest.html doctest], [http://somethingaboutorange.com/mrl/projects/nose/ nose], [http://testoob.sourceforge.net/ TestOOB])
unit tests as documentation ([http://agiletesting.blogspot.com/2005/02/agile-documentation-with-doctest-and.html doctest and epydoc])
2nd hour:
code coverage (the [http://www.nedbatchelder.com/code/modules/coverage.html coverage] module)
source code analysis ([http://www.logilab.org/projects/pylint pylint], [http://divmod.org/projects/pyflakes pyflakes])
acceptance/functional testing ([http://agiletesting.blogspot.com/2004/11/writing-fitnesse-tests-in-python.html PyFit/FitNesse], [http://texttest.org/ TextTest])
performance testing ([http://funkload.nuxeo.org/ FunkLoad], [http://www.idyll.org/%7Et/www-tools/twill.html twill])
3rd hour:
Web application testing with [http://confluence.public.thoughtworks.org/display/SEL/Home Selenium] and twill
Scripting Selenium tests using a [http://agiletesting.blogspot.com/2005/03/web-app-testing-with-python-part-2.html Twisted-based server]
Python package management ([http://docs.python.org/lib/module-distutils.html distutils], [http://peak.telecommunity.com/DevCenter/setuptools setuptools], [http://tracos.org/cheesecake Cheesecake index])
Continuous integration and 'smoke test' ([http://buildbot.sourceforge.net/ buildbot])
Audience
Python developers and testers interested in agile methodologies
Presenter contact info
[http://agiletesting.blogspot.com Grig Gheorghiu] <grig at gheorghiu dot net>
[http://www.advogato.org/person/titus/ Titus Brown] <titus at caltech dot edu>