I’m interested in the extent to which this phrase is taking off as a replacement for the old “non-functional testing”.
I try not to be a linguistic pedant, and I think that words mean what they’re understood to mean by the audience. I want to be clearly understood, not linguistically pure. Hanging on grimly to some ancient literal definition of a word and ignoring modern usage is ludicrous. We have to adapt.
I’m happy enough to go along with parafunctional testing, if that is the clear consensus. However, I have reservations, so I won’t be promoting the term till I’m sure it’s widely accepted.
I have three concerns. The first is that I don’t have a problem with “non-functional”. I agree it’s a bit ridiculous, but its meaning is clear to those in the testing profession. Cleaning up the language by removing or changing terms that have become detached from their literal meaning is verging on the quixotic. It's not wrong. It just doesn't get me excited.
My second concern is more serious. Parafunctional is an existing word, with a different meaning. It’s used in medicine to describe parts of the body being used in ways for which they’re not intended., e.g. grinding teeth, which wears them down quickly, rather than merely chewing. Of course there’s no end of words that have two meanings. Another pair of homonyms is no big deal, but it seems a bit strange to deliberately create a new one, especially when the existing term is a precise medical term. People aren’t surprised when short simple words are homonyms, but are entitled to be puzzled when they meet them with technical words.
This leads me on to my main concern. The existing meaning for parafunctional describes a phenomenon for which we have no existing testing term, as far as I know. Sometimes we need to test applications to see whether they can be used in ways for which they were not designed. In my experience, this is important for financial systems. These need testing that goes beyond the functional requirements, to explore for ways in which they can be exploited and abused by fraudsters or irresponsible users. Parafunctional testing would be, or would have been, the right term for this. It would be a pity if we have to coin a new phrase for such testing because parafunctional has already been taken.
So, I have two questions. Has parafunctional testing taken root as the new term for non-functional testing. If so, fine, I’ll go with the flow. However, that raises the second question. What would be the right term for the sort of testing I’ve described, which goes beyond the functional requirements. It’s an aspect of exploratory testing I suppose, but it has a precise focus, testing for unintended functionality, and it doesn’t necessarily have to be done by exploratory testing, though that seems the right way to me. I have used the clumsy term “business rules security testing” elsewhere, but I’m not keen on it. What should it be called?