Agile Testing Goodies from PyCon 2006

A number of testing frameworks were used. The Agile Testing tutorial provides a path through the toolsets, showing what you can do, and how you should do it.

Unit Testing: [Nose ], <{filename}/blog/2005/11/2005_11_09-compare_and_contrast_round_3_revised.rst>

Acceptance Testing: [FitNesse ]

Regression Testing: [TextTest ]

Functional Testing: [twill ]. A thorough analysis is …

more ...

Control Break Reporting

Note

This referred to the old Active State Programmers Network, ASPN, Python Cookbook. The code has been moved to the ActiveState Code site. Likely, the fact that it's Python 2 means it is no longer online.

Control Break Reporting is a design pattern that has been around since the earliest …

more ...

After Perl, what? (Revised)

The Problem

Perl's old. And Perl is without shame about adopting every syntax gimmick on earth. Consequently, Perl has accreted enough features that Perl programs are hard to read, making them impossible to maintain. More thoughts on this opacity problem in Gadgetopia http://www.gadgetopia.com/post/1919 and Freshmeat …

more ...

testresources

testresources http://www.robertcollins.net/unittest/testresources/ purpose appears to be to manage the resources used by a test suite.

Adding this resource management context extends the Test Suite to optimize tests around the resources. This can reshuffle the TestCases to minimize SetUp's. This can be useful in contexts where …

more ...

SubUnit

SubUnit's http://www.robertcollins.net/unittest/subunit/ purpose appears to be to manage testing via subprocesses.

Consequently, it can run external tests not in Python, it can fork a subprocess to manage the Fixture in an isolated process.

Adding this subprocess execution context extends the Test Runner implementation of the …

more ...

Twisted Trial


More Frameworks! (rev. 3)

A wiki page on Python testing tools http://pycheesecake.org/wiki/PythonTestingToolsTaxonomy identifies a number of additional unit testing tools. The wiki page provides a handy summary. I'll examine these in light of the Beck Unit Test design patterns to provide a little more detail on what they really do …

more ...

Compare and Contrast (round 3, revised)


Compare and Contrast (round 2)


Compare and Contrast (round 1)

Some Basis for Comparison

The object-oriented unit testing framework began as Smalltalk's Beck Test framework http://www.xprogramming.com/testfram.htm. It evolved to the JUnit http://www.junit.org/index.htm framework for Java. Beck defined four repeated patterns of unit testing software:

The Fixture. The thing we are …

more ...