Bug Reporting

Art and Science of Bug Reporting

Bug titling

 Title of the bug should: -Reveal the affected feature -Be specific and precise -Explain the behaviour observed which is not as expected -Highlight only the error prone feature and accurately -Do not essay the titling

Bug description

 Describe the bug in detail Do not specify the details which will be covered elsewhere / are already detailed

Priority

 Assign a business priority Take inputs from Product Owner / Business Developer / Tester

Severity

 Assign a business severity Take inputs from Product Owner / Business Developer / Tester

Bug Status

 New Open Fixed / Released for test Re-opened Not a bug / Closed Need more information Proof of closure available - Yes / No

Reporter

 Detected by -Developer / Tester -Business / Product Owner -Differently-abled user - track progress on accessibility -End user / Consumer -Anonymous -Gather information relating to a bug from reliable sources -Know that the reported bugs will be fixed based on priority -Talk to consumers if required to gather adequate evidence -Know that all reported bugs may not be fixed in the current / next release -Know that all reported bugs may not be fixed -Consult a mentor to learn to log bugs -Seek help from anyone who can help you learn -Be cautious and log bugs dispassionately

Environment details

 Provide visibility of Operating System and version Device / devices and screen size used Operating mode Version / Edition / Release Date tested and reproduce on Hardware and software used and the state Pre-requisites if any Specific conditions: Language tested / used Tools / Heuristic used

Fix

 Assigned to and Fixed by -Developer / Tester -Business / Product Owner -End user / Consumer -Anonymous The reporter is only a medium to expose a vulnerability The reporter may / may not be a reliable source -Investigate the bug -Do checks on the fix already provided -Know that there can be an issue with the code -Know that the report itself can be wrong -Know that there can be an issue with the build -Deliver the fix as per the requirement -Deliver the fix in time to test. re-test, regression test

Bug advocacy

 Base bug logging on the context: -A new bug for each environment -Avoid redundancy within an environment -Provide adequate information -Ask for and receive supporting information / links -If a certain issue needs legal proof - write to the relevant source -Ask for complete online information if required -Log every bug dispassionately Brainstorm with your team about: -Logging relevant bugs -Effective bug logging -Discuss about available tools -Discuss about building bug tracking tools based on a particular context / client need -Take charge and remember to report in your own way -Provide supporting evidence on using a particular tool for a certain context -Get the client to use no tools if found irrelevant -Talk your way to get a bug fixed -Gather enough evidence to support an issue raised -Do confirm every information gathered -Every information on the internet may not be true nor adequate -Consult legal authority if required

Bug tracking Tool

 Filters available to sort the bugs Email option Option to capture the screen shots / video Relevant fields Support for various OS, devices and across platforms Usability and available for all users Web and mobile version Online and Offline version Version control Ease of use / train any user Authorize users to read / write Revoke permissions where needed Dashboard Option to export / email a report generated Option to export / email a bug report Disable / lock certain fields / options irrelevant to a particular bug / report

Communicate

 Document / report using any of the available software / tools Document and communicate effectively Have an intention to improve the product's quality irrespective of the medium chosen to communicate an issue Communicate verbally / orally on a need basis Provide screen shots / videos were required and if available Make the bug report to be accessible by all relevant users Who is Relevant? -Any one in the team who requires an access to the bug report -Identify users who are required to use the bug report -Provide adequate authority to log bugs, to read reports

Tips

 Quality is everyone's responsibility Team - Should investigate the bug recorded And provide efficient fix Quarantine a block if required, until fixed Regression test wherever required and relevant Base your tests on the fix provided and affected flows Consider additional time to test the regression tests Log any failure in the fixed flow as a new bug Remember that the software by itself does not do wonders Humans err and that's why we have bug reports Challenge the very human tool - brain Talk to the relevant authority to get a bug fixed and released in time Relate common bugs and provide the reference bug id where required Realize the need to log every bug Above all - Be patient to listen, to fix, to report, to gather, to test, to release