Practices
  Home arrow Practices arrow Page 5 - The Art Of Software Development (part 4): Delivering Quality
Dev Shed Forums  
Administration  
AJAX  
Apache  
BrainDump  
DHTML  
Flash  
Java  
JavaScript  
Multimedia  
MySQL  
Oracle  
Perl  
PHP  
Practices  
Python  
Reviews  
Security  
Smartphone Development  
Style-Sheets  
Web Services  
XML  
Zend  
Zope  
Mobile Linux  
App Generation ROI  
IBM® developerWorks  
Forums Sitemap  
E-Commerce Hosting  
Linux Web Hosting  
Managed Hosting  
Small Business Hosting  
VPS Hosting  
Weekly Newsletter

 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid  
Request Media Kit
Contact Us  
Site Map  
Privacy Policy  
Support  
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
Google.com  
PRACTICES

The Art Of Software Development (part 4): Delivering Quality
By: icarus, (c) Melonfire
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: starstarstarstarstar / 4
    2002-09-24


    Table of Contents:
  • The Art Of Software Development (part 4): Delivering Quality
  • Code To Zero
  • Casing The Joint
  • A Man With A Plan
  • Bug-bustin'
  • The Write Stuff
  • Endgame

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      error-file:tidyout.log Del.ici.ous error-file:tidyout.log Digg
      error-file:tidyout.log Blink error-file:tidyout.log Simpy
      error-file:tidyout.log Google error-file:tidyout.log Spurl
      error-file:tidyout.log Y! MyWeb error-file:tidyout.log Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article

     
     
    ADVERTISEMENT


    The Art Of Software Development (part 4): Delivering Quality - Bug-bustin'
    ( Page 5 of 7 )

    Software defects encountered during the unit and system testing phases are noted in a software problem report. This report contains a detailed description of each problem, complete with information on where it occurred, the data input or procedure that caused it, its classification (fatal, major or minor), and its impact and suggested resolution. This report is then returned to the development team for evaluation and software rectification where required.

    Every organization needs a sound defect management process, in order to manage and resolve software defects found during testing. The best process is still the simplest: the project manager assigns every bug a unique number in a so-called "defect log", and updates the status (assigned/resolved/verified/deferred) of each on a daily basis. This provides a fast snapshot of all the bugs found during a particular test cycle, and makes it easy to see the current disposition of each.

    Once all the bugs found during a particular testing cycle have been resolved and verified, the software may be returned to the test team for another round of testing. This process continues until no further bugs are found. Care should be taken at each stage to ensure that bug fixes do not slip through the cracks, that all test cases relevant to the bugs found are fully re-executed, and that the resolution of a particular bug does not introduce new bugs.

    Use of bug tracking systems like Bugzilla can play an important role in managing these software fixes, but are not sufficient by themselves; tools must go hand in hand with a clear and error-free process flow, such as the one described above, to ensure that all detected problems are corrected and deltas sent back to the test team for re-verification.

    Once the test plan has been completely executed and the test team has verified that the product has zero defects, the project manager(s) can begin organizing the acceptance test. Typically, this involves notifying the customer that the software is ready for release, setting a date for the acceptance test, providing the customer (or the acceptance test team) with training and sample data for the test, and closing all open items related to the project. In case the acceptance test is to be conducted on-site, the final release code, together with all tools and related assets, needs to be checked out of the project repository and placed on appropriate storage media for delivery to the customer's site.

    It is very important that the code tested during the final acceptance phase be identical to the code released by the project's development and QA team, and that no undocumented changes to the code tree take place during the closure of system testing and the beginning of acceptance testing.

    In case problems are reported during the acceptance test, the same need to be communicated back to the development team for resolution. At this time, each problem reported by the acceptance test team needs to be clearly classified as a bug or a change; bugs should be rectified, while changes need to be processed as per the process laid down for change requests (more on this in the next article). Once all open issues are closed and all bugs fixed, the software can be re-tested and - assuming no further errors - formally accepted for release.

     
     
    >>> More Practices Articles          >>> More By icarus, (c) Melonfire
     

       

    PRACTICES ARTICLES

    - More Techniques for Finding Things
    - Finding Things
    - Finishing the System`s Outlines
    - The System in So Many Words
    - Basic Data Types and Calculations
    - What`s the Address? Pointers
    - Design with ArgoUML
    - Pragmatic Guidelines: Diagrams That Work
    - Five-Step UML: OOAD for Short Attention Span...
    - Five-Step UML: OOAD for Short Attention Span...
    - Introducing UML: Object-Oriented Analysis an...
    - Class and Object Diagrams
    - Class Relationships
    - Classes
    - Basic Ideas





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 1 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek