Software Word Games
I say ‘toe-may-toe’ and you say ‘toe-mah-toe’ and we both know we are talking about that round, red fruit?/vegetable? which makes most sandwiches and pizzas worth eating. Not to mention spaghetti. Hang on while I go have dinner…
Any way, when talking food, pretty much everybody understands the words used by most other people. Not so much in the world of software test.
I’ve tested products from creation to customer. I know of Unit Test, Function Test, and System Test. Along with Regression Test and Performance test, that seems to be all the testing needed (or that we needed anyway). Beta test? Ok, come to think of it, we did do that. But we called it ‘ESP’ or ‘Early Ship Program’. Acceptance test? Sure, it was not needed for our general market products but I can see the importance for products developed under contract.
But I hear of all these ‘other’ tests. Integration testing? Sounds interesting, but how does that vary from the start of System Test? Detail testing? Domain testing? What are those? Smoke test? I know what that is for hardware, but it does not make a lot of sense for software. Sanity test? And others even less memorable.
Then there is ‘box’ testing. Everybody knows and agrees on what is ‘black box’ testing. Most people know of ‘white box’ testing. But there are synonyms for this latter term floating around, in particular ‘clear box’ and ‘glass box’. Why? What is gained by coining new terms when a perfectly good term already exists? What is the ‘value add’? It should be substantial to compensate for the confusion it can cause.
Various other box color testing? Which have nothing to do with what you know about the program under test? And which have more than one meaning floating around out there?
I’ve tested error messages as part of Functional test for years. I don’t need to call it ‘red box testing’. Even if for some odd reason the error message testing was split out into a separate test, why not call it ‘error message testing’ so everyone would know what you were talking about? Why ‘red box testing’ which confuses everybody else and especially the people who think that term means ‘protocol testing’ and those who think it means ‘testing on hardware’?
What it looks like is that one group comes up with a term, and uses it. It works for them. They all understand it, and the rest of us stand around looking stupid because we didn’t get the memo. Why does a group feel the need to generate a new term? If they really are doing something new, than a new term is completely appropriate. And they should educate us on the new term AND the activity it represents. But if they are doing the same old stuff, why not use the same old name?
Do they not know what to call the activity they are doing, and rather than do a little research to find out, make up their own name? I’m not sure how eager I would be to bet my company on a product from that group.
A suspicious person might assume groups do this to hide from the world. Or to deliberately cause people outside the group confusion. How wise is this? If they need to hire more talent, are they going to ask candidates “So what experience have you had with Gorliknah testing?”. They are not going to get many (honest) takers, are they? And when they go out looking for their next job, are they really going to claim to be experienced Gorliknah testers?
By the way, if you want to call your test activity Gorliknah, you will need to license the term from me, since I just invented it…