Quality Assurance Concepts

Document Sample
Quality Assurance Concepts Powered By Docstoc
					Software Quality Assurance &

               Lecture 2
Definitions and Quality Assurance Concepts
Definitions: Error , fault, failure and defect
   Term „defect‟ generally refer to the some problem with
    software either with its external or internal characteristics

   Failure: The inability of a system or component to perform
    its   required   functions   within   specified   performance

   Fault: An incorrect step, process, or data definition in a
    computer program

   Error: A human action that produces an incorrect result.

   Error, fault and failure collectively refer to defect
Definitions: Error , fault, failure and defect
Definitions Conti…
               errors      faults      failures

   Errors may cause faults to be injected into the software,
    and faults may cause failures when the software is

   A single error may cause many faults, such as in the case
    that a wrong algorithm is applied in multiple modules and
    causes multiple faults, and a single fault may cause many
    failures in repeated executions
Definitions: Conti…
   faults which do not cause a failure under the given
    scenarios are typically called dormant or latent faults,
    which may still cause problems under a different set of
    scenarios or circumstances
Quality Assurance
   Is the systematic set of activities providing evidence of the
    ability of the software process to produce a software
    product that is fit to use
       Process – quality of the process plays a crucial role in
        determining the quality of the product
            “the means determines the end”
       Constructive Principle – quality must be built into software
        from the beginning
            “it cannot be added on later”
       People – it is people that determine whether a quality product
        is produced
            “total effort by all concerned”
Software Quality Assurance
   IEEE 12207 - Standard for Information Technology

    “The Quality assurance process is a process for providing
    adequate assurance that the software products and processes in
    the project life cycle conform to their specified requirements
    and adhere to their established plans”
Software Quality Assurance
   Conformance to explicitly stated functional and performance
    requirements,         explicitly   documented   development
    standards, and implicit characteristics that are expected of
    all professionally developed software
   SQA includes the process of assuring that standards and
    procedures are established and are followed throughout the
    software life cycle
   Compliance with agreed-upon standards and procedures is
    evaluated through process monitoring, product evaluation,
    and audits
   Preventing problems from occurring

   Removing defects

   Contributing to the usability & maintainability of software

   Through   analysis   of   defect   histories,   improving   the
    production rate of developed software

   Providing management the appropriate visibility into the
    process being used and the products being built
Who should be concerned
   People involved in planning and implementing SQA within
    their project or area of responsibility, specifically:
       Project Managers, Project Software Managers, and
        Task Leaders who evaluate, plan and implement SQA
        within their project

       Software Engineers and Testers who work with the SQA

       SQA engineers and members of related software groups
Who should be concerned

•   SQA group is in charge of ensuring
       Correctness
       Testing
       Develop various standards to which the software must
       Establish monitoring procedures for assuring compliance
        with those standards
SQA Umbrella
                    Software Lifecycle Review
   Systems Engineering
                                                 Software Quality
   Requirements Analysis                         Assurance is an

                             Quality Assurance
      Project Planning                           umbrella activity
                                                 that is applied
    Architectural Design
                                                 throughout the
      Detailed Design                            software

      Implementation                             process...

“Traditional” Development


             REQUIREMENTS     U
                    TESTING   T
SQA During the Software Life Cycle

   There   are   phase-specific   SQA   activities   that
    should be conducted during the Software Life

   At the conclusion of each phase, SQA should
    ensure the quality of that particular phase
Software Concept & Initiation Phase
   SQA should be involved in both writing and reviewing

    the Management Plan in order to assure that the

    process, the procedures and the standards identified

    in the plan are appropriate, clear, specific, and auditable

   During this phase, SQA also provides the QA section of

    the Management Plan
Software Requirement Phase
   During the software requirements phase, SQA
    assures that:
       Software requirements are complete
       Testable and
       Properly expressed as
            Functional
            Performance and
            Interface requirements
Software Architectural Design Phase
   SQA activities during the architectural design phase
       Assure   adherence    to   approved     design   standards   as
        designated in the Management Plan
       Assure all software requirements are allocated to software
       Assure that a test verification matrix exists and is kept up to
       Assure the Interface Control Documents are in agreement
        with the standard in form and content
       Assure the approved design is placed under configuration
Software Detailed Design Phase
   SQA activities during the detailed design phase include:

       Assure that approved design standards are followed

       Assure that allocated modules are included in the

        detailed design

       Assure that results of design inspections are included

        in the design
Software Implementation Phase
   SQA activities during the implementation phase include the
    audit of:
       Results of coding and design activities including the
        schedule contained in the Software Development Plan
       Status of all deliverable items
       Configuration management activities and the software
        development library
       Nonconformance reporting and corrective action system
    Software Integration and Test Phase
   SQA activities during the integration and test
    phase include:
       Assure readiness for testing of all deliverable items
       Assure that all tests are run according to test plans and
        procedures   and    that   any   nonconformance's       are
        reported and resolved
       Assure that test reports are complete and correct
       Certify that testing is complete and software and
        documentation are ready for delivery
S/W Acceptance and Delivery Phase

   As a minimum, SQA activities during the
    software   acceptance   and   delivery     phase
    include assuring the performance of a final
    configuration audit to demonstrate that all
    deliverable items are ready for delivery
Sustaining and Operations Phase
   During this phase, there will be mini-development cycles

    to enhance or correct the software

   During these development cycles, SQA conducts the

    appropriate phase-specific activities described above
Misconceptions about Quality
   Quality is a single dimension, attribute, or characteristic
    which means the same thing to everyone
       Quality is measured along several dimensions - some apply
        to process quality, some to product quality and some to both
            Progress - such as milestones completed
            Variance - differences between planned and actual
            Reliability - resistance to failure during execution
            Function - executes the required use cases as intended
            Performance -responds in a timely and acceptable
   Quality happens on its own
       Quality Assurance requires a disciplined execution of a well-
        defined process

About if any file u wil find copyright contact me it will be remove in 3 to 4 buisnees days. add me on or visit