Unbreakable Functionality

Let's pretend (as in: "pretend", not as in: pretend) that you work with a coworker who is in such a hurry that he won't manually test his code before he checks it in. Let's also pretend (in the same sense) that you write decent UnitTests, but that this coworker never bothers to run them.

The surest way to “unbreakable” is, of course, to get the coworker out of his clinch. See: WhyDoYouPermitThisToBeDoneToYou and SlowDownToSpeedUp.

Given that environment, how can you write functionality so that it has better odds of surviving?


Note: Most of these are good things, even if you've got a staff of the most careful programmers around.


I would add that automatically mailing people notifications of broken tests can help modify their habits. It's less confrontational than nagging people to their face, if instead they get a mail saying "you were the last person to update this file, and this file broke the build/this test failed". You can use CVS history for this (if you have CVS).


CategoryTesting


EditText of this page (last edited July 28, 2003) or FindPage with title or text search