Friday, April 24, 2009

Levels Of Quality Assurance

There are three levels of quality assurance: testing, validation, and certification.

In system testing, the common view is to eliminate program errors. The is extremely difficult and time-consuming, since designers cannot prove 100 percent accuracy. Therefore, all that can be cone is to put the through a "fail test" cycle-determine what will make it fail. A successful test, then, is one that finds errors. The test strategies discussed earlier are used in system testing.

System validation checks the quality of the software in both simulated and live environments. First the software goes through a phase (often referred to as alpha testing) in which errors and failures based on simulated user re4uirements are verified and studied. The modified software is then subjected to phase two (called beta testing) in the actual user's site or a live environment. The system is used regularly with live transactions. After a scheduled time, failures and error are documented and final' correction, and enhancements are made before the package is released for use.

The third level of quality assurance is to certify that the program or software package is current and conforms to standards. With a growing trend toward purchasing ready-to-use software, certification has become more important. A package that is certified goes through a team of specialists who test, review, and determine how well it meets the vendor's claims. Certification is actually issued after the package passes the test. Certification, however, does not assure the use' that it is the best package to adopt; it only attests that it will perform what the vendor claims.

In summary, the quality of an information system depends on its design, testing, and implementation. One aspect of system quality is its reliability or the assurance that it does not produce costly failures. The strategy of error tolerance (detection and correction) rather than error avoidance is the basis for successful testing and quality assurance.

Maintenance And Support

This phase provides the necessary software adjustment for the system to continue to comply with the original specifications. The quality assurance goal is to develop a procedure for correcting errors and enhancing software. 

This procedure improves quality assurance by encouraging complete reporting and logging of problems, ensuring that reported problems are promptly forwarded to the appropriate group for resolution, and reducing redundant effort by making known problem reports available to department that handles complaints.

Software Testing And Implementation

The quality assurance goal of the testing phase is to ensure that completeness and accuracy of the system and minimize the retesting process. In the implementation phase, the goal is to provide a logical order for creation of the modules and, in turn, the creation of the system.

Software Design Specifications

In this stage, the software design document defines the overall architecture of the software that provides the functions and features described the software requirements document. It addresses the question; How it be done? The document describes the logical subsystems and their respective physical modules. It ensures that all conditions are covered.

Software Requirements Specifications

The quality assurance goal of this stage is to generate the requirements document that provides the technical specifications for the design development of the software. This document enhances the system's quality by formalizing communication between the system developer and the and provides the proper information for accurate documentation.

Quality Factors Specifications

The goal of this stage is to define the factors that contribute to the quality of the candidate system. Several factors determine the quality of a system:

   1. Correctness-the extent to which a program meets system specifications and user objectives.
   2. Reliability-the degree to which the system performs its intended functions over a. time.
   3. Efficiency-the amount of computer resources required by a program to perform a function.
   4. Usability-the effort required to learn and operate a system.
   5. Maintainability-the ease with which program errors are located and corrected.
   6. Testability-the effort required to test a program to ensure its correct performance.
   7. Portability-the ease of transporting a program from one hardware configuration to another.
   8. Accuracy-the required precision in input editing, computations, and output.
   9. Error tolerance-error detection and correction versus error avoidance.
  10. Expandability-ease of adding or expanding the existing database
  11. Access control and audit-control of access to the system and extent to which that access can be audited.
  12. Communicativeness-how descriptive or useful the inputs and out of the system an
.

Quality Assurance Goals In The Systems Life Cycle

The software life cycle includes various stages of development, and each stage has the goal of quality assurance. The goals and their relevance to the quality assurance of the system are summarized next.