Hi from Paris, Many - many years ago, I came across a simple program written to print out paychecks (in 1401 AutoCoder, for anybody who wants to know). The input to the program was .... you've guessed it ... punched cards, containing basic information, such as :
1 - a code (1 for man, 2 for woman), 2 - Employee code number (six digits), 3 - Employee name (25 characters) 4 - Number of hours worked in the week (3 digits) The program needed the sex code, because the hourly rate for a woman was less than that of a man (nothing has changed, even 40 years later !). Tests were conclusive, the programmer eliminated invalid employee codes, and hours worked in excess of 45, etc, etc. So the programmer did a run on REAL data for the current month. The program blew 30 seconds later ...... but only because the employee was ..... neither a man or a woman ...... From then on, programmers were instructed to FIRST test their programs with blank cards ....... Bugs usually exist because programmers don't think of things that can NEVER happen, but do ! And their test data is usually incomplete and insufficient ! When you flick a coin into the air, you might say that there is a 50/50 chance of either heads or tails. No Way ! - the coin may land on the edge, so you must envisage the third (small) possibility .......... No Way - because the coin may not come down at all (at all !), so you have to think of zero gravity ...... NOW - do you think we have covered all the bases in your "simple" system ? Norbert Weiner may not agree ! -Francis "Nothing should ever be done for the first time !" _______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
