Monday, October 19, 2015

How To Test - the book

This has been something I tried to put together a few years ago, I started work on it, but it never quite came to fruition.

It had been something I'd been talking with Bernice Ruhland about.  How can you help someone in their first steps as a software tester?

One thing I knew - I had a lot of very authoritative books about testing, which usually came out on the epic side.  They talked about requirements and waterfall methods.  About verification and validation models.  About terminology.

But what they didn't really cover to my satisfaction was "how do you test" / "where do you get ideas to test"?  When I did James Bach's Rapid Software Testing course in 2012, I actually felt a bit annoyed when he covered oracles and heuristics.  This was a scalable model which could be applied to so much - so why wasn't this being taught as day one of test school instead of multiple choice questions about the difference between a bug and a defect?

I became more passionate about the need for a short intro which focused on "real testing" as done day-to-day when I heard about "testing bootcamps" which were being offered around the world to graduates.  For a few thousand dollars, they promised to train you (including ISTQB certification), and you would be guaranteed a career.

I have a son who is facing going to University next year, so I know it doesn't come cheap.  And the idea of more expense after a degree to just get anyone to take you seriously quite horrifies me.  [I'm that odd thing, someone from a generation of free higher education who believes this generation deserves it too]

Hence I wanted to put together a book which covers some of the core basics of testing, especially some worked examples of the application of oracles and heuristics.  Enough to get people's toes into the water to see if they like the profession.  This book had to be free.  It had to be short, easy to work through and easy to read - it was never aiming for authoritative, but it would give advice for next steps at the end.

All told I spent 6 years at University - I never studied a single computers module.  But I understood at the end that part of my education is that I'd learned to apply myself and discipline myself to learn anything.  When I was unemployed after my failed PhD, I read a lot about programming, enough to get interviews and enough to write programs in interviews so people could tell I knew what I was doing.  I got my first job at Thomson Marconi Sonar, and hit the ground running.  What amazes me though is that I learned all this about programming in C++ - but didn't own a computer at the time.

My son Cameron recently met James Bach, and James talked to him about Cameron's aspirations.  James told him about his first day as a test manager at Apple (after some success working as a programmer), and how on that day everything clicked for him.  He found something he truly enjoyed and that motivated him.  "If you follow your passion you will find your discipline", was James's excellent advice.

This is my introduction book to testing.  If it intrigues you, I encourage you too to follow your passion ...

https://leanpub.com/howtotest


7 comments:

  1. Hooray! I have downloaded it and look forward to reading it. It will help me find good ways to help my programmer teammates learn more about testing. Thank you!

    ReplyDelete
    Replies
    1. and a question for you. Your intro seems to indicate the book is for student testers, test leads, mentors, managers. What about programmers? Can I give this book to the programmers on my team who want to become better at exploratory testing, for example?

      Delete
    2. I consider it useful for anyone who's going to try their hand at doing testing. Especially programmers. I guess I want to show "this is the core of what testing is about" vs the "follow a plan/script" mentality we often can see.

      Delete
  2. I only started dipping into a couple of sections of the book but already love it. I wish someone gave me this book when I started thinking about a career in testing.
    The basic approach with the login screen is good, introducing mind maps and scenarios is great and giving little tips like using screenshots or recording videos of a session is fantastic.

    If there is going to be a v1.1 I have some suggestions to make it even better (if that doesn't make it too unwieldy). Mentioning the relationship with other project team members, i.e. developers, project managers, etc and how to deal with the 'traditional' problems. For example. section 5 Raising a defect. Sooner or later a newbie tester will have a lively encounter with a developer who says "Works on my machine", "Works as specified" or other such junk. Giving them some advise how to diplomatically criticise the developers ugly baby will come in handy.
    Hopefully this book will find many readers as it's well written and invaluable for anyone starting out. It also made me think about my approach to teaching testing. Thank you!

    ReplyDelete
    Replies
    1. Thanks Thomas. I think the items you mention are all good points, but potentially worth covering in follow on material. It's also an oft covered topic in this blog (more of that to come soon).

      Delete
  3. Thank you! Looking forward for follow on materials. Thanks again

    ReplyDelete
  4. When you have been preparing for the competitive tests, it is highly advised to follow short notes from the seniors. From my cousin I got his LSAT prep notes and these are truly amazing. In fact I have subscribed to the Best LSAT Prep Course as well. All these resources are helping me out wonderfully. I will surely excel the test with desired score.

    ReplyDelete