Bugzilla & Subversion - UVicshsaad/seng426/resources/Lab... · Bugzilla is a Web-based...

21
BUGZILLA & SUBVERSION

Transcript of Bugzilla & Subversion - UVicshsaad/seng426/resources/Lab... · Bugzilla is a Web-based...

BUGZILLA & SUBVERSION

Agenda

Bugzilla.Subversion.

Bugzilla

What is Bugzilla?

Bugzilla is a Web-based general-purpose bugtracker tool.A bug tracking system where testers anddevelopers can communicate.This type of system is typical in any SoftwareQuality Assurance department.Get used to it here, or you will have to when you go out to the field.

HOW TO CREATE A BUG REPORT?

Before you report a bug, make sure that it has notalready been logged.After you have made sure, you can report the new bug.Set all the parameters.

A GOOD BUG REPORT SHOULD…

In the description, make sure to:

State the preconditions needed to reproduce thebug (i.e. make sure outlook is running)State the steps required to reproduce thebug.State the expected outcome.State the actual outcome.

BUG LIFE

Create a new bug (NEW).Developer picks up the bug (ASSIGNED).Developer fixes the bug (RESOLVED/FIXED).Tester verifies the fix (VERIFIED).

Bugzilla Demo…

Subversion

What is Subversion?

Subversion is a version control system.A version control system allows users to manage files,directories, and the changes made to them.Subversion can manage any sort of file collection (notonly source code).

Why Use subversion?

Allows developers to work easily on shared softwareprojects.Enhances the software productivity.You can undo changes to obtain earlier versions offiles.Subversion is well known and free.Subversion fixes problems with CVS.Subversion is being adopted as a replacement for CVS.

General Architecture

Repository

Internet

Working copy Working copy Working copy

Subversion Server Side

Project code is stored in a server in a data store referred to as a “repository.”The server side responsible for managing therepository and ensure its integrity.The server can have multiple repository.The server manages users and groups of users.The server uses Apache web server.The repositories stored in Berkeley Database.

Subversion Client Side

The subversion client allows developers to "check out"copies of the project code into their localenvironments.These copies known as "working copies" .After making changes to a working copy, thedeveloper “commits” changes to the repository.Other developers get these changes by “updating”their working copies.

Subversion Terminologies

Differentials:Previous versions of the current version of the project.

Atomic commits:A collection of modifications either goes into the repository completely, or not at all.

Properties:Each file and directory has a set of properties—keys and their values—associated with it.

Revisions:After the repository is initially created, it is an empty folder and has revision number 0.After committing to a repository with revision number n, the repository is changed to version n+1

Project Integrity

The problem:User A gets a copy of file X from the data store.User B gets a copy of file X from the data store.User A changes X and writes the new X back into the data store.User B changes his older version of X and writes this into the data store, over-writing A’s changes.

Project Integrity…

The Solution:Lock-Modify-UnlockCopy-Modify-Merge.

States of a Working File

Unchanged, and currentLocally changed, and currentUnchanged, and out-of-dateLocally changed, and out-of-date

Update and Commit

Working File States update commit

Unchanged, and current does nothing does nothing

Locally changed, and current

does nothing writes changes into repo

Unchanged, and out-of-date replaces working file with new one

does nothing

Locally changed, and out-of-date

merges changes into working file

operation fails with out-of-date error

Subversion with Netbeans

Check the following tutorials:Guided Tour of SubversionFlash Demo

Subversion Demo…