BUGZILLA & SUBVERSION Agenda Bugzilla. Subversion. Bugzilla - - PowerPoint PPT Presentation
BUGZILLA & SUBVERSION Agenda Bugzilla. Subversion. Bugzilla - - PowerPoint PPT Presentation
BUGZILLA & SUBVERSION Agenda Bugzilla. Subversion. Bugzilla What is Bugzilla? Bugzilla is a Web-based general-purpose bug tracker tool. A bug tracking system where testers and developers can communicate. This type
Agenda
Bugzilla. Subversion.
Bugzilla
What is Bugzilla?
Bugzilla is a Web-based general-purpose bug
tracker tool.
A
bug tracking system where testers and developers can communicate.
This type of system is typical in any Software
Quality Assurance department.
Get used to it here, or you will have to when you go
- ut to the field.
HOW TO CREATE A BUG REPORT?
Before you report a bug, make sure that it has not
already 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 the
bug (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 (not
- nly source code).
Why Use subversion?
Allows developers to work easily on shared software
projects.
Enhances the software productivity. You can undo changes to obtain earlier versions of
files.
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 the repository 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
- f
the project code into their local environments.
These copies known as "working copies" . After
making changes to a working copy, the developer “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-Unlock Copy-Modify-Merge.
States of a Working File
Unchanged, and current Locally changed, and current Unchanged, and out-of-date Locally 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-
- f-date
merges changes into working file
- peration fails with out-of-
date error
Subversion with Netbeans
Check the following tutorials:
Guided Tour of Subversion Flash Demo