Software Testing Classics: Bug Advocacy by Cem Kaner

Last week, I decided to go back in time to revisit a classic work of software testing theory by James Bach, on the subject of risk-based software testing. What I tried to show was that despite tremendous advances in terms of tools, techniques and technology, the fundamentals of software testing essentially remain the same. I hope that was conveyed in the post.

Anyway, in that same spirit, I’m going to quickly bring back another classic work of software testing theory for debate and discussion: Bug Advocacy by Dr. Cem Kaner.

If that name sounds familiar, it’s because Cem Kaner is one of the field’s leading thinkers, teachers and practitioners. He’s also appeared as a guest on our Testing the Limits interview series, which you can find here, here and here.

So what is “Bug Advocacy” all about? The title pretty much says it all (I hope), but let’s take a look at some key excerpts from this 100-page masterpiece to find out more. First the, the premise:

  1. The point of testing is to find bugs.
  2. Bug reports are your primary work product. This is what people outside of the testing group will most notice and most remember of your work.
  3. The best tester isn’t the one who finds the most bugs or who embarrasses the most programmers. The best tester is the one who gets the most bugs fixed.
  4. Programmers operate under time constraints and competing priorities. For example, outside of the 8-hour workday, some programmers prefer sleeping and watching Star Wars to fixing bugs.

A bug report is a tool that you use to sell the programmer on the idea of spending her time and energy to fix a bug.

Motivating the Bug Fixer
Some things that will often make programmers want to fix the bug:

Infographic: The Five Stages of the Developer-Tester Relationship

Here’s a funny (and honest) infographic on the love-hate relationship between software testers and developers. It was created by Bruce McLeod, author of  the Teknologika blog. He also wrote an accompanying blog post explaining this image in more detail.

Well done Bruce!

HTML5 is Going to Solve All of Your Problems…Right?

There’s a lot of talk these days about HTML5, specifically in regards to the web and what it means for the future of video. Did you not get the memo?

“Dear Desloper (Designer+Developer) community, HTML5 has introduced a <video> tag and all you need to do is give the source of your file and it will play videos in all the browsers and devices of the universe.”

Can it really be that easy? Nope. As the saying goes, “There’s no such thing as a free lunch” – and the same applies to embedding video in HTML5.

The popularity of HTML5 becomes more and more important with the way arch-rivals Adobe and Apple get along with each other.  The miserable deslopers start looking for an alternative to Flash to play video on Apple devices. HTML5 – and its <video> tag – is therefore seen as somewhat of a savior. No Flash or Quicktime to play a video? Where do I sign up?

However, with different parties supporting different video standards, the desloper community needs to keep in mind that they need to encode video into different formats so that various browsers can understand their video format.

For converting the video to iPhone, Apple provides a tool named Quick Time Pro which you can buy (or let your generous boss pay for it) for conversion purposes. Quick Time Pro will make your life easy to convert your video (Quick time format) file into MP4 which you can play on iPhone for both web and desktop applications.

The fun starts when you have to play H.264 video format in Mozilla Firefox (my favorite browser and probably most developers’ favorite too).

Read more…

When Should You Start the Testing Process?

Here’s a hint:

Oh, you want a more detailed explanation, do you? Then take a look at this timely advice from Stanton Champion:

Pop Quiz: When should you start the testing process? At the end of your process? How about in the middle? Right after the first sprint?

The answer is None of the Above! Testing should begin with the design phase of a project and continue all the way through. Software testing is ultimately about validating the design requirements, but to be effective at that, the testing process must begin with the design stage itself.

Read more…

Be Creative: Bug Hunting Advice From a Top Tester

Finding unique bugs in a software application is never easy. It’s even more difficult when you are working with dozens of other testers from around the world. In our latest guest post, uTester Amit Kulkarni – a recent Bug Battle winner – offers testers some advice for finding unique bugs when multiple issues have already been reported.

When working on test cycles in the uTest platform, it’s important to remember the model they follow. For instance, once the test cycle is open, it is made available to invited testers from all over the world, unless the customer has chosen specific criteria like geographical locatio, specialty, experience etc. And because there are different time zones, you may find yourself in a situation when you accept the invite for the test cycle and there are already a good number of bugs logged. So common, isn’t it?

Now here is the catch: Some testers wonder how do they go about it? There are already a lot of bugs logged, what should I do? How am I going to find a bug now? Well, first I would say calm down. Understand the application and what is expected from the test cycle. Once you are done with this, take a look at the bug reports already logged by other testers. This will give you an idea as to what part of the application has been tested so far, and what has yet to be tested.

I often feel quite lonely when there are no bugs logged when I accept an invite (a rare occurrence however). I would prefer to work with other testers as a team to make sure the outcome is what is expected by the customer before creating the test cycle, but that’s not always possible. That being the case, would you like to know how stand out from the other testers?

Here’s my advice:

Read more…

The Future For IT & Devs Is… Here?

Imagine, being able to build a web application and having it work seamlessly with all the most popular players in the modern apps ecosystem — mobile, social, CRM, et al.  What an idyllic future that will be.  And if you believe IDC’s latest report, that future may be now (well, next year, but still).

It sounds great, but I feel like I’ve seen this movie before (“write once, run anywhere”, anyone?).  Maybe IDC is right and the pieces are coalescing to make this brave new world a reality for app developers.  Maybe I’ve simply become jaded.  That said, I do think the timetable mentioned below is aggressive and overly optimistic.  Here’s a blurb from what IDC had to say over at Network World.

Cloud services, mobile computing, and social networking technologies are going to mature in 2011 and beyond, according to IDC. The research firm predicts these technologies will coalesce into a new mainstream platform for both the IT industry and the industries it serves.

Critical transition

Frank Gens, senior vice president and chief analyst at IDC notes that next year will see the critical transition of the transformative technologies from early adopter status to early mainstream adoption.

The IT industry will thus revolve more around the build-out and adoption of this next dominant platform, characterised by mobility, cloud-based application and service delivery, and value-generating overlays of social business and pervasive analytics.

Gens added that this restructuring will not only create new markets and opportunities but will also change nearly every assumption about who the industry’s leaders will be and how they establish and maintain leadership.

Interested to hear what testers, devs and tech execs have to say.  Color me skeptical, but hoping beyond hope that IDC is right.

Testing the Limits With Scott Barber – Part I

Our Testing the Limits guest this month is testing guru Scott Barber, the Chief Technologist of PerfTestPlus. A speaker, writer, teacher and entrepreneur, Scott has one of the most impressive resumes in the business, particularly in the realm of customized testing methodologies, embedded systems testing, personal security systems and other topics – all of which are discussed on his blog.

In Part I of our 3-part interview, Scott discusses the Manifesto for Agile Development (almost ten years after it was created); the expectations of today’s testing managers; the notion of testers as an “unfortunate necessity”, the 1983 War Games movie and more.

uTest: As a signatory on the Manifesto for Agile Development, can you comment on the progress being made by software companies in upholding these principles? Have they exceeded your expectations, or is there still a long way to go?

SB: Honestly, I think the buzz around the “Agile movement” has, in many cases, taken the industry in an unfortunate direction. I meet far too many people and companies who are completely unfamiliar with the Agile Manifesto and think of Agile as a collection of practices, processes, and tools. The reality is that Agile is a far more a mindset and a culture than it is a collection of practices, processes and tools. Agile isn’t the best fit for every situation, or for every person.

I believe that the trend to “go Agile” is misguided. If a company is developing good software, the people involved in developing that software are happy working there, the software development is sustainable, and the business is being adequately served by that software, there’s really no need for them to try to be more or less Agile. Agile has challenges like any other culture, but the single biggest challenge I find is companies trying to solve development, process, management, and/or schedule problems by “going Agile.” Teams who have grown up in a culture that is fundamentally different than Agile simply will not find it easy to “go Agile.”

Read more…

Innovation Factory: Testing, Culture, & Infrastructure

Our good friend Patrick Copeland of Google (who we interviewed a few months back) has just posted his keynote presentation from the recent ICST 2010 conference. If you’ve ever been interested to learn how testing is done at Google – and why it’s done that way – this presentation is exactly what you’ve been looking for. Enjoy!