IssueLifeCycle

Revision as of 15:28, 6 October 2011 by Pjiricka (Talk | contribs)

Issue Life-Cycle

The following figure shows the states of an issue and helps understand the issue life-cycle in general ( Issue-Status, Issue-Resolution).

Image:bug-life-cycle_IssueLifeCycle.png

Contents


Reporting Issues

For more details how to report a new issue look at the Issue Reporting Guidelines.

Assigning Issues

Assigning is done by checking the Reassign issue to radio button in the issue form and filling in the a valid netbeans.org address (for some subcomponents it's done automatically).

Accepting Issues

Developers can accept issues by selecting the Accept issue button in the issue form (status changed automatically to STARTED). Developer shouldn't accept an issue until she's going to actively work on it. In other words, the STARTED == "Don't touch, I'm working on it."

Evaluating Issues

The evaluation of an issue involves the following:

  • Checking that the priority is correct according to the Bug Priority Guidelines
  • Checking that the bug is assigned to the right component and the right owner
  • Determining whether the bug is reproducible or not (or whether it is random)
  • Checking whether the issue is a duplicate of another issue
  • Adding a comment to the issue that adds any applicable information - either acknowledges the problem or asks for more information, justifies the priority (if it was changed by the evaluator), describes the required fix (if known) etc.
  • If applicable, changing the status accordingly to FIXED, WORKSFORME, INCOMPLETE, DUPLICATE etc.
  • Setting the target milestone to a value different that TBD (see below)

Specifically, evaluation does not require the following:

  • Determining the root cause of the bug in the code
  • Deciding about the approach of the fix


The issue is considered evaluated if Target Milestone == upcoming_release_number || Target Milestone == Next. The Bug Dashboard also takes this into account. The values of Target Milestone have the following meaning:

  • Upcoming release number - if it is believed that the bug is fixable in the current code base for the upcoming release
  • Next - if it is known that the bug is not fixable in the current code base (as it would require large or risky changes) and needs to be postponed to the next release. This target milestone will be automatically changed to upcoming release number after recent Code Freeze day.

All newly reported issues should be evaluated by responsible developer as soon as possible:

  • P1,P2 in a week
  • P3 before end of selected Milestone of upcoming release

Fixing Issues

Responsible developer updates the issue with information that might be useful to people reviewing the fix (what was changed and how, what files were affected, point out potential side effects, suggest test cases).

All fixed issues should have the Hg changeset revision in comment field. (You can use simple notation like #0123456789ab and it will be hyperlinked for anyone using BrowserTools.)

Responsible developer has to set the issues status to RESOLVED FIXED and update the target milestone to a value corresponding to the earliest public release the change will be effective in.

Duplicating Issues

If the issue is an instance of another issue it should be marked as DUPLICATE. Issues with poor and less comprehensive descriptions should be closed as duplicates of issues with better and more comprehensive descriptions.

Rejecting Issues

The issue is irrelevant and there's no further action to be taken on it. Resolution flags that can be used:

  • INVALID - error or misunderstanding on the user's side.
  • WORKSFORME - it isn't possible to reproduce the reported problem.
  • INCOMPLETE - we need more informations to resolve this issue
  • WONTFIX - won't be fixed in this product codeline (typically used for bugs in JDK).

Verifying Issues

Reporter (she has the knowledge, test cases, tools and needed platforms) or QE should verify issue by changing the status to VERIFIED. It's expected to note important details (tested build number, test cases tried, observed behavior) and check the target milestone value refers to the correct release version.

Reopening Issues

Anyone can change the status to REOPENED state, when she finds that issue has not been successfully resolved. She has to provide appropriate comment (why the issue should not be considered resolved).

Closing Issues

The CLOSED state is being used for issues that are too long time in state VERIFIED. Closing is done by QE, when a new version of the product is released

Waving Issues

The ...WAIVER_APPROVED keyword is being used for issues that we are not able to fix in recent release, it's usually requested by Development and follows WaiverProcess for particular release. Issue can't be waived more than 2 times, so the issue has to be FIXED or marked as WONTFIX afterwards.

Handling of Issues

The document Handling of Issues in Issuezilla specifies rules how to handle with issues.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo