Respect the Defect: Advice that will change the perception of testing
Our guest blogger this month is Joseph Ours, a recent Bug Battle winner with more than 12 years of IT experience, including software testing and quality assurance. In this post, Joseph advises testers to re-examine the way they report defects in software applications.
Testers and testing are viewed as a cost center in many organizations. If you look at the roles of other “main” players, you quickly see that testers face what I call an issue of intangibles. Here’s what I mean:
- Project managers – They are task masters driving a product to completion. Businesses absolutely want products created on time and under budget – which is why they are (correctly) viewed as an absolute necessity.
- Analysts – These guys get the great job of descriptively conceptualizing the idea. This is akin to a paper prototype, and gives the business the first real glimpse of how it might look and work.
- Developers – They are the cream of the crop. They get to create an actual product that businesses can see and feel.
- Testers – Well, we say if it works or not.
Everyone else gets viewed as making a positive contribution in getting a product to market. Unfortunately, testers are in the position of “finding” things that can mar the perception of what is being created. This can lead to confrontational situations that are, to say the least, unpleasant. So, how can we as an industry change this perception of our craft? There are many answers, to be sure, but I would like to focus on a single element of our profession that elicits much of this ill will: defect reporting. Actually, I would rather call them observations, but that’s another post entirely.
The primary purpose of defects is to point out what we believe to be a notable observation about the application. Typically, a defect report is about something that doesn’t work the way we think it should. This inevitably leads us to write a report where we layout the steps used to encounter the defect. However, one thing we often leave off of such reports is why we logged it. After all, a defect is an observation. As with all observations, there is a point of reference. For software, it can be a requirements document, UI standards, historical experience, etc. Without our reference point included in the defect, the receiving party is left to guess why we thought it was wrong in the first place.
This can lead to all sorts of issues, but it generally leads to at least one meeting for clarification. But the bigger impact is by NOT saying why we think it is wrong, as we can lose credibility and the opportunity to demonstrate tangible value.
Consider this: In addition to recreating the steps, what if we included a reference point as to why something is a defect AND articulated the loss of value to a stakeholder (usually an end-user)? Would others view our observations, and us, as more valuable? Of course they would, and isn’t that the point?
For example, instead of saying:
“I entered in ‘John Smith’ in the name field, hit the tab key, and received a javascript alert”
We said:
“I entered in ‘John Smith’ in the name field, hit the tab key, and received a javascript alert. The javascript alert contained an error message regarding null objects. End users experiencing this behavior may be inclined to believe the registration process has failed and may leave the website.”
We have stated an observation, a point of reference, and a value item related to a stakeholder. But it is not just end-users that have a value concern. Let us take another example.
Instead of saying:
“I entered ‘<script>alert(‘me’);</script> into the name field and the application accepted it on submission. On the confirm registration page it displayed an alert message with the text ‘me’ and allowed me to successfully register”
We said:
“I entered ‘<script>alert(‘me’);</script> into the name field and the application accepted it on submission. On the confirm registration page it displayed an alert message with the text ‘me’ and allowed me to successfully register. The system allowed un-encoded fields to be submitted and subsequently executed commands. This could allow a malicious person to execute a cross-site script attack against the application; leaving our system and users vulnerable.”
Here we stated our observation, our reference, and our concern. This makes our observations more useful to stakeholders. Ultimately, this makes testers more valuable as well. We get the opportunity to demonstrate our value; for example, how our efforts improved end-user experience, the security of our system, and adherence to the conceptualized idea, to name a few.
This, of course, is precisely what we want. And one of the easiest, most effective ways to demonstrate the tangible benefits we testers bring to the table is to change the way think of – and write – defects in software.
Joseph Ours has more than twelve years of information technology experience in areas of requirements definition, analysis and design, program/ project management, full system life-cycle development, training, testing, and quality assurance. He has been a project manager, team lead, and team member, continually striving to provide the very best service and expertise in response to an ever-changing and increasingly complex IT environment. You can read his blog here.






Excellent post Joseph!
I agree with every word and would like to echo on that.
Bug reports is how testers are seen & ‘measured’ by their colleagues.
Product managers provide well-designed and detailed MRDs & PRDs.
Analysts provide their analysis reports.
Developers provide the actual product.
We, testers, provide bug reports & periodically test results/statuses.
Testers should understand the real value of such detailed test reports with references & value items and implement this on their bug reports.
Developers but mostly Product managers (PMs) are the main assignees & stake holders of bug reports. PMs are usually bombarded with bug reports which they need to prioritize and assign to developers. Giving the large numbers or assigned bugs to them along with the company’s pressure to submit product soon to the market, bugs which are only informative and missing the real ‘juice’ of such well-suggested reference and value items can be easily targeted as ‘Resolve later’, ‘Wont fix’ and off-course lowered-priority, thus rarely will be taken seriously!
By supplying real reference and value items, one can provide a much clear & reasonable bug defect reporting with a real value to the stakeholders which can assist them in making the RIGHT choices when dealing with such reported bugs and most important earn great creditability.
Kudos for the well detailed & influential subject & keep them coming!
Cheers,
Bernard.
This is why it’s important for all testers/QA folks to really understand the application and its users. The great QA folks I’ve worked with had a deep desire to get in the heads of their customers, even go on customer visits and listen to customer support calls and to read up on the industry.
The PM is often very busy and doesn’t have the bandwidth (or sometimes the depth) to make every decision. When QA can contribute their informed opinions, it just makes the overall product better.
Great, thanks Joseph.
You worded my most “annoying” experiences as tester.
This is exactly what makes the tester advance from the “bad guy” to the valuable guy.
In my past experience as tester, often, when reporting a bug (with the usual description) the developers – not so PMs – tried to discuss the bug as not being one, taking the bug as a personal disgrace. – until I found the way to replace the problem with the chance (for the developer) to improve even further.
Putting into the bug report values just like Joseph wrote above make such discussions disappear forever.
Being able to prove the customer value in everything you do is/should be a requirement for anyone working with software (probably most other fields as well). However, I can’t see that testers, anymore than programmers, should be allowed to second guess the customer value (or lack thereof). Any problems found with the software should be possible to relate to the behaviour asked for by the customer in the form of requirements, acceptance tests, decided standards etc.
Best regards
“However, I can’t see that testers, anymore than programmers, should be allowed to second guess the customer value (or lack thereof).”
Well, maybe not more (although I expect a tester to have more of a helicopter view than a programmer has) but as a programmer I must say I’m glad for all input I get from users, whether they are end users or testers. A surprisingly high amount of UI and functionality decisions are at the end of the day made by the programmer, and a programmer isn’t usually the best person to make these decisions…
Also keep in mind that an end user who states a problem is usually incorrect in his or her description of or “solution” to a certain problem. After all, if your application has a thousand users and you get one support email, you should ask yourself how well-founded this user’s views are, before you dig in.
/Petter
[...] top tester prize went to Joseph Ours of Columbus, Ohio, who reported a number of highly valuable bugs and provided some outstanding [...]
[...] Respect the Defect: Advice That Will Change the Perception of Testing – by Joseph Ours: Testers need to reconsider they way they report bugs – this was the position taken by Joseph Ours in his first (and hopefully not last) uTest blog post. Challenging testers to demonstrate their value by writing more clearly about the bugs they uncover (among other tactics), Joesph has sparked an interesting debate among our community. Visit the comments section to see for yourself. [...]