Finding a suitable definition for something you love is, regardless the activity, somewhat difficult. When I refer to it being as difficult, I am referring to that feeling we all have as we are doing something which makes us feel fulfilled, happy, content, definitely, an array of positive feelings.

Still, and to state our point giving something of worth to the testing community, today we are sharing a few definitions about Testing.

So, what is testing? The IEEE provides a formal definition in the standard 610.12-1990 which defines it as:

“The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component.”

Then, there’s another definition provided by Rick Craig and Stefan Jaskiel:

“Testing is a concurrent lifecycle process of engineering, using and maintaining testware in order to measure and improve the quality of the software being tested.”

Both definitions, though centered around different aspects of testing are complimentary to each other.

On the other hand, and speaking for myself, testing is a lot more, in my opinion it is a cognitive and challenging activity which requires several skills, and helps to develop them; it’s a mindset for thinking about solutions to very difficult problems; something with which we can make things/systems/teams work better; it helps teams to fail faster as well as better by not repeating the same mistakes many times over; it’s a process of comparing something that cannot be seen against something that is ambiguous in order to prevent the unthinkable from happening to the anonymous.

The last phrase from the previous paragraph belongs to a definition I once read from James Bach, and it’s one which I still treasure.

To sum up and basically put, testing is questioning either a product, a system, a process, a claim, a established order so it can be evaluated and thereafter improved, from the results obtained.

What do you think? What is Testing for you?