Friday, June 24, 2016

How Mob Testing is organized?

A discussion started on Mob Testing today in StarEAST attendees group that I happen to be a part of. The discussion quickly shifted from "nice idea" to How Mob Testing is organized?

"When i say organised i mean how do you start, testers supposed to come prepared with their scenarios ? Are there any hard and fast rules ? Logging bugs or documenting tests ? Or is it totally up to team to decide how they want to go about it ?"

I decided to share my response in my blog as well as the group, in case others might find this interesting.

How do you start on a normal day of your work? Do you come prepared with a scenario, or do you start with a previously prepared scenario? There's no difference. The heuristic I try to use is "everyone should be learning or contributing" and that helps me choose what we'd do together. My team uses mob testing / programming for learning, not all production work. There's other teams (most famously Hunter, Cucumber Pro and Alaskan Airlines teams) that use mobbing for most/all production work. I don't think there's hard/fast rules, but these are ones I try to adhere to:

  1.  Roles & rotation. Driver on keyboard, navigators decide what to do. To learn navigation, try designated navigator pattern. Rotate on timer, short to begin with.  
  2. Kindness, consideration and respect 
  3. Yes, and... - continue and build on the others work 
  4. No thinking leading to independent decisions on direction at the keyboard - trust the group of navigators to set the direction.  
  5. If you're not learning or contributing, rethink what you're doing 
  6. If you disagree on which way to do things, do it both ways and then decide.  
  7. Retrospect regularly.  
I've logged bugs in a mob. It was painful, because it taught us so much about how much we disagree on what makes a good description of a problem. I've written test documentation in a mob, it has created common styles of what we're comfortable with.  It's really up to you to decide what you feel would be a good thing to try. I love mob testing in an exploratory testing manner, learning and finding bugs on new application. But then again, that is the format I teach in nowadays, also outside my usual day job.