Lecture-2
Software Quality Assurance and
SDLC
By: M. Shumail Qureshi
SQA
 A planned and systematic pattern of all
actions necessary to provide adequate
confidence that an item or product
conforms to established functional and
non-functional requirements.
 SQA Ensures Product and Process
evaluation
SQA Role
 A Person responsible of SQA activities is
called Software Quality Analyst
Software Quality Assurance
Activities
Product evaluation and process monitoring are the SQA activities that assure
the software development and control processes described in the project's
management plan are correctly carried out and that the project's procedures and
standards are followed.
 Products are monitored for conformance to standards
and processes are monitored for conformance to
procedures.
 Audits are a key technique used to perform product
evaluation and process monitoring.
 Review of the Management Plan should ensure that
appropriate SQA approval points are built into these
processes.
Product evaluation
 Product evaluation is an SQA activity that assures
product standards are being followed. Ideally, the first
products monitored by SQA should be the project's
standards and procedures.
 SQA assures that clear and achievable standards exist
and then evaluates compliance of the software product
to the established standards.
 Product evaluation assures that the software product
reflects the requirements of the applicable standard's
as identified in the Management Plan
Process monitoring
 Process monitoring is an SQA activity that
ensures that appropriate steps to carry out the
process are being followed.
 SQA monitors processes by comparing the
actual steps carried out with those in the
documented procedures.
 The Assurance section of the Management Plan
specifies the methods to be used by the SQA
process monitoring activity
Audit
 A fundamental SQA technique is the audit, which looks at
a process and/or a product in depth, comparing them to
established procedures and standards.
 Audits are used to review management, technical, and
assurance processes to provide an indication of the
quality and status of the software product.
 The purpose of an SQA audit is to assure that proper
control procedures are being followed, that required
documentation is maintained, and that the developer's
status reports accurately reflect the status of the activity.
 The SQA product is an audit report to management
consisting of findings and recommendations to bring the
development into conformance with standards and/or
procedures.
SQA Activities Flow
 Preparation of SQA plans for a project
 Review software engineering activities to
verify its compliance with the defined
software process
 Ensure that deviance in software work and
work products are documented and handled
according to a documented procedure.
 Records and reports to senior management
SQA Relationships to Other
Assurance Activities
 Some of the more important relationships of
SQA to other management and assurance
activities are with
 Configuration Management Monitoring
 Verification and Validation Monitoring
 Formal Test Monitoring
Software configuration
management
 is the task of tracking and controlling
changes in the software. Configuration
management practices include revision
control and the establishment of
baselines.
Configuration Management
Monitoring
 SQA assures that software Configuration
Management (CM) activities are performed in
accordance with the CM plans, standards, and
procedures.
 SQA reviews the CM plans for compliance with
software CM policies and requirements and
provides follow-up for nonconformance's.
 SQA audits the CM functions for adherence to
standards and procedures and prepares reports
of its findings.
Verification and Validation
Monitoring
 SQA assures Verification and Validation (V&V)
activities by monitoring technical reviews,
inspections, and walkthroughs.
 The SQA role in formal testing is described in the
next section. The SQA role in reviews, inspections,
and walkthroughs is to observe, participate as
needed, and verify that they were properly conducted
and documented.
 SQA also ensures that any actions required are
assigned, documented, scheduled, and updated.
Formal Test Monitoring
 SQA assures that formal software testing, such as
acceptance testing, is done in accordance with
plans and procedures.
 SQA reviews testing documentation for
completeness and adherence to standards. The
documentation review includes test plans, test
specifications, test procedures, and test reports.
 SQA monitors testing and provides follow-up on
nonconformance's. By test monitoring, SQA assures
software completeness and readiness for delivery.
SQA
in
SDLC
SQA & SDLC
Planning
 Role
 Project Manager
 SQA TL
 Tasks
 Resource Assignment
 Task Assignment
 Effort required
Cont
 SQA Assures
Mention SQA Activities done in project
QA Resources Assignment
Plan Audits
Plan Reviews
Plan Testing Activities
 SQA Prepares
 QA Plan
Requirement Gathering
 Role
 Business Analyst
 SQA Lead
 Tasks
 Gather business Rules
 Gather business Requirement
 Functions & Features Required (What to be done)
Cont
 SQA Assures
 What but not How or How Much
 Unambiguous
 Consistent
 Testable
 Complete
Design
 Role
 Business Analyst
 DBA
 Development TL
 SQA TL
Cont
 Tasks
 System flow
 Data base schemas
 Interfaces/Modules integration
 Test Planning
 State Diagrams/Classes & Objects
 Peer reviews (design/test scenarios)
Cont
 SQA Assures (Reviews)
Unambiguous
Testable
Complete
Meet the User requirements
 SQA Prepares
 Test Plan
Development
 Roles
 Development Team
 Technical Writer
 Configuration Manager
 QA Team
Cont
 Tasks
 Code
 DDL
 DML
 Store Procedures
 Data Dictionary
Cont
 SQA Assures (Reviews)
Complete design has been transformed
Code standards
DB scripts standard
Code/Scripts has been baseline
 SQA Prepares
 Test Cases
 Test Data
 Test Scripts
Testing
 Role
 QA Team
 Development Team
 Tasks
Execute Test Cases
Acceptance Testing
Defect Logging
Defect Fixing
Cont
 SQA Assures
 Release notes are updated
 Reason for change is mentioned
 All the required features are available
 All business rules are implemented
 Regression against the defects is complete
Cont
 SQA Prepares
 Defect report
 Status Report
Deployment
 Roles
 Development Team
 QA Team
 Configuration Management Team
 Tasks
Updating Release notes, if required
Installation manuals
QA documents/reports
Shipment Assurance
Cont
 SQA Assures (Review)
 Updating Release
 Installation manuals
 QA documents/reports
 Shipment Assurance Testing
Support
 Roles
Help desk
Development/QA Team
Business Analysts
Customer
 Tasks
 Requested changes
 Resolving ambiguities
 Solving identified discrepancies
SQA in Support
Software Quality
Assurance is an umbrella
activity in SDLC
Techniques and Tools
 Useful tools might include audit and
inspection checklists and automatic code
standards analyzers.
V Model
 synonym for Verification and Validation
 'V' describes the graphical arrangement of
the individual phases
The V-Model of testing
 The V-model promotes
the idea that the dynamic
test stages (on the right
hand side of the model)
use the documentation
identified on the left hand
side as baselines for
testing. The V-Model
further promotes the
notion of early test
preparation.
The V-Model with early test
preparation
 Early test preparation
finds faults in baselines
and is an effective way of
detecting faults early. This
approach is fine in
principle and the early
test preparation approach
is always effective.
However, there are two
problems with the VModel as normally
presented.
 There is rarely a perfect, one-to-one relationship
between the documents on the left hand side
and the test activities on the right. For example,
functional specifications dont usually provide
enough information for a system test.
 System tests must often take account of some
aspects of the business requirements as well as
physical design issues for example.
 System testing usually draws on several sources
of requirements information to be thoroughly
planned.
References
 Book
 Software Quality Assurance  Principles &
Practices by Nina S Godbole
 Chapter 1
 1.6, 1.7
 Reading Material
 Life Cycle Quality Gates.pdf