Wednesday, January 11, 2012

Does Your Organization Have Well Defined and Strong Quality Assurance Process?


What motivates an organization to have an independent Software Quality Assurance department/process?

What value Software Quality Assurance process brings to an organization?


The answer of above two questions and many such questions lies here

  • Malaysia Air Jetliner, August 2005
Flight between Perth, Australia and Kuala Lumpur, Malaysia zoomed 3000 feet upwards. A defective software program had provided incorrect data about the aircraft’s speed and acceleration, confusing the flight computers.

  • NASA Mars Polar Lander, 1999
On 3rd December 1999 MARS Polar Lander disappeared during its landing attempt. Failure Review Board concludes the likely failure reason was unexpected setting of single data bit.

  • The Lion King Animated Storybook
Disney’s first multimedia CD-ROM game for kids, released in Christmas season.26th December was the nightmare for the customer support. The CD was tested only for specific PC platform. It failed on many popular PC and operating systems.

Organizations are becoming more quality conscious as the customer is getting aware of the technologies, its pros and cons, the risk involved in it etc. When it comes to meeting and/or exceeding the customer’s expectations in Software Development Industry the need of well defined and well matured Software Quality Assurance process arise.

Quality

Quality is defined by American Heritage Dictionary very precisely and comprehensively it says “Quality is the characteristics or attribute of something”

The following equation summarizes the quality that can best be fit in to the software development industry.

User Satisfaction = Compliant product + good quality
    + Delivery within budget and schedule

             “People forget how fast you did a job—but they always remember how well you did it.”
                                                                                      -Howard Newton.


There exist many software quality standards (see software quality standard in upcoming posts) and procedure around the globe to conduct business by meeting or exceeding the customer’s expectations. The block diagram below generalizes the Software Quality Assurance process that comprises two major activities:
         
  • Formal Technical Reviews (aka. FTRs)
  • Software Application Testing
Software Quality Assurance Process

Formal Technical Review

A formal technical review is a quality control activity performed by dominantly Software Quality Assurance Engineers (SQAEs) and/or Software Engineers themselves in rare cases. The primary purpose of this activity is walkthroughs, inspections, round-robin reviews and other small group technical assessments of software.

The most common and widely used activity is inspection; in which SQA Engineer execute the checklist on the document produced in the Requirement Gathering (i.e. FS, SRS and CRF) and Design (i.e. ERD, Class Diagram and DFD) phase. There are many objectives of and FTR or inspection:

  1. To uncover errors what customer actually wanted and what is described by the business analyst (BA) in the document (e.g. functional specification –FS)
  2. To verify that software under review and/or development will meet its requirement.
  3. To make projects more manageable.

Software Application Testing

“Like death and taxes, testing is both unpleasant and inevitable.”
                                                                               –Ed Yourdon

This is the very important and critical activity in the software quality assurance process that guarantees the software application quality mainly. This phase usually takes the output of formal technical reviews activities (i.e. inspected FS, SRS or CRF) and makes use of it in the following core activities; that includes:

  1. Test case writing
  2. Test data preparation (done usually for large, complex and critical applications)
  3. Test environment setup
  4. Test case execution
  5. Defect summary report

You will be the happiest and luckiest person on this earth if you do not have to compile defect summary report for the application being tested or have been tested.


No comments:

Post a Comment