Save Lives: Debug Code

Rob Cozens rcozens at pon.net
Fri Apr 14 10:54:41 EDT 2006


Hi Marielle,

> what I would like to get discussed here is about the strategy persons 
> on this list have to prevent bugs getting into their codes in the 
> first place and how to spot and process them when they did.
>

* Automated handler testing over many iterations and many hours

* Use of a library stack so only one version of a handler is used by 
all stacks needing that utility

* When beta testing, I start the testers with the instructions in the 
manual...and nothing else.  I watch to see how the testers progress 
with no more help than any user would find in the software package.  I 
watch the testers to find what processes are unclear to them and look 
for instances where different testers encounter the same problem.

* [Most important] When designing, programming, and testing I always 
assume Murphy is practicing law at every user site.  This means it is 
not enough that the software meets specifications, but that it contains 
provisions to deal with foreseeable consequences when the user does 
something wrong.

For example: If the specs call for numeric input in a field, what does 
the software do when alphabetic data is entered?  Or if two decimal 
separator characters are included in the "number".

So design, scripting, & testing have, in addition to the goal of 
meeting the specifications, a secondary goal of foreseeing possible 
user errors and either preventing them or providing a graceful exit.  
This essentially boils down to asking "what could go wrong here?" at 
every step where user input is allowed and scripting handlers to deal 
with it.

BTW, there is a personal downside to trying to anticipate potential 
errors:  On long motor trips I find myself spending way too much time 
pondering "What would I do if the car broke down here?" and not enough 
time enjoying the scenery.     :{`)

Rob Cozens
CCW, Serendipity Software Company

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)




More information about the use-livecode mailing list