was previously known as a UnitTest
. Compare this to CustomerTest
, previously known as AcceptanceTest
, previously known as FunctionalTest
Why do the names keep changing?
Because the XpCelebrity?s grew their process from pre-existing practices with pre-existing names. But careful name selection now teaches ExtremeProgramming faster, without detracting from those tangential practices.
In the beginning, unit test meant tests written to test a unit in isolation.
Programmers started writing them as they wrote code, to avoid bug hunts.
and similar Agile lifecycles crystalized, they kept the name.
But those steeped in the tradition of formal testing know that a ProgrammerTest
. The latter has a formal checklist that programmers don't need to worry about, and which testers do. (For more about the difference, see XpVsStandardDefinitionOfUnitTest
So, to prevent confusion, name the tests after who specifies them. Programmers write ProgrammerTest
s, the OnsiteCustomer
s, and the QualityControl
department extends both to produce UnitTest
s and FunctionalTest
Sorry about the confusion.
Do programmers in the wild really now use the term 'programmer test'?
I'm fairly wild. -- PhlIp
That sounds more like something that's supposed to test the programmer!
I presume because they aren't quite synonyms:
measures a unit of software, without specifying why.
assists programmers in development, without specifying how.
These things happen. ResourceAcquisitionIsInitialization
went through a long episode of this - the name isn't a particularly good description of the idiom, and the idiom itself has a number of hybrids addressing different concerns, plus the usual discord about which names were supposed to apply to which idioms, and vice versa.
That, or perhaps just because the words that make up the names are in the common domain, and thus subject to misinterpretation through lost context. Names like Wiki don't have this problem, except perhaps for a limited audience of Hawaiian programmers. Maybe the tests should be named Fred?
JANICE: Dr. Bob, you've given this hospital a bad name.
DR BOB: You're right. Fred is a terrible name for a hospital. I'll give it a better name. How 'bout Eunice?
-- The Muppet Show
I think JUnit sounds better than JProgrammer. -WayneMiller
Sorry for prolonging the debate, but how about EngineeringTests?
to go along with EngineeringTask
s? They test the engineering. Then we can keep AcceptanceTest
s, which I always thought was a perfectly decent name anyway, although CustomerTest
s seems to be just as understandable. StoryTests?
may be another alternative for the-practice-formerly-known-as-AcceptanceTest