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