Bug Reporting – Art and Advocacy

Introduction: As testers, we all agree to the fact that the basic aim of the Tester is to decipher bugs. Whenever a build appears for testing, the primary objective is to find out as many bugs as possible from every corner of the application. To accomplish this task as perfection, we perform testing from various perspectives. We strain the application before us through various kinds of strainers like boundary value analysis, validation checks, verification checks, GUI, interoperability, integration tests, functional – business concepts checking, backend testing (like using SQL commands into db or injections), security tests, and many more. This makes us to drill deep into the application as well as the business.
We would agree to the fact that Bug Awareness is of no use until it is well documented. Here comes the role of BUG REPORTS. The bug reports are our primary work product. This is what people outside the testing group notices. These reports play an important role in the Software Development Life Cycle – in various phases as they are referenced by testers, developers, managers, top shots and not to forget the clients who these days demand for the test reports. So, the Bug Reports are remembered the most.

Once the bugs are reported by the testers and submitted to the developers to work upon, we often see some kinds of confrontations – there are humiliations which testers face sometimes, there are cold wars – nonetheless the discussions take the shape of mini quarrels – but at times testers and developers still say the same thing or they are correct but the depiction of their understanding are different and that makes all the differences. In such a situation, we come to a stand-apart that the best tester is not the one who finds most of the bugs or the one who embarrasses most programmers but is the one who gets most of the bugs fixed.

Bug Reporting – An Art: The first aim of the Bug Report is to let the programmer see the failure. The Bug Report gives the detailed descriptions so that the programmers can make the Bug fail for them. In case, the Bug Report does not accomplish this mission, there can be back flows from the development team saying – not a bug, cannot reproduce and many other reasons.
Hence it is important that the BUG REPORT be prepared by the testers with utmost proficiency and specificity. It should basically describe the famous 3 What's, well described as:

What we did:

• • •

Module, Page/Window – names that we navigate to Test data entered and selected Buttons and the order of clicking

message Validations – give correct validations Error messages – justify with screenshots Navigations – mention the actual pages Pointers to effective reporting can be well derived from above three What's. These are: 1. Bug should be reported after building a proper context – PRE-CONDITIONS for reproducing the bug should be defined so as to reach the exact point where bug can be reproduced. Double click this created contact from the contacts list to open the contact details – make changes and hit save button.2. BUG DESCRIPTION should be clearly identifiable – a bug description is a short statement that briefly describes what exactly a problem is.3…Make each sentence small and clear. 3.like enter the phone number as 012aaa@$%. but this statement should clearly identify what exactly a problem is. Might be a problem required 5-6 steps to be produced. test data: Most of the times it happens that the bug can be reproduced only with a specific set of data or values. Hence. Only write those findings or observations which are necessary for this respective bug. But description should be clear saying Server Error occurs while saving a new record in the Add Contact window. Writing facts that are already known or something which does not help in reproducing a bug makes the report unnecessarily complex and lengthy.and save. Make your report step wise by numbering 1.What we saw: • • • • GUI Flaws Missing or No Validations Error messages Incorrect Navigations What we expected to see: • • • • • GUI Flaw: give screenshots with highlight Incorrect message – give correct language. For example: If a server error appears while editing a record in the contacts list. then it should be well defined as a pre-condition to create a new contact and save successfully. 2. Problem might be a server error.. STEPS should be clear with short and meaningful sentences – nobody would wish to study the entire paragraph of long complex words and sentences. Cite examples wherever necessary – combination of values. 4. . instead of writing ambiguous statement like enter an invalid phone number and hit save…one should mention the data/value entered….

7. The problem should be fixed before release of the current version in development or a patch must be issued if possible. We can also refer to some application or some module or some page in the same application to strengthen our point. Remember. Being judgmental makes developers think as though testers know more than them and as a result gives birth to a psychological adversity. page number for reference. It defines the importance of BUG from FUNCTIONALITY point of view and implies adherence to rigorous standards or high principles. Voices precedence established by urgency and it is associated with scheduling a bug Priority Levels can be defined as follows: High: This has a major impact on the customer. Report without passing any kind of judgment in the bug descriptions – the bug report should not be judgmental in any case as this leads to controversy and gives an impression of bossy. To avoid this. PRIORITY means something Deserves Prior Attention. It affects a more isolated piece of functionality. It occurs only at one or two customers or is intermittent. Medium: This has a major impact on the customer. Low: Failures that are unlikely to occur in normal use. Problems do not impact use of the product in any substantive way.5. . 6. we can use the word suggestion – and discuss with the developers or team lead about this. Give references to specifications – If any bug arises that is a contradictive to the SRS or any functional document of the project for that matter then it is always proactive to mention the section. System stops working totally or partially. This must be fixed immediately. Medium/Workaround: When a problem is required in the specs but tester can go on with testing. Severity tells us HOW BAD the BUG is. For example: Refer page 14 of SRS section 2-14. A major area of the users system is affected by the incident and It is significant to business processes. It represents the importance of a bug from Customer point of view. a tester should always be polite so as to keep his bug up and meaningful. Severity levels can be defined as follows: Urgent/Show – stopper: Like system crash or error message forcing to close the window. Assign severity and priority – SEVERITY is the state or quality of being severe. Have no or very low impact to business processes State exact error messages.

For any error say object references. . GUI issues. It helps the developers understand the issue more specifically. The flaw should be fixed if there is time. but it can be deferred until the next release. message prompts and any other errors that we can see – should always be saved as a screenshot and be attached to the bug for the proof.Low: This has a minor impact on the customer. Provide Screenshots – This is the best approach. 8. server error.