For quite some time now I have struggled with making note taking a natural part of my personal progress while testing. And well, I can say that it has really made impact on many other aspects of my work in other situations as well. I am actually quite proud to say that it has made great impact on how I perform in general, and how easy it is to make follow ups when done with anything. Now I would like to take this some steps further to explore how my notes can give more value to the whole team in a project setting, both mine and the teams’ collective notes.
I wrote a comment on Janet Gregorys post about Programmers as testers, and still feel I have to elaborate my comment a little more with the concept of testing vs checking and how these differ. While Janet already cleared out in a more recent comment that we are talking about two different things, I think it is of great importance to have these differences in mind when talking about testing, especially in the Agile development context where the word testing has become a word with many different meanings in various discussions. Read more…
When I first skimmed this headline and then the post, I thought that this guy had the same thoughts on the subject as me. But reading it a couple of times made me realized that the post was not about the same as I was thinking about at the time. Although I acknowledge everything in it as good stuff, and very much on the path of DET (Developers Exploratory Testing) that my colleague Davor spoke about at Öredev in Malmö and ExpoQA in Madrid this year.
With my post, I have a slightly different perspective on it, which has been growing in my mind and discussed in some different settings with some friends.
The other day I asked a dear friend/colleague of mine what he thought of when I said the words:
“explore>learn>adapt and then explore again”
He directly responded with: “Thats agile!”
To be clear on this, he is a very knowledged and skilled developer and scrum master, but like many developers he still has the eyesheds of not looking too much at the testing perspective on things more often than sometimes.
So what is the difference then between being agile as a tester and doing exploratory testing? And why does my colleague associate the same words with being agile, and big parts of the testing community would say its ET. I dont see much of a difference actually. In James Bachs rapid software course this is the summary of what ET is: “by treating learning, test design and test execution as mutually supportive activities that run in parallell throughout the project. ” To me thats pretty much like the shorter and more concise wording I asked my friend.
In a project I am in now, I have to deliver a test specification as a product of the testing. So how do I do? Well, I explore the product in some way to learn how it works, design my tests and document in my specification and at the same time execute and adapt to my next step of exploration. I would say that in my case, I am doing ET, and those are the exact words I asked my friend about. The funny thing here is that the wording had to be neutral from the word test, for him to understand the meaning of them being agile, but for the testing context they are the same as ET, at least in my opinion.
I know that most people that think of ET, think of a scenario where the exploration is done manually through a gui, like on a web page. I acknowledge that as ET as well, but I think that this common understanding of ET comes from the simplicity of describing it like this. That kind of description I think is the most common among developers trying to understand ET.
The harder thing to understand about this, is to see the testing as the iterative feedback loop that it actually is, which responds to the feedbacks of developing with TDD or actually any agile process. The loops are just different in size and visibility. In my project some of the loops are 5 minutes and sometimes it takes a whole day. For exploring a web site, the feedback is mostly about seconds.
To conclude the post, why not just call exploratory testing being an agile process approach to testing, instead of an approach to testing within an agile process. The latter being the most common description I have seen when talking about agile testing. You see the difference?