UNIT II
PROCESS ASSURANCE
• PROCESS ASSURANCE
     Set of systematic activities which provides the
          evidence of the ability of the software to
          provide good quality service or product with
          ease and fit for use.
    It ensures that the product is not faulty
     It reduces the cost and provides and provides
          better customer satisfaction
  • Need for PROCESS ASSURANCE
❑ Protect company reputation.
❑ Increases client satisfaction
❑ It enhances overall quality of the projects
❑    Detect issues and defects through third-party
       testing. ...
❑    Save time and money.
             SQA architecture
• SQA system
     combines a wide range of SQA components,
    employed to challenge the multitude of sources of
software errors
    to achieve an acceptable level of
• Task of SQA
     unique in the area of quality assurance
     due to the special characteristics of software.
• Environment (software development and maintenance)
     directly influences the SQA components
        SQA system components
SQA system components can be classified into six classes
     ■ Pre-project components.
     ■ Components of project life cycle activities
  assessment.
     ■ infrastructure error prevention and improvement.
     ■ software quality management.
     ■ Components of standardization, certification, and
  SQA system assessment.
     ■ Organizing for SQA – the human components
SQA system components
       Pre-project components
• Preparatory Steps taken to initiate the work
• To assure that
   (a) the project commitments have been
  adequately defined considering the resources
  required, the schedule and budget
   (b) the development and quality plans have
  been correctly determined.
     1. Pre-project components
The SQA components improve the preparatory
  steps taken prior to initiating work on the
  project itself
        ■ Contract review
        ■ Development and quality plans.
              Contract review
• Software may be developed within the framework of
  a contract negotiated with a customer or in response
  to an internal order originating in another
  department.
• An internal order may entail a request for developing
  a firmware software system to be embedded within
  a hardware product, an order for a software product
  to be sold as a package.
• Contract review activities must include a detailed
 examination of (a) the project proposal draft
                   (b) the contract drafts.
• Contract review activities include:
     ■ Clarification of the customer’s requirements
     ■ Review of the project’s schedule and resource
 requirement estimates
     ■ Evaluation of the professional staff’s capacity to
 carry out the proposed project
     ■ Evaluation of the customer’s capacity to fulfill
 his obligations
     ■ Evaluation of development risks.
   Development and quality plans
• Once a software development contract has been signed
  or a commitment made to undertake an internal project
  for the benefit of another department of the
  organization, a plan is prepared of the project
  (“development plan”) and its integrated quality
  assurance activities (“quality plan”).
• These plans include additional details and needed
  revisions based on prior plans that provided the basis for
  the current proposal and contract.
• It is quite common for several months to pass between
  the tender submission and the signing of the contract
• During this period, changes may occur in staff
 availability, in professional capabilities, and so
 forth.
• The plans are then revised to reflect the changes
 that occurred in the interim.
• The main issues treated in the project
 development plan are
        ■ Schedules
        ■ Required manpower and hardware
 resources
        ■ Risk evaluations
        ■ Organizational issues: team members,
 subcontractors and partnerships
        ■ Project methodology, development tools,
 etc.
        ■ Software reuse plans.
• The main issues treated in the project’s quality plan
 are:
           ■ Quality goals, expressed in the
 appropriate measurable terms
           ■ Criteria for starting and ending each
 project stage
           ■ Lists of reviews, tests, and other
 scheduled verification and validation activities.
   2. Components of project life cycle
         activities assessment
• The project life cycle is composed of two stages:
           The development life cycle stage
           The operation–maintenance stage.
• The development life cycle stage components detect
  design and programming errors.
• Components are divided into following sub-classes:
            Reviews
            Expert opinions
            Software testing.
            Software maintenance
Reviews :
   Produces variety of documents- Design
      report,test document, project plan, manual etc.
 ❑ Formal Design review
      Documents which require professional approval
      It can go to next level only after review
 ❑ Peer review
      Review of short documents or chapters or parts of
      report
      Inspections and walkthrough to identify faults
Expert Opinions :
   Additional external resource person for development
   process
   It supports for quality assurance efforts
   It requires when
       Insufficient in house professionals
       Major disagreement among senior professionals
       Difficult of find suitable candidate to participate in
      design review
Software Testing:
   Testing based on test plan which ensures the proper
   functionality of the overall software
   Checking for expected customer requirements
   It examines
       Software modules
       Software Integration
      Conducting recurrent test for satisfactory results
Software Maintenance Components:
   Functionality Improvement or enhancement
   Corrective maintenance
  SDLC components
  Infrastructure SQA components
Software Maintenance Components:
3. Components of infrastructure error
    prevention and improvement
  The main objectives of these components,
which are applied throughout the entire
organization, are to eliminate or at least
reduce the rate of errors, based on the
organization’s accumulated SQA experience.
Components of infrastructure error
  prevention and improvement
1. Procedures and Work Instructions
2. Supporting Quality Devices
3. Staff Training , Instructions and Certification
4. Preventive and Corrective Actions
5. Configuration Management
6. Documentation Control
Components of infrastructure error
  prevention and improvement
 Procedures and Work Instructions
    Procedures provide detailed definitions for
the performance of development activities
 It assures quality results achievement
 It provides detailed directions
Components of infrastructure error
  prevention and improvement
Supporting Quality Devices
 To maintain for templates and checklist
 Based on accumulated knowledge and
 Experience
 Reduce the time for defining the structure of
 documents
 Completeness of documents
 Improving communication b/n development
 and review team
Components of infrastructure error
  prevention and improvement
Staff Training, Instructions and Certification
 Training for New Employees
  Retraining for changed assignments
  Professional development-continous
  updates
  Employee Certification
Components of infrastructure error
  prevention and improvement
Preventive and Corrective Actions
  Correction of software faults
  Successful methodologies to enhance the
  probability of repeat success.
  Implementation of changes adopted in the
  system
  Components of infrastructure error
    prevention and improvement
Configuration Management
   Software Development and Maintenance
    Modify the software to create new versions
  and releases
   Incorporated throughout SDLC
   Procedures to control the change process
    Usage of computerised tools for approval of
  changes, recording of versions and releases
  Components of infrastructure error
    prevention and improvement
Documentation Control
   Long term availability of major documents
   Evidence of SQA system performance
  Documents related to
    Requirement document
    Contract document
    Project and Design plan
 4. Management of SQA Components
• This class of components is geared toward
  several goals
• The major ones being the control of
  development and maintenance activities
• The introduction of early managerial support
  actions that mainly prevent or minimize
  schedule and budget failures and their
  outcomes.
Management of SQA Components
 Project progress control
 –   Resource Usage
 –   Schedules
 –   Risk Management Activities
 –   Budget
 Software quality metrics
 – Measurement of various aspects of software
   quality
 – Measurements related to functional quality ,
   productivity
Management of SQA Components
 – Quality   of    software   development      and
   maintenance activities
 – Team productivity
 – Help desk and maintenance team productivity
 – Software fault density
 – Schedule deviations
Management of SQA Components
Software quality costs
 – Include cost of control and cost of failure of
   control
 – Analysis of software quality costs
       5. Components of standardization,
    certification, and SQA system assessment
▪    These components implement international professional
  and managerial standards within the organization.
▪    The main objectives of this class are
        (a) utilization of international professional knowledge
        (b) improvement of coordination of the
  organizational quality systems with other organizations
        (c) assessment of the achievements of quality
  systems according to a common scale.
▪ There are two main group :
         (a) quality management standards
         (b) project process standards.
Quality Management Standards
– Focus on “what is required “ and plan for “how to
  achieve it”
– Examples:
– SEI CMM assessment standards
– ISO 9001 & ISO 9000-3 standards
Project Process Standards
– Provides methodological guidelines for
  development team
– Deals with how to achieve
– IEEE 1012 standard
– ISO/IEC 12207 standard
    Organizing for SQA – the human
             components
•  The SQA includes managers, testing
 personnel, the SQA unit and practitioners
 interested in software quality.
• Their main objectives are
       To initiate and support the
 implementation of SQA components.
       To detect deviations from SQA
 procedures and methodology and suggest
 improvements.
    Organizing for SQA – the human
             components
Inorder to apply all SQA components,
organizational base is required consisting of
–    Organisation management
–   Software testing personal
–   SQA Unit
–   SQA trustees
–   Committee members
  Organizing for SQA – the human
           components
Management
– Responsibility includes
   1. Definition of quality policy
  2. Effective follow up of quality policy
     implementation
  3. Allocation of sufficient resources
  4. Assignment of staff
  5. Monitor and support for schedule delay,
     budget and customer relation difficulties
  Organizing for SQA – the human
           components
SQA Unit
– Core unit members for ensuring the quality
– Initiator and coordinator of SQA
– Task include
   • Preparation of annual quality program
   • Consultation with in-house staff on issues
   • Conducting Quality Audits
   • Leadership in Quality assurance committees
 Organizing for SQA – the human
          components
SQA Trustees
– Members of development or maintenace team
who have interest in SQA
– Detecting deviations from quality procedures
– Initiating improvements in SQA components
– Reporting any issues to SQA Unit.
 Organizing for SQA – the human
          components
SQA Committee members
– Members of development or maintenance team
who are appointed for term or adhoc service
– Analysis of quality related problems
– Solution of software quality problems
– Development of new procedures and
– Improvement of existing SQA components
  Organizing for SQA – the human
           components
SQA Forums
– Professionals who maintain internet site for
  discussion of quality issues.
– They share experience & difficulties to initiate
  improvements in software process