Friday, July 5, 2013

More Thoughts on My Rapid Software Testing Class with James Bach

I've recently returned from a great experience.  Last week I attended Rapid Software Testing (RST) with James Bach.  For those of you that don't know, I would say RST is a three day boot camp for Testers!  "RST is a Testing methodology to give you the skills of testing any software, any time, under any conditions".  Before I even left for the trip, I made the decision to be open and fearless. I wanted to experience everything James had to offer. I wanted to embrace it all.

The three days were jam-packed with teachings by James, testing exercises, the famous dice game, great food, a beautiful place on the island (Orcas Island), a wonderful group of eager Testers, and magic tricks!  Honestly, we learned so much, I wouldn't know how to write it all down.  At the bottom of this post I'm attaching two of the documents so that you can see for yourself the amount of information we got.

So, instead of telling you in detail all that we learned, I would rather pass along a few things that I hope you will find helpful:

1. RST:
   -RST is like being a survivalist! Use any resources & tools available.
   -Rapid Testing = Rapid Learning
   -Pillars of RST: Diversification, Costs vs. Value, Skill, Heuristics
   -To "adopt" RST is to adopt a discipline for studying testing.
   -Indulge your curiosity.

2. Questioning:
   -Before you start testing something, ask questions, lots of questions.
   -Example of some questions you could ask to the customer, product owner, developer, etc: How does the product work? How does the system work? What is the data used? What are the risks? What is the product used for?
   -It's okay to jump in and learn about the product before or after asking questions.

3. Models:
   -Make a model of what you're going to test.
   -All testing is related to models. Test the product against models.
   -A model can be diagrams, spreadsheets, a list, a demonstration, a  program.
   -Learn the thing you have to test. Drink it up
   -And get good at mental models as well.

4. Heuristics:
   -Heuristics are one of the keys to thinking like a Tester (along with seeing what others cannot see, modeling what you're testing and test against model, and asking LOTS of questions.
   -Heuristics can be anything and everything that helps you test!
   -All oracles are heuristics.
   -Heuristics depend on the context.
   -Heuristics say, "How may I be of service"?
   *I think I'm finally starting to grasp more of what heuristics are, but I'm going to keep studying and learning to add to my expertise as a Tester.

5. Exploratory Testing:
   -Is not a testing technique, it's an approach.  It can work with any testing technique such as 'Exploratory' Performance testing, 'Exploratory' Stress testing, etc.
   -Using exploratory testing and scripted testing together is good testing.
   -Variety gives you power.

6. I don't have to be an expert at everything, but I need to be committed to learning, growing, and teaching.

7. Risks: Where is the fire burning and what do I do to put out the fire.

8. When you run out of ideas or are frustrated, defocus. When you're confused, focus.

9. Okay to be confused as long as you're on the way to be un-confused

I don't consider myself an expert on all of these things just yet, but here's the best part...I don't have to be "yet".  It's an on-going journey, isn't it? As a lot of us Testers know, we need to be continually learning. It never stops.

RST had a profound effect on me. I felt it on the last day. It's hard to describe, but I was changed. Something shifted in me. My confidence as a Tester AND a person had grown. James is a great teacher, but more importantly, a great person that cares about people learning, growing, and believing in themselves. He saw things in me that have made a difference in me that I can't thank him enough for.

As I said in my first post about RST, if you ever have a chance to take an RST class, just do it!

RST slides
RST appendices
Pictures from RST!
RST overview video by James Bach (taped at our RST class, June 2013 on Orcas Island)
James Bach = Steve McQueen!

Me and James!