I, Testbot
By Ralf Holly, April 11, 2006
Source Code Accompanies This Article. Download It Now.
Testbots let you move the effort of building and testing from your shoulders to that of software robots.
loop forever
sleep for 5 minutes
check versioning system for new deliveries
if new deliveries since last testbot run
get list of developers who delivered
foreach developer who delivered
send 'test started' email
checkout code based on last delivery
execute build
if build problems
foreach team member
send 'build problems' email
redo loop
execute smoke test
if smoke test problems
foreach team member
send 'smoke test problems' email
redo loop
foreach developer who delivered
send 'test successful' email
redo loop
Listing One: Testbot pseudocode implementation.
loop forever
sleep for 5 minutes
check versioning system for new deliveries
if new deliveries since last testbot run
get list of developers who delivered
drop 'build in progress' cookie (target.current)
foreach developer who delivered
send 'test started' email
checkout code based on last delivery
execute build
if build major problems
drop 'build major problems' cookie (target.lkb)
foreach team member
send 'build problems' email
redo loop
if build minor problems
drop 'build minor problems' cookie (target.lkb)
foreach team member, architect, project lead
send 'build minor problems' email
redo loop
execute smoke test
if smoke test problems
drop 'smoke test problems' cookie (target.lkb)
foreach team member
send 'smoke test problems' email
redo loop
drop 'test successful' cookie (target.lkgb)
remove 'build in progress' cookie (target.current)
foreach developer who delivered
send 'test successful' email
redo loop
Listing Two: Extended version of Testbot.