Skip navigation.

Sweep Testing

I have my own style of exploratory testing (ET) I’ve been using for years. I thought I’d use this blog entry to outline how I test.

I find it interesting that no one has asked me how I test when people email me and ask me all sorts of other questions. Perhaps people assume I execute exploratory testing as James has defined and honed ET for the past decade.

Perhaps my nature of testing and exploring an application isn’t different from ET – from a mentality point of view. I make this statement based on the concepts of testing an application by use of exploring versus following prescriptive test scripts. But my test ideas are often not recorded in charters.

Historically when I’ve had an application to test, I start building my ideas in Excel. I don’t use any of the Excel functions per se, I just like the grid view for organizing my thoughts and in all reality, creating tables in Word is too much of a pain. I like that Excel forces me to be brief; I could create longer entries in cells but I generally don’t.

I create a separate worksheet for each area I’m going to test. And this, I think is important. I see each worksheet as a blank canvas. I might list ideas, build a chart, I might cut and paste key requirements that I want to test (not too many because I don’t like duplicating efforts – so if I have many requirements I want to work around, I might reference the pages of a requirements doc etc.) Each worksheet can have its own format because each worksheet and area to test has its own story.

When I sit back and think, I often can’t restrict my test ideas to forming only in one area at a time. Nor would I try. My ideas roam and this is why I like the workbook format of Excel. I move from worksheet to worksheet to capture test ideas. I record ideas before, during, and after testing. I also keep a notebook when I test. I record different things in my workbook and different things in my notebook – I’ll blog about note-taking another time.

To get ideas, I generally do three things: I pass through any documentation I have, I talk to people on the team asking questions and I stare out the window sometimes muttering to myself looking crazy I’m sure. I don’t care. I get ideas from all three avenues.

The next thing I do that I believe is different from ET is what I would call “sweep testing.” When I test, I test in one area at a time and explore. But I never expect that I’ll hit all my ideas on one session. In fact, I expect my first and second sessions in each area will be the most beneficial – the best bug finds. I sweep through an area. I look for bugs. I expect to return to each area for another sweep. The second sweep is helpful because by then I have a feel for the build and a feel for different areas of the application.

A benefit of sweep testing is I find that sometimes I’m distracted by my first test ideas, so I test those ideas first to get them out of my head and see what I can find. I add thoughts to my worksheets. I don’t capture ideas that turned out fruitless. I don’t write test doc to cover my assets, I write what I want to recall. I write what I learn. I write notes. My worksheets seem to be pretty readable by other testers but there are few full sentences and my test ideas are far from test scripts.

By executing testing in rounds or sweeps it helps me to test wide (meaning many areas) and then move back to each area to go deep (meaning more detailed test ideas). I focus on one area at a time, unlike when I’m collecting ideas – and this sense of focus and digging in, exploring and learning is the value of ET and I believe is essential to thoughtful testing.

I’ve used the Excel workbook for years, it’s been effective. It works for me. Sometimes, I write charters but I have to say, I like the workbook because it allows me to have one file to capture many ideas. I roll the version of the workbook when I get a new build or make a significant update to the file. It depends if I’m working alone as to how meticulous I am about file versioning - if I’m alone, then I don’t worry about file versions as much. And I have often worked alone preferring small software companies where the value of what I bring to the product team isn’t measured by metrics or detailed test documents.

Is this ET or not, I have never worried. I have listened to and known James for years, I have deep respect for what he has brought to our field. The value of ET in my mind is the thinking not the documentation. After all why replace prescriptive test scripts only to fret about a different format of documentation? I've given myself permission to be logical and practical and not fret over form. I’ve been sharing more and more of what I do and how I do it so that I can help other testers. So these are thoughts around how I test. I have sincere hopes this helps testers learn. More to come -

sample sweeps

Joel -

Mmm. I don't have any samples that wouldn't involve exposing company/product specific details. By the time I'd be done scrubbing, I don't know that there would be much left. Instead - let me describe a bit more and let's see if this resolves your questions.

I use Excel only because I like the table outline - tables in Word are a pain. I do not count, calculate, sum or use any mathematical aspects of Excel (for this purpose.)

I don't let the table view affect how I think about what I want to test. If I need multiple columns - I use them, otherwise I change the col. width and might only use one column. What I especially like is the series of worksheets tied into one file. I use a worksheet for each testing area.

I list all the test ideas I have in mind. My ideas vary greatly - some ideas are short - like a bulleted list. Some ideas are longer - I write as much as I need. I don't force my writing - that means I don't worry about consistent length, tone, style. I remind myself that I'm not writing I'm capturing my ideas.

I'll think about what else I can share - since there was interest on the topic - I'll write about it again before long.

Hope this helps -
Karen

Examples of Sweep Testing?

Karen-

I am most intrigued about your Excel usage - can you provide any samples of this?

Thanks

Curious about Sweep Testing

I'm very interested in this topic - would you by chance have a sample of this? Or, more notes re: this.

Moving on

Jake,

I don't know that Antony should cleanout posts. What was - was. Besides James starting a blog would seem like it came out of left field without the start of this conversation.

I will however write more about sweep testing at another time ...

Thread closed.
Karen

Cleanup

** COMMENT RETRACTED BY USER**

In Flight

I was travelling today and have been out of the growing debate that was pulled into my own blog.

I was somewhat able to read along via my phone at airports but longer reading and responding hasn't been practical.

Jake:

When you directly raise a clarifying or challenge question to someone - in this case, your direct questions to Cem or James - you should contact them directly to have that discussion vs. using someone else's blog to raise a question. The exception would be raising a question to someone's comment on the same blog. (I don't believe your questions to James and/or Cem fell in that category.)

I'll risk being redundant for clarity. Since you clearly have direct challenge questions for James and/or Cem, you should contact them for discussion.

Prior to your comment on my blog, I've not meet you or read your blog. Now that I've had the reading opportunity to catch up on your past post on ET, looked at some of the material on the SQA Forums, and gone back to read your comments on my blog, I feel my blog was hijacked to continue a debate with James and Cem.

This is not to say that a debate is a bad thing - solid discussion is important. But my blog entry was taken off course.

As you apologized for taking my blog beyond what I wrote about, great. In reviewing all the comments today, I realize that none of the questions you've raised on my blog have been directed to me or have been about what I wrote about. (If I wasn't so distracted with a more pressing family matter this past week I might have noticed this earlier.)

With the exception of asking me "if there are some parallels between Sweep Testing and this exercise located at SQAForums," - the way this question was put at the end of many comments makes me feel that you are interested in using my blog as part of an ongoing debate to which I am not interested in attending. (If I was interested, I would have engaged previously.)

James:

I'd like to reply to your comment about - preferring or asking each of us to declare the community we belong to, and disclose our values, rather than pretending that there is one Nation of Testing that we all belong to. James, I know you know me and my thoughts around testing but other people may not, let me share.

I am a long-time member of the context-driven school of testing. I believed in the principles years ago and continue to do so. In fact, the longer I test, the more the principles make sense to my own experience.

I am an opponent of prescriptive test scripts.

This states the community to which I belong and a few of my testing values - this is not a complete declaration of all that I think or believe in.

Jake/James:

For years I didn't concern myself much with terminolgy and remained more focused on concepts than specifics. But now after years of testing I have a strong interest into putting terminology around what I do. Why? Because I want to teach software testing. I know if I can't articulate what I do and how I do it, I won't be able to teach other testers.

Jake, your first comment on my blog - I think you mistook my thoughts on sweep testing to mean that I'm not concerned with terminology. If we can't define what we mean, we can't engage in meaningful dialog - without running the risk of misinterpretation - so that's another reason I have to care about terminology.

It's important to choose words carefully. And I want to state this carefully as well - I am frustrated that my original ideas and thoughts around how I test were pulled into the ongoing debate of scripted versus exploratory testing. This wasn't my point.

Back to Sweep Testing?

** COMMENT RETRACTED BY USER**

Clarification

Regarding Cem's coinage, the information I provided comes from my personal knowledge of the situation. I'm not doing a cold interpretation of the history of ET based on something Cem wrote, I'm talking about my personal knowledge based on twelve years of collaboration with him.

Re: "I never encountered the types of people you refer to"

I've met many of them. Perhaps you don't do a lot of consulting or don't go to a lot of conferences? Are you wondering whether I'm referring to you?

Re: "sufficient space"

I don't own the space, either. Nobody owns it. I'm not criticizing you because you are on my turf. I'm criticizing you because A) I believe you haven't really studied the topic that you seem to think you know so much about and B) you don't seem much interested in what people have to say who have studied it. Your attitude about ET and how you characterize it with respect to scripted testing was state of the art roughly 15-20 years ago. Where have you been since 1993?

Of course ET is part of the natural way testers work. What Cem and I do, along with our colleagues, is study and systematize it so that testers can do it skillfully (instead of amateurishly), and are better able to stand up to the people who recklessly advocate highly scripted testing.

Re: trademarking

Have you heard of TMAP? ISEB? ISTQB? IEEE Standards? CMM? SPICE? Have you heard of Proactive Testing(TM)? Ed Kit's material? Which testing companies or authors offer their training materials freely for download?

No, unfortunately the craft is not free. But in my little piece of it, it is and shall be.

Free Craft Space Clarification

** COMMENT RETRACTED BY USER**

good ideas that blend well together

You know me well enough to know there's a part of me that prefers blazing my own trail. And I never thought I had to follow ideas too closely. Consciencely creating and choosing adaption is part of context-driven, right?
Of course. I was not suggesting otherwise. And we all know just how much time I spend on paths already cleared. ;)
 
That said, I do like to do much of my path blazing where I can either see/reference an existing path or have a well known mission/landmark to serve as a navigational reference if/when I get lost.
 
Mostly, I was trying to point out some landmarks for your readers so they had something to reference if they got lost.
 
--
Scott Barber
Chief Technologist, PerfTestPlus
Vice President & Executive Director, Association for Software Testing
sbarber@perftestplus.com

Big Clubhouse

When Cem coined the term exploratory testing, he was trying to draw a conceptual line around a simple practice that needed defending from the scripted testing bullies. It's like a clubhouse. He wasn't trying to establish a specific way to do ET, so much as making space for other people to create their variations. So, you notice that Cem and I have not trademarked "Exploratory Testing". We want the craft to be free.

Mostly I find myself explaining how open the idea of ET is, so that one particular technique doesn't take over the clubhouse and try to push all other ideas out.

What worries me is that if people think that ET is a technique, then when they come up with their own variation of it, they will think they need to say "it's not ET". They will think they are not welcome in the exploratory club.

I like the term "sweep testing". I'd like to see more from you about it.

Own style of ET

Nice post Karen. I think we all have our own way of performing explorative type testing.

My perspective on ET is well published in my own blog at http://blogs.msdn.com/imtesty/archive/2006/09/03/737802.aspx and elsewhere. As I said before, I and many other people in the industry engaged in explorative type testing long before Kaner coined the term.
I use exploration all the time, and I have never said that testers "play" at testing (exploration or otherwise). Responsible testing is hard and requires a tremendous amount of skill and knowledge.

If James would actually read what others write rather than simply close his mind to alternate perspectives, he would realize that I agree with him that ET is not a technique but another approach to problem solving, and it is commonly used. In fact, because exploration of new problem spaces is so pervasive in the industry I would argue that explorative testing is generally a best practice (not the only approach, but certainly one of many). However, of course, James vehemently repudiates the notion of best practices, so ET can't be a best practice...right?

When we approach different problems in testing software a good tester will employ various techniques, methodologies and approaches to provide the most accurate information to the decision makers that will help them make qualified business decisions and analyze potential risks for the customer. I think any professional in this discipline realizes there are many more perspectives and approaches to software testing than simply exploratory and scripted testing.

Thanks for your email too

Jake,

Sweep stake holders - nice!

Karen

Thanks for writing -

James,

My answer to your rhetorical question on jazz is Mike Markaverich. Mike is an amazing jazz piano player known for his improvisation work. I used to listen to him in the bars down in Hyannis on Cape Cod. We go back a long way and once we even recorded a live tv show together but that's a different story. I see your comparison.

I'm comfortable finding my own way on things but see that some people need more guidance, rules or structure than others. I prefer not to be confined.

Reconnaissance is a perfect term although I usually pick the simplest word I can find.

Cool you're ok with "sweep testing."

Karen

good ideas that blend well together

Scott,

I met Cem and James in person after I'd been testing for about seven years - I'd been reading their work before meeting in person - and after meeting, their ideas and writing made even made sense to me.

You know me well enough to know there's a part of me that prefers blazing my own trail. And I never thought I had to follow ideas too closely. Consciencely creating and choosing adaption is part of context-driven, right?

Thanks for writing and sharing your ideas and how they meld and blend together.

Karen

Good conversation Karen/James

Good conversation Karen/James..

In a typical James' style - shall I say “Yes, I know what sweep testing is ...but I do not call it by that name – NOT BY THAT NAME" :)

>>>> When I have argued with certain people (B.J. Rollison, Rex Black, and James Lyndsay come to mind) about what ET is, I frequently run into the problem that they have decided that the way some people "play" ET (usually untrained people) is a defining instance for all of ET. It's proven to be difficult, with some people, to get across how *simple and universal* ET is, and how it is absolutely NOT a technique, but an approach that applies to techniques.
>>>>

I have had some similar experiences of arguing with people what ET is...

Some say "ET is natural; all testers do it all the time. What is the big deal?

The answer lies in what James mentions as "Playing chess" vs "Playing Chess Well". Thinking about ET and developing it as a skill is what is important to be considered.

Some say "ET is mere guessing, unpredictable, unmanageable"
Well, I think more than guessing it is about learning and continuously adjusting speed, focus, activities of exploration depending upon what you learn. Very few people outside context driven testing community seem to understand this difference. ET is an investigative process that often starts with some guesses but all of ET is not guessing. With respect to predictability and manageability, SBTM is fast becoming a viable answer.

Some (especially in software product testing like OS and other system software) say "you can not do an effective ET here as it requires a high level of product and domain knowledge. It requires experience built over many years. We are fine with our time tested scripted tests/automation. We know how to test. Thank you ET.. "

This brings another facet of argument that is "Prior experience". Since there is an emphasis of learning in ET, a skilled tester should be able make sense out of any *new* and *domain intensive* system far quickly than other person. So exploring a HP Unix OS component or stock market analysis module or medical diagnostic software dealing with human heart would be more or less pose a similar challenge.

At times, I see this argument as conspiracy of those so called "product specialists" or "domain experts" not let a newbie ET tester to come and start asking huge set of questions and challenge their knowledge. It is a bit an ego issue - they simply say "Spend few years here and gain experience before you starting talking about ET".

Lastly, few people outside CDT community understand that ET is an approach not a technique (you should not be surprised if difference between an approach and a technique is not clear to many)

Scot --- Don't you think that all of ET is Just in time (not just planning and management)? You could have "ever-ready" material like risk catalogs, test ideas, pneumonics, Heuristics, charter formats, tools for recording and reporting etc... But I believe *core* what ever happens in ET is *entirely* JUST IN TIME ...right?

any comments?

Shrini Kulkarni
Principal consultant
iGATE Global Solutions Ltd Bangalore, India

http://shrinik.blogspot.com

Exploratory, Session-based, JIT

To me, it sounds like you are applying an Exploratory Testing approach (consistent with the Kaner/Bach model) to Just-In-Time test planning (consistent with the Sabourin model) and Session-Based Test Management (consistent with the Bach/Bach model) -- which is *almost* exactly the model behind the capstone exercise I most frequently use when teaching JIT. The one think that I add is that I also make the exercise Paired (consistent with many "testing in pairs" models including the one that I used to teach as "Buddy Testing" before I became aware that there were things like books, conferences, magazines, and/or training classes related to software testing.)

I find this *all*the*time* while teaching. A lot of folks do a lot of this stuff and most are completely unaware of it. Some deny it when you give it a name. A few reject the notion that some *really* smart people have dedicated their careers to honing these approaches/techniques/methods (and not just the ones you hit on in your post) in ways that could actually be beneficial to their testing projects. The ones who embrace the possibility that these are real, supported, legitimate, viable approaches/techniques/methods and dig in to what the thought leaders have to offer, have all found good to great value there (or have lied to my face, one or the other).

Karen, in your case, it is no surprise to me what-so-ever that your testing approach/techniques/methods are strongly congruent with those of your mentors while proudly displaying your personal signature.

I think that is a paradigmatic trait of those that I think of as Sapient Testers.

--
Scott Barber
Chief Technologist, PerfTestPlus
Vice President & Executive Director, Association for Software Testing
sbarber@perftestplus.com

I like it!

Thanks Karen i really enjoyed the thoughts that you have shared. Its like Bruce Lee describing the "Classical mess" (traditional martial arts with predicated forms or kata) vs. being "formless like water" (using a blend of martial arts - in other words using the best or appropriate method at the time or applying what is useful, reject what is useless). Jeet Kune Do is based alot on fencing and boxing as well as traditional martial arts. So it is with testing....what is more important - context or prescription!
I like the idea of sweep testing! Thanks heaps!

Of course this is ET

Yes, you are describing an exploratory approach to testing.

Have you ever heard jazz music? What do you think of when someone says "jazz" to you? I think of Benny Goodman, for some reason. My brother thinks of Chick Corea. Both are jazz, but they are very different expressions of jazz.

ET is like that. The core idea of ET is very simple, like the game of Chess, Checkers, or Go. But any given "game" of ET can be played in a million ways. It's easy to tell if someone is playing Chess, somewhat more difficult to tell if someone is playing Chess well, and an exhaustive book of viable strategies of Chess playing would be a very thick tome.

When I have argued with certain people (B.J. Rollison, Rex Black, and James Lyndsay come to mind) about what ET is, I frequently run into the problem that they have decided that the way some people "play" ET (usually untrained people) is a defining instance for all of ET. It's proven to be difficult, with some people, to get across how *simple and universal* ET is, and how it is absolutely NOT a technique, but an approach that applies to techniques.

What you are talking about is a technique (or pattern, or heuristic) for doing ET. It sounds like an informal variation on session-based testing, to me. It sounds like you are doing what in session-based testing we call reconnaissance or analysis sessions.

"Sweep testing" seems like a fine name for it.

Good Stuff!

Thank you for sharing Karen. I would guess that your Sweep stakes holders are happy! :) I too do not worry about the description of what I do.

Thanks again!

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.