"Tested," "Reusable,' that's what was hot.
But the Grinch of Reality sulked in his cave,
Saying, "Hear them all talk of the time that they'll save!"
The Grinch hated Coders, and liked them to sweat.
He thought, "I can make them unhappy, I'll bet!"
He read through 12 texts, then looked up with a grin:
"Why, this is as good as original sin!"
He read with a chortle, "An object or class,
Is like a black box hiding all that it has.
Its details invisible: All that you know
Is what should go in and what answers will show."
He slunk to the West Coast and into a lab,
Where chip engineers were at work at their fab.
He heard their boss saying, "Forget testing tricks:
This one is the same as a 486!"
His chance had now come. From their math microcode,
He struck out one line as it went to download.
And the Grinch watched with barely containable glee
As the chips with their bugs shipped across land and sea.
And each of those chips went to some happy buyer,
Where some just played games, but most were for hire,
Sending up spacecraft or buying up stocks,
Or predicting the timing of quake aftershocks.
Then the bug story broke! And the Grinch was alarmed.
This news came too early! Too few had been harmed!
But the Grinch soon calmed down, as the months marched on by,
And the chip-making people continued to lie.
"We fixed it!" they said, and now that was quite funny:
You couldn't get fixed chips for love or for money.
"It's really no problem," they added in chorus.
"The errors are rare. Stop whining, you bore us."
So everywhere, Coders were having to ask,
"Just how does this chip do its float-divide task?"
Internals that they had been told to ignore,
Now had to be studied in blood and in gore.
The leading bit patterns whose answers were wrong,
And whether the errors were carried along,
All had to be thoroughly well understood
So the Coders could know if their answers were good.
And the Grinch went off happy. He knew that they'd learned
That quality output still had to be earned.
Beyond "Merry Christmas," they'd learned something greater:
"If you don't test it now, you'll just debug it later."
-- From Peter Coffee, in PC Week