bugzilla tutorial

40
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 T-76.115 Software Project T-76.613 Software Testing and Quality Assurance Bugzilla Tutorial Mikko Rusama Researcher, SoberIT [email protected] 14.10.2003 Updated 14.10.2005 by Lauri.Svan at hut dot fi: Each group has its own bugzilla, therefore no restrictions to bugzilla use

Upload: nassr-ismail

Post on 16-Apr-2015

150 views

Category:

Documents


18 download

DESCRIPTION

Bugzilla tutorial

TRANSCRIPT

Page 1: Bugzilla tutorial

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY1

T-76.115 Software ProjectT-76.613 Software Testing and Quality Assurance

Bugzilla Tutorial

Mikko Rusama Researcher, [email protected]

14.10.2003

Updated 14.10.2005 by Lauri.Svan at hut dot fi: Each group has its own bugzilla, therefore no restrictions to bugzilla use

Page 2: Bugzilla tutorial

2

SoberITSoftware Business and Engineering Institute

Contents

Introduction What is Bugzilla? Who is using Bugzilla?

Before entering a bug

How to enter a useful bug report into Bugzilla

Bug life-cycle

Querying existing bug reports

In this course students are allowed to ...

Bugzilla advanced features

Page 3: Bugzilla tutorial

3

SoberITSoftware Business and Engineering Institute

What is Bugzilla?

Bugzilla is a bug- or issue-tracking system. Bug-tracking systems allow individual or groups of developers

effectively to keep track of outstanding problems with their product.

An Open Source product covered by the Mozilla Public License

Written in Perl, uses MySQL database

”De-facto standard defect-tracking system against which all others are measured”

See: http://www.bugzilla.org

Page 4: Bugzilla tutorial

4

SoberITSoftware Business and Engineering Institute

Who is using Bugzilla? Netscape/AOL

Mozilla.org

NASA

Red Hat Software

SuSe Corp

The Horde Project

AbiSource

Real Time Enterprises, Inc

Eggheads.org

Strata Software

RockLinux

Creative Labs (makers of SoundBlaster)

The Apache Foundation

The Gnome Foundation

Ximian

Linux-Mandrake

http://www.bugzilla.org/docs216/html/faq.html

Page 5: Bugzilla tutorial

5

SoberITSoftware Business and Engineering Institute

Before entering a bug

Make sure the bug has not been previously reported! Use the Bugzilla Query Form For more information, see the tutorial of how to find reported

bugs. http://www.mozilla.org/quality/help/beginning-duplicate-finding.html

Next, be sure that you've reproduced your bug using the latest build released Development process may produce new builds even daily,

and the bug you've found may already have been fixed.

Page 6: Bugzilla tutorial

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY6

How to enter a useful bug report into Bugzilla

http://www.mozilla.org/quality/bug-writing-guidelines.html

Page 7: Bugzilla tutorial

7

SoberITSoftware Business and Engineering Institute

A useful bug report has two qualities

1.Reproducible If an engineer can't see it or conclusively prove that it exists,

the engineer will probably stamp it "WORKSFORME" or "INVALID", and move on to the next bug. Every relevant detail you can provide helps.

2.Specific The quicker the engineer can isolate the issue to a specific

problem, the more likely it'll be expediently fixed. If a programmer or tester has to decipher a bug, they may

spend more time cursing the submitter than solving the problem

In testing WWW pages, try to isolate what on the page is triggering the crash, and include it as an HTML snippet in the bug report if possible.

Page 8: Bugzilla tutorial

8

SoberITSoftware Business and Engineering Institute

A useful bug report

Useful bug reports are ones that get bugs fixed!

Be non-judgmental in reporting bugs. Bug reports need to be non-judgmental, non-personal and non-

inflammatory.

Reports should be written against the product, not the person, and state only the facts.

Page 9: Bugzilla tutorial

9

SoberITSoftware Business and Engineering Institute

Getting started – Creating A Bug Report

From the Bugzilla main page, choose "Enter a new bug report". T-76.115 https://newclass.soberit.hut.fi/GROUP_ALIAS/

If you haven't logged into Bugzilla already, you'll need to enter your email address, password, and press the "Login" button. Userid is your e-mail address (in most cases, your HUT unix

account name + @cc.hut.fi) Password is the same as in the course return system

Page 10: Bugzilla tutorial
Page 11: Bugzilla tutorial
Page 12: Bugzilla tutorial

Where did you find the bug?

Page 13: Bugzilla tutorial

How important is the bug?

Page 14: Bugzilla tutorial

Who will be following up on the bug?

Page 15: Bugzilla tutorial

What can you tell the engineer about the bug?

Page 16: Bugzilla tutorial

Who is allowed to view this bug?

Page 17: Bugzilla tutorial

Submit!

Create a template?

Page 18: Bugzilla tutorial

18

SoberITSoftware Business and Engineering Institute

Where did you find the bug? Product - In which product did you find the bug?

Version - In which product version did you find the bug?

Component - In which component does the bug exist?

Platform - On which hardware platform did you find this bug?

OS - On which Operating System (OS) did you find this bug?

Page 19: Bugzilla tutorial

19

SoberITSoftware Business and Engineering Institute

Where did you find the bug? Product - In which product did you find the bug?

In this course, group name is same as the product name

Version - In which product version did you find the bug? We're not yet using this field. Just leave the default value as you found it.

Component - In which component does the bug exist? By default, your product has only the ”default” component Click on the ’Component’ link to see descriptions of each component.

Platform - On which hardware platform did you find this bug? e.g. Macintosh, SGI, Sun, PC, ... If you know the bug happens on all hardware platforms, choose 'All'. Otherwise,

select the platform that you found the bug on, or "Other" if your platform isn't listed.

OS - On which Operating System (OS) did you find this bug? e.g. Linux, Windows NT, Mac OS 8.5. If you know the bug happens on all OSs, choose 'All'. Otherwise, select the OS

that you found the bug on, or "Other" if your OS isn't listed.

Page 20: Bugzilla tutorial

20

SoberITSoftware Business and Engineering Institute

Severity - How important is the bug?

Severity: How damaging is the bug? The impact of a bug. This item defaults to ’unspecified'. To determine the most appropriate severity for a particular bug, click

on the Severity link for a full explanation of each choice, from ’Critical’ to ’Enhancement’.

You should specify what severities you are planning to use

Page 21: Bugzilla tutorial

21

SoberITSoftware Business and Engineering Institute

Severity Values

Unspecified – the default value, severity not specified

Blocker - Blocks development and/or testing work

Critical - crashes, loss of data, severe memory leak

Major - major loss of function

Minor - minor loss of function, or other problem where easy workaround is present

Trivial - cosmetic problem like misspelled words or misaligned text

Enhancement - Request for enhancement, ideas

Page 22: Bugzilla tutorial

22

SoberITSoftware Business and Engineering Institute

Priority

This field describes the importance and order in which a bug should be fixed.

Utilized by the managers and programmers or engineers to prioritize their work to be done.

The available priorities are: P1 Most important P2 P3 P4 P5 Least important

Page 23: Bugzilla tutorial

23

SoberITSoftware Business and Engineering Institute

Who will be following up on the bug? Assigned To - Which engineer should be responsible for fixing this bug?

Cc - Who else should receive e-mail updates on changes to this bug?

You would not normally change either of these fields from their default values! In this course default component owner is ”randomly” chosen, so you may

need to change the values.

Page 24: Bugzilla tutorial

24

SoberITSoftware Business and Engineering Institute

Who will be following up on the bug?

Assigned To: Which engineer should be responsible for fixing this bug? Bugzilla will automatically assign the bug to a default engineer upon

submitting a bug report; the text box exists to allow you to manually assign it to a different engineer. Default owner is one of the students (the first one listed in

the CSV input file) To see the list of default engineers for each component, click on the

’Component’ link. Every time this field changes, the status changes to NEW to make it

easy to see which new bugs have appeared on a person's list

Cc: Who else should receive e-mail updates on changes to this bug? List the full e-mail addresses of other individuals who should receive an

e-mail update upon every change to the bug report. You can enter as many e-mail addresses as you'd like; e-mail addresses

must be separated by commas, with no spaces between the addresses.

Page 25: Bugzilla tutorial

25

SoberITSoftware Business and Engineering Institute

To change email settings

page footer ’prefs’ link’Email settings’

Page 26: Bugzilla tutorial

26

SoberITSoftware Business and Engineering Institute

What can you tell about the bug?

URL - On what URL did you discover this bug?

Summary - How would you describe the bug, in approximately 60 or fewer characters?

Description - What else can you tell the engineer about this bug?

Page 27: Bugzilla tutorial

27

SoberITSoftware Business and Engineering Institute

What can you tell about the bug?

URL - On what URL did you discover this bug? If you encountered the bug on a particular URL, please provide it (or,

them) here. If you've isolated the bug to a specific HTML snippet, please also

provide a URL for that, too or, preferably, return to the bug after you've submitted it and add the HTML snippet as an attachment.

Summary - How would you describe the bug, in approximately 60 or fewer characters? A good summary should quickly and uniquely identify a bug report.

Otherwise, developers cannot meaningfully query by bug summary, and will often fail to pay attention to your bug report when reviewing a 10 page bug list. Think of it as a "title".

A summary of "Drag-scrolling any web page crashes Mac builds" is a useful title. "Crash" or "Drag Crash" would be examples of a bad title.

Page 28: Bugzilla tutorial

28

SoberITSoftware Business and Engineering Institute

What can you tell about the bug? - Description What else can you tell the engineer about this bug?

Provide as detailed of a problem diagnosis in this field as possible, including as much as possible of the following information: Overview Description - More detailed expansion of summary. Steps to Reproduce - The minimal set of steps necessary to trigger

the bug. Include any special setup steps. Actual Results - What the application did after performing the above

steps. Expected Results - What the application should have done, were the

bug not present. Build Date & Platform - Date and platform of the build that you first

encountered the bug in. Additional Builds and Platforms - Whether or not the bug takes

place on other platforms or browsers. Additional Information - Minimized HTML snippets, Talkback crash

IDs, and any other debugging information. (ATTACHEMENT)

Page 29: Bugzilla tutorial

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY29

Bug life-cycle

Status and Resolution

Page 30: Bugzilla tutorial

Bug Life-Cycle

New Assigned

Reopened

Resolved Verified

Closed

Reassign

Unconfirmed

Open States End States

Transition is allowed from any open state to the ”Resolved” state

Page 31: Bugzilla tutorial

31

SoberITSoftware Business and Engineering Institute

Bug Status – Open States NEW - This bug has recently been added to the assignee's list of

bugs and must be processed. Bugs in this state may be accepted, and become ASSIGNED, passed on to

someone else, and remain NEW, or resolved and marked RESOLVED.

ASSIGNED - This bug is not yet resolved, but is assigned to someone who thinks they can fix it. From here bugs can be given to another person and become NEW, or resolved

and become RESOLVED.

REOPENED - The bug was once resolved, but the resolution was deemed incorrect. For example, a WORKSFORME bug

is REOPENED when more information shows up and the bug is now reproducible. From here bugs are either marked ASSIGNED or RESOLVED.

Page 32: Bugzilla tutorial

32

SoberITSoftware Business and Engineering Institute

Bug Status – Unconfirmed State

UNCONFIRMED - Nobody has validated that this bug needs to be fixed. Users who have the correct permissions may confirm this bug, changing its

state to NEW. A bug may be directly resolved and marked RESOLVED but usually a bug will

be confirmed by the person to whom it is assigned. Usually, an UNCONFIRMED bug will be left unconfirmed until someone has

verified that the bug the reporter submitted actually occurs.

Bugzilla administrator may specify the number of votes a bug in this product needs to automatically get out of the UNCONFIRMED state.

THIS BUG STATE IS NOT USED IN THIS COURSE!

Page 33: Bugzilla tutorial

33

SoberITSoftware Business and Engineering Institute

Bug Status – End States

RESOLVED - A resolution has been made, and it is awaiting verification by the QA. From here bugs are either re-opened and become REOPENED, are

marked VERIFIED, or are closed for good and marked CLOSED.

VERIFIED- QA has looked at the bug and the resolution and agrees that the appropriate action has been taken. Bugs remain in this state until the product they were reported against

actually ships, at which point they become CLOSED.

CLOSED - The bug is considered dead, the resolution is correct, and the product the bug has been reported against is terminated or shipped. Any zombie bugs who choose to walk the earth again must do so by

becoming REOPENED. This state is rarely ever used.

NOTE: Resolution values can only be specified for bugs being in one of the end states!

Page 34: Bugzilla tutorial

34

SoberITSoftware Business and Engineering Institute

Bug Life-Cycle

New Assigned

Reopened

Resolved Verified

Closed

Reassign

Unconfirmed

Open States End States

Transition is allowed from any open state to the ”Resolved” state

Resolution

The resolution field indicates what happened to this bug.

Only bugs in”Resolved” state will be marked with one of the resolutions.

All bugs which are in one of the ”Open” states have no associated resolution.

Page 35: Bugzilla tutorial

35

SoberITSoftware Business and Engineering Institute

Resolution FIXED - A fix for this bug is checked into the tree and tested.

INVALID - The problem described is not a bug.

WONTFIX - The problem described is a bug which will never be fixed.

LATER - The problem described is a bug which will not be fixed in this version of the product.

REMIND - The problem described is a bug which will probably not be fixed in this version of the product, but might still be.

DUPLICATE - The problem is a duplicate of an existing bug. Marking a bug duplicate requires the bug number of the duplicate and that number will be placed in the bug description.

WORKSFORME - All attempts at reproducing this bug were futile, reading the code produces no clues as to why this behavior would occur. If more information appears later, please re-assign the bug, for now, file it.

Page 36: Bugzilla tutorial

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY36

Querying existing bug reports

Page 37: Bugzilla tutorial

37

SoberITSoftware Business and Engineering Institute

Specify Product

Page 38: Bugzilla tutorial

38

SoberITSoftware Business and Engineering Institute

Search Options

Page 39: Bugzilla tutorial

39

SoberITSoftware Business and Engineering Institute

Hints about querying

You don't have to fill out any field on the query page you don't need.

On the list boxes, such as Status, you can Ctrl-Click to unselect an option.

You may save your queries

’My bugs’ link

Page 40: Bugzilla tutorial

40

SoberITSoftware Business and Engineering Institute

In this course students are

Allowed Everything, including creating your own products, users etc.

Not allowed None, each group has its own bugzilla instance