Agile Testing Articles and Tutorials

This is a central repository of links to the various articles and tutorials that I posted so far on my Agile Testing blog, as well as links to some of my talks and presentations. Enjoy!

Grig Gheorghiu (grig at gheorghiu dot net)

Talks and presentations

"Practical Applications of (Agile) Web Testing Tools" tutorial at PyCon 2008 (PDF slides)
"Python Testing Tools" tutorial at PyCon 2007 (PDF slides)
"Agile Development and Testing in Python" tutorial at PyCon 2006
"Agile Documentation -- using tests as documentation" talk at PyCon 2006
"Agile Testing with Python Test Frameworks" talk at PyCon 2005

Python Testing Tools

Python Testing Tools Taxonomy

Unit testing

Unit testing in Python part 1: unittest
Unit testing in Python part 2: doctest
Unit testing in Python part 3: py.test
Michael Feathers on unit testing rules
Are unit tests free when TDD-ing?

Acceptance testing

PyFIT/FitNesse Tutorial Part 1
PyFIT/FitNesse Tutorial Part 2
PyFIT/FitNesse Tutorial Part 3
Running FitNesse tests from the command line
Should acceptance tests talk to the database?
Should acceptance tests be included in the continuous build process?
On the importance of functional testing

Web application testing

Web app testing with Jython and HttpUnit
Web app testing with Python part 1: MaxQ
Web app testing with Python part 3: twill
In-process Web app testing with twill, wsgi_intercept and doctest
Acceptance tests for Web apps: GUI vs. business logic

Selenium-specific articles

30-second Selenium installation tutorial
Web application testing with Python part 2: Selenium and Twisted
Quick update on Selenium in TestRunner mode
Quick update on Selenium in Twisted Server mode
Using Selenium to test a Plone site (part 1)
Using Selenium to test a Plone site (part 2)
New features in Selenium 0.3
Article on Selenium in Oct. 2005 issue of "Better Software"
Selenium at OpenQA
Running Selenium in Python Driven Mode
Testing 'Commentary' (and thus Ajax) with Selenium
Useful tools for writing Selenium tests
Remote Web app testing with Selenium IDE

Ajax testing with Selenium using waitForCondition
Running the Selenium Twisted server on Linux
30-second Selenium installation tutorial
Selenium test creation and maintenance with

Performance/load/stress testing

pyUnitPerf Tutorial
HTTP performance testing with httperf, autobench and openload
Performance vs. load vs. stress testing
More on performance vs. load testing

Continuous integration

Continuous integration with buildbot
Running buildbot on various platforms

Automated test distribution, execution and reporting

STAF/STAX Tutorial

General testing topics

Beware of timings in your tests
Quick black-box testing example
White-box vs. black-box testing

Agile Documentation

Agile Documentation with doctest and epydoc
Agile documentation in the Django project

The Cheesecake project

Cheesecake: How tasty is your code?
Cheesecake project on SourceForge
A whiff of Cheesecake
More Cheesecake bits
New home for Cheesecake and Sparkplot projects

Cheesecake 0.6 released

The Pybots project

Pybots -- Python Community Buildbots
Setting up Pybots buildslave


Resetting MySQL account passwords
Installing and using cx_Oracle on Unix
Installing Python 2.4.1 and cx_Oracle on AIX
Installing the Firebird database on a 64-bit RHEL Linux server
Martin Fowler on in-memory databases and testing

Python on Windows

Handling the 'Path' Windows registry value correctly
Running a Python script as a Windows service

System Administration and Security

Automating system administration tasks with pexpect
Mounting local file systems using the 'bind' mount type
Telecommuting via ssh tunneling
Managing DNS zone files with dnspython
Configuring OpenLDAP as a replacement for NIS
Chroot-ed FTP with wu-ftpd
System monitoring via SNMP
Compiling and installing a custom Linux kernel
Xen installation and configuration

Apache and Tomcat

Configuring Apache 2 and Tomcat 5.5 with mod_jk

Apache virtual hosting with Tomcat and mod_jk
File sharing with Apache and WebDAV
A couple of Apache performance tips
Compiling mod_python on RHEL 64-bit

Data visualization

sparkplot: creating sparklines with matplotlib

The py library

Keyword-based logging with the py library
py lib gems: greenlets and py.xml
'py library overview' slides


Jakob Nielsen on Usability Testing
Jakob Nielsen on Blog Usability

Book reviews

Book Review of "The Art of Security Testing" for Dr. Dobb's Journal

Other articles

They still teach Waterfall in schools
Mind mapping
Ambition and the 25% rule
Oblique Strategies and testing
Python as an agile language