My First Ambitious Test Project Rikard Edgren
We all test as children; we are curious and want to find things out, before we are one year old we want to break things, and after three we ask “What If” questions.
My first ambitious testing journey came many years later.
Still a naive teenager, I started studying Philosophy at the university. It was an easy choice; philosophy was the subject where you could find the most essential truths.
It took me one and a half year of testing philosophical theories to find out I was wrong.
The classes went through the history of philosophy, and each theory was heavily criticized by me (and a classmate), not because I was a stubborn skeptic, but because I was an objectivist looking for real truth.
I met some very interesting philosophers (Heraclites, Spinoza and Wittgenstein being favorites), but the theories did not stand the test; there were flawed arguments and logic holes alongside with incorrect or unjustified assumptions.
I was disappointed, and finally realized everything is grounded in assumptions you can choose to agree with or not. (I’m OK with this now, I even see it as the essence of the charm of life.)
It was not wasted time, this massive falsification was a hard school in logical and artificial thinking, which are key skills for software testers.
A couple of years later I found the best philosophical theory at Kierkegaard (don’t stumble on his Christian dilemmas) who said that “the truth is the subjectivity”.
He did not state that the objective science was wrong, just that they didn’t grasp what is important.
To be human is to be subjective.
So whenever I rant about traditional testing theory, or coverage, or metrics, or expected results, I don’t say that they are wrong; they just don’t capture what is important.
If software is made for humans; testers should use their subjectivity.
Very thoughtful piece Rikard.
I have been saying for awhile now that software engineering can learn a great deal from the social sciences such as anthropology, sociology and psychology.
As testers we should be exploring these areas and what it can bring to software testing.
Yes, there has been too much focus on testing being similar to natural science.
See Cem Kaner’s Software Testing as a Social Science (latest version at http://www.kaner.com/pdfs/KanerSocialScienceSTEP.pdf ) including a very nice house analogy (slide 19-20)
Interesting reading indeed!
Going all the way from as children we test to what is important in IT projects. One thing about children is their never ending enthusiasm for testing. You can watch that one year old pick up a spoon, let it go and see what happens. It fell to the floor. Ok, I pick up a fork, let it go and see what happens. It fell to the floor. Ok, now I pick up a plate, let it go and see what happens. Crash. It also fell to the floor.
The older we get, the harder it is to remain that enthusiasm for testing, especially when doing the same test over and over again. It’s easy to fall for the temptation to just lean back on best practices instead of really exploring the new software to find out what is important.