Practice makes perfect is the old saw that we have all heard before, but we know there is no such thing as perfect testing. So what do I practice related to testing and why do I think it is important?
One of my main goals in life as well as my career is to keep on learning and improving. One of the great challenges that I find in IT and in Art, though, is that you have to do it to learn it. Call it the experiential side of learning or just the greater understanding that we gain from solving problems ourselves. In all the teaching I have done, I have seen too great a correlation between those who actually practice using / building / testing computers and increased comprehension and retention to feel that I am likely to succeed nearly as well by just reading about something like test automation as I do by actually writing some from the ground up and executing those tests over the course of a few weeks. I also have had my fair share of Aha! moments when applying concepts such as “code smells” in my automation that turned out to be different than what I expected them to be from my initial reading about them.
When it comes to skills like observation, I find a definite boost from practicing that too, although I do try to mix those practice sessions up in some different ways. For example, I do “spot the differences” and other observation based games to kill time while waiting for things and to wind down at the end of long days.
I believe that what you do on a regular basis molds the way you think subconsciously. When I have gotten too busy to get in my studio time, I find it harder to come up with creative and outside the box test ideas. When I stop periodically reviewing hueristic lists, or reading the interesting books suggested by people like Michael Bolton (I still have to get to The Black Swan!), I miss great ideas that otherwise seem to be constantly popping in to my head during exploratory testing or planning sessions.
And last, but definitely not least, I find lots of things to tune up, or express better, or look for in testing when I leave things be for a while, and then come back to review them later. Since I am in the habit of practicing skills and tasks, I get lots of chances to look at my work critically after the fact. Not only do I find lots of easy things to change to make things better, I also feel less attached to any given work product, and therefor am more willing to make those changes!
So, while it won’t make me perfect, I don’t intend to give up the benefits of practice in my testing any more than I would stop practicing my art skills. I train my hands, my mind, and my intuition, and love the feeling of growing and improving that practice brings! What are you doing to practice, especially in non-testing areas, that help your testing?