CS 4723 Software Validation and Quality Assurance Lecture

  • Slides: 25
Download presentation
CS 4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management

CS 4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management

Issue Tracking System Ø After software testing Ø Testers find a lot of bugs

Issue Tracking System Ø After software testing Ø Testers find a lot of bugs Ø They need to tell the developers about the bugs Ø Ø Compared with Mailing list Ø Hard to manage, come with all other mails Ø Not categorized by topic Ø 2 They usually put them into a so-called issue tracking system No features for describing specific aspects in SE (versions, components, commits, etc)

Issue Tracking System Ø Ø Like a forum Ø People can register and raise

Issue Tracking System Ø Ø Like a forum Ø People can register and raise a issue Ø Ø 3 A platform for developers to communicate with each other The one who raise the issue will describe the issue in details Others can comment

Issue Tracking System Ø What is special Ø More structured for describing issues Ø

Issue Tracking System Ø What is special Ø More structured for describing issues Ø Component, assignees, schedules, status, resolution Ø Customizable Ø Ø 4 Change the contents while progress is made (status, resolution) Sometimes allow anonymous issue raising Ø Users of software involved Ø They use the software and raise bugs

Issue: an example 5

Issue: an example 5

Issues – Life Cycle Reporter Submission Re-open Triager Triaging Duplicate/Invalid Retriage Assigned Closed Not

Issues – Life Cycle Reporter Submission Re-open Triager Triaging Duplicate/Invalid Retriage Assigned Closed Not reproducible Inspecting Developer Fixing Developer 6 Verifying Refix Fixed

Issues 7 Ø Type of issues Ø Process of issues Ø Resolution of issues

Issues 7 Ø Type of issues Ø Process of issues Ø Resolution of issues

Type of issues 8 Ø Bug reports Ø Feature Requests Ø Patches

Type of issues 8 Ø Bug reports Ø Feature Requests Ø Patches

Type of Issues Ø 9 Bug report (e. g. , system shows wrong message)

Type of Issues Ø 9 Bug report (e. g. , system shows wrong message) Ø About a bug of the software Ø Raised by a user/developer Ø Should include: Ø Step to reproduce Ø Expected behavior Ø Actual behavior Ø Stack trace or error message if any

Example of a bug report https: //bugzilla. mozilla. org/show_bug. cgi? id=876495 10

Example of a bug report https: //bugzilla. mozilla. org/show_bug. cgi? id=876495 10

Type of Issues Ø New feature (e. g. , add sorting to results) Ø

Type of Issues Ø New feature (e. g. , add sorting to results) Ø Ø 11 About add a new feature, e. g. , add sorting by modify time Raised by a user/developer

Example of a feature request https: //bugzilla. mozilla. org/show_bug. cgi? id=382491 12

Example of a feature request https: //bugzilla. mozilla. org/show_bug. cgi? id=382491 12

Type of Issues Ø Patch (e. g. , add checking for input validity) Ø

Type of Issues Ø Patch (e. g. , add checking for input validity) Ø Ø Ø 13 A fix to the software By a professional user, or a developer on a important fix Should include: Ø Version to patch Ø Patch code: basically a code diff, Diff (buggy, correct)

Example of a patch https: //bugzilla. mozilla. org/show_bug. cgi? id=657763 14

Example of a patch https: //bugzilla. mozilla. org/show_bug. cgi? id=657763 14

Process of an issue Ø Ø Open/New Ø The issue is raised Ø Nobody

Process of an issue Ø Ø Open/New Ø The issue is raised Ø Nobody in the project has looked at it yet Assigned Ø A person called triager assign issue to a developer Ø Ø 15 Bug report: the developer will first reproduce the bug, and then try to fix Feature request: discuss with colleagues on whether to accommodate the request, and implement the feature Ø Patch: Validate the patch Ø Milestone: may be assigned to a sub-group

Process of an issue Ø Closed Ø Ø Ø Fixed, usually accompany with code

Process of an issue Ø Closed Ø Ø Ø Fixed, usually accompany with code commits Ø Reject Ø Later Reopened Ø 16 When the decision on the issue is made in any way After the issues is closed, something happens and the issue become active again Ø Incomplete fix Ø Start to implement a postponed feature Ø Or revoke any wrong decision before

Resolution of an issue Ø Ø Fixed Ø A bug is fixed Ø A

Resolution of an issue Ø Ø Fixed Ø A bug is fixed Ø A feature is added Ø A patch is applied Invalid Ø Ø Ø 17 Bug cannot be reproduce Feature does not make sense (request is not understandable) Patch is not correct

Example of invalid bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=198057 18

Example of invalid bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=198057 18

Resolution of an issue Ø Duplicate Ø The issue is a duplicate of another

Resolution of an issue Ø Duplicate Ø The issue is a duplicate of another existing issue Ø Often happens for user raised issues Ø Usually bug report / feature request Ø Ø Won’t fix Ø Ø 19 Some issue tracking system allows merge of duplicate issues The developers decide to not fix the bug or accommodate the new feature Limited human resource, new version is about to released

Example of duplicate bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=137325 20

Example of duplicate bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=137325 20

Example of won’t fix bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=143329 https: //bugzilla.

Example of won’t fix bug reports https: //bugzilla. mozilla. org/show_bug. cgi? id=143329 https: //bugzilla. mozilla. org/show_bug. cgi? id=290131 21

Existing Issue Tracking Systems Ø Many project hosting websites provide issue tracking systems also

Existing Issue Tracking Systems Ø Many project hosting websites provide issue tracking systems also Ø Ø Ø GIT Hub Ø Source Forge Issue tracking service provider: Ø Ø Bugzilla Companies often has their own issue tracking system Ø 22 Google Code: so you will also have a issue tracking system Users can submit issues, but the tracking system is not public

Tips on submitting an issue report Ø Search for existing reports Ø Specify: product,

Tips on submitting an issue report Ø Search for existing reports Ø Specify: product, platform/OS, version Ø Describe Ø Input / Steps to reproduce Ø Expected results / actual results Ø Ø 23 Bug: Always reproducible or happen randomly (maybe related to concurrency, system resource, environ, etc. ) Provide Ø Snapshot / bug: error message Ø Bug: Stack trace

Demo on Bug Report Submission Ø Github, Just like post in a forum https:

Demo on Bug Report Submission Ø Github, Just like post in a forum https: //github. com/ Ø Java Bug Reporting System, asking a lot of things https: //bugreport. java. com/bugreport/

Review of issue tracking system 25 Ø Where the bugs go to after you

Review of issue tracking system 25 Ø Where the bugs go to after you find them Ø Type of issues Ø Resolution of issues Ø How to write a good bug report? Ø How bug reports are handled?