5 ms·
As someone who recently asked our QA team to change the name of one of our test suites from "sanity test" to "quick test", maybe I can provide some perspective.
by Stratoscope 3y ago
As someone who recently asked our QA team to change the name of one of our test suites from "sanity test" to "quick test", maybe I can provide some perspective.
Many software developers like me have faced challenges to our mental health.
Indeed, there has been a time or two when I questioned my own sanity. And perhaps the sanity of some of my colleagues!
It's not so much that there is something inherently wrong with the term "sanity check". We all know what it means. It's just that there are more descriptive and neutral terms available to us, so why not use them?
- WalterBright 3y ago> It's just that there are more descriptive and neutral terms available to us, so why not use them? Because it's boring.
- Stratoscope 3y agoWalter, you and I have known each other for a long time. Not in person; we've never met. But through our interactions here on HN. I have a lot of respect for you and for everything you have accomplished. So I have to ask you directly: Is being "boring" or not the way we should decide how to express ourselves? Regarding a "quick test" vs. a "sanity test". Instead of judging this on what is "boring", why can't we make a choice on which is more respectful to our peers and colleagues?
- at_a_remove 3y agoWe should make choices based on communication, first and foremost. Words that do not communicate are not useful. A "quick test" implies almost nothing, other than it is faster than some other, unnamed test out there. Is a quick test good or is it bad? No way to tell. This term, quick test, it does not inform. On the other hand, a sanity test, well, it is more evocative. You definitely want to pass a sanity test. If you reach back to your psychology classes, they talked about a four-part test that is useful for determine if a behavior is sane or not. 1) Is it abnormal? Unusual? Out of the ordinary? for the situation. 2) Is it unjustifiable, unreasonable given the circumstances? 3) Is it counter-productive? Which is to say, does the behavior serve the individual, or does it in fact make things worse? Or simply do nothing? 4) (and this is where my memory is fuzzy) I think it involves personal distress. For the life of me I can't find it via Google and it annoys me. Now, interestingly, a sanity test matches the first three! (The fourth, well, there is no "I" in the program to be distressed) In programming, a sanity test looks for something abnormal, not reasonable for the program, and represents a state that won't get us the desired output. In short, it's highly congruent to the other context for sanity. This term, it communicates, and in a way "quick test" does not. In general, one of the main critiques of political correctness which few really notice is that the new term is less specific and less useful, that it fails at communicating. Consider when "Oriental" fell off of the euphemism treadmill for "Asian." We all knew that the first term referred to a particular part of the world, from the Latin for "east." (Ex lux orient and so on) "Asian," however, could refer to people in Russia or people in India, but nobody in the US does (I note in the UK India does get the "Asian" pass). So here the new term is less specific and less useful, and is confusing to boot because we deliberately ignore parts of Asia when using the term "Asian." If you want something to supplant "sanity test," you gotta work harder for it than "quick test."
- eesmith 3y agoWe have literally no idea what the 'sanity test' involved actually did, and the common use in computing has little connection to any such use in psychology. https://en.wikipedia.org/wiki/Sanity_check https://en.wikipedia.org/wiki/Sanity_check informs me: "A sanity check or sanity test is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true." ... "In computer science, a sanity test is a very brief run-through of the functionality of a computer program, system, calculation, or other analysis, to assure that part of the system or methodology works roughly as expected. This is often prior to a more exhaustive round of testing. " ... "In software development, a sanity test (a form of software testing which offers "quick, broad, and shallow testing"[1]) evaluates the result of a subset of application functionality to determine whether it is possible and reasonable to proceed with further testing of the entire application." and further comments that "sanity test" for some people is interchangeable with "smoke test". It also adds: "The Association for Computing Machinery,[8] and software projects such as Android,[9] MediaWiki[10] and Twitter,[11] discourage use of the phrase sanity check in favour of other terms such as confidence test, coherence check, or simply test, as part of a wider attempt to avoid ableist language and increase inclusivity. " I could not find a definition for "sanity test" in psychology. I know about the cognitive test that Trump made famous with ‘Person, woman, man, camera, TV‘.
- at_a_remove 3y agoI cannot cop to "smoke test" being interchangeable with "sanity test," in any way. Smoke tests are obvious crashes, often before any real input. I had a friend on the build team of Windows NT 5.0 (until it was called Windows 2000) and their version of smoke test was "can it boot up to the login screen," and that's similar to working in electronics, where powering up your machine or circuit is all you do and you hope it doesn't release the magic smoke, before you actually do anything with it. On that alone, I am very doubtful on that article. This is also distinguished from what I have taken to calling a "pre-flight checklist" at the start of large programs, making sure databases are connected, requisite tables are present with the correct columns and datatypes, that specific files or directories exist, that files may be of a certain "freshness," and so on. I'll stand by it: sanity test is a lot more descriptive and useful than "quick test." Those footnotes are only kicking the can down the road of justifiability. But let's examine them according to the aforementioned The PC Replacement is Less Useful criterion. Recommending just "test" is ... well, double-plus ungood, in the sense that we now have no idea of the qualities of this test and how it could be distinguished from some other test. Hard pass. "Confidence test" only implies a statistical likeliness, like a confidence interval. It does not imply the This Ought Not to Happen of a sanity test. "Coherence test" is interesting but ... coherent against what? If someone wants to sell me on a replacement, they are free to try, but the replacement must be at least as good at communicating what it does as the term sanity test. If this fails, then it will be scoffed at, and should be.
- drey08 3y agoHave you ever heard someone get called slow? That's an insult too. So now you have quick tests. That's disrespectful towards me because I got called slow once. This can go on forever.
- justinclift 3y ago"The test who is on a performance-improvement-plan" ;)
- layer8 3y agoI’m surprised Python hasn’t ditched pip yet.
- exe34 3y agoCan we get rid of the "failing" terminology? I think we should call it something more meaningful, such as "it shows there's scope for improvement", or "it highlights areas for more focus".
- WalterBright 3y agoI like to play with language. English has a million words in it. Why not use it? And why stop there, I insert words from other languages, play with the spelling, use bad puns, allusions to movie dialog, whatever crosses my mind. I hope the readers/listeners would find it fun, too. If they mine what I write for an insult, that's on them. I'm not interested in people looking for an insult, or people who get offended on behalf of others. I don't enjoy being around people where I have to walk on eggshells. For example, I'm bald. I'm not a person experiencing hair loss. I'm bald. I've got a chrome dome. I have to wear a hat when I drive in order to not blind oncoming drivers with the glare from it. Is changing the words going to change anything? Nope. I'm still just as bald, no matter what words are used. I think it was Paul Graham that recently tweeted that people should not use the word "delve" into rather than "dig" into, because the former is pretentious and the latter is simpler. I'm a delver, spelunker, archaeologist, excavator, explorer, etc. Take that, Paul!
- redeeman 3y agounfortunately your ideals isnt compatible with the ongoing epidemic of oppression olympics. add trigger warnings!!!! (im joking)
- miki123211 3y agoIf you're writing for the pleasure of writing, that's fine. I think such an approach is great for fiction books and poetry in particular. If you're writing in a professional context, expect your words to be read by non-native English speakers or just people that are extremely tired and want to get their work done quickly. I think using uncommon and domain-specific words is fine when nothing else is precise enough, but there's no reason to say "touch base" when "get in contact" works. People should also be aware of cultural context, if you're being overly sensitive and using flowery corpo-speak, people from other cultures may miss your point entirely. A sentence like "John is doing great work, but I can see some areas for future improvement" reads very differently depending on the culture. "John isn't up to standards and needs to improve if he wants to stay with the company" is much clearer. "John fucking sucks and needs to do better" is overdoing it and using the excuse of being direct to be a jerk.
- lelanthran 3y ago> why can't we make a choice on which is more respectful to our peers and colleagues? What makes "quick" more respectful? Use "quick" and you'll be triggering everyone in standups every day :-)
- bigstrat2003 3y ago1. Other terms are neither more descriptive nor more neutral. 2. If someone has a problem with the term "sanity check", they are overly sensitive and they need to adjust to the realities of life. It is unreasonable to expect everyone to coddle them.
- elwell 3y agoCan we please change PHP's die() function to unalive()?
- kyleee 3y agounalive() offends me, let’s do sunset() instead
- latentsea 3y agosunset() triggers me due to all the times I've seen companies "sunset" APIs only to still have them in production 5 years later. Let's change it to cancelled()
- randomdata 3y agocancelled() makes it seem as if PHP is a sexual predator – which may be the case, but as a matter of course... How about goodbye()?
- acuozzo 3y ago> It's just that there are more descriptive and neutral terms available to us, so why not use them? "quick test" does not convey what is usually intended with "sanity test". The intention of the latter is to verify that a base set of assumptions hold true whereas "quick test" can be just about anything.
- ok123456 3y ago"quick test" would mean QuickCheck, property-based testing, to me. Let's keep "sanity test".
- exe34 3y agoI've struggled with mental illness all my life and have made several attempts to catch the bus. I'm diagnosed with several mental issues. Somehow I'm still not offended with the phrase "sanity check". What am I doing wrong? Is it possible to learn to get offended by this sort of thing? Will it make me happy?
- com2kid 3y agoSoftware engineering is a field full of neurodiverse people. Trying to police each other's language around mental health in a field where, at least historically, the majority of practitioners are going through some sort of mental health struggle, is borderline rude IMHO.
- justinclift 3y ago> Many software developers like me have faced challenges to our mental health. It's a stressful industry at times, probably almost everyone has had crap times at one point or another. And then there's Covid, which affected everyone. Doesn't mean every mention of the word "sanity" needs to be expunged from our language though. :( :( :( That way lies er... madness. (!) ;)
- cdchn 3y agoOr maybe you, having faced those challenges, next time your fingers hover over the keys to type "sanity" simply pick another, perhaps more descriptive word.
- justinclift 3y agoNope. "Sanity" is a perfectly fine word for this particular type of test, and is widely used in industry.
- deleted 3y ago[deleted]
- layer8 3y agoWords have multiple meanings. In that context, “sanity” means something like “reasonable and rational behavior” (look it up in a dictionary!). It’s counterproductive to forbid the use of words just because someone is somehow unable to differentiate between the multiple meanings words have. That would be insane — as in “highly unreasonable”, obviously.
- redeeman 3y agowithout knowing what the test did, quick test in no way conveys the same information. Honestly, did you really need to ask them to do that? please dont be that guy on the team (sorry, meant please dont be "that working set of hands on the team" (hope this illustrates the point somewhat))