Professional Documents
Culture Documents
◦ A set of activities that verifies that everyone involved with the project has
correctly implemented all procedures and processes.
Change management
SQA ensures that adequate change management practices have been
Conti…
Education
Every software organization wants to improve its software
engineering practices.
A key contributor to improvement is education of software
engineers, their managers, and other stakeholders.
SQA organization takes the lead in software process improvement
which is key proponent and sponsor of educational programs.
Security management
SQA ensures that appropriate process and technology are used to
achieve software security.
Conti…
Safety
SQA may be responsible for assessing the impact of
software failure and for initiating those steps required to
reduce risk.
Risk management
The SQA organization ensures that risk management
activities are properly conducted and that risk-related
contingency plans have been established.
Major SQA Activities
SQA Management Plan
Make a plan for how you will carry out the SQA
throughout the project.
Think about which set of software engineering activities
are the best for project. check level of SQA team skills.
Reviews software engineering activities to verify compliance with the defined software
process
Audits designated software work products to verify compliance with those defined as a
part of the software process
Ensures that deviations in software work and work products are documented and handled
according to a documented procedure
Conti…
Prepares an SQA plan for a project
The program is developed during project planning and
is reviewed by all stakeholders.
The plan governs quality assurance activities performed
by the software engineering team and the SQA group.
The plan identifies calculation to be performed, audits
and reviews to be performed, standards that apply to the
project, techniques for error reporting and tracking,
documents to be produced by the SQA team, and amount
of feedback provided to the software project team.
Conti…
Participates in the development of the project's software
process description
The software team selects a process for the work to be
performed.
The SQA group reviews the process description for
compliance with organizational policy, internal software
standards, externally imposed standards (e.g. ISO-9001),
and other parts of the software project plan.
Conti…
Reviews software engineering activities to verify compliance
with the defined software process
The SQA group identifies, reports, and tracks deviations from
the process and verifies that corrections have been made.
QA identifies weakness in processes and QC identifies defects for the primary goals of
improves them correcting errors.
QA is a managerial tool. QC is a corrective tool.
Verification is an example of QA. Validation is an example of QC.
SQA Techniques
Auditing
Inspection of the work products and its related information to determine
if a set of standard processes were followed or not.
Reviewing
A meeting in which software product is examined by both internal and
external stakeholders to seek their comments and approval.
Code Inspection
Most formal kind of review that does static testing to find bugs and avoid
defect seepage into the later stages.
It is done by a trained mediator/peer and is based on rules, checklists,
Conti…
Design Inspection
Is done using a checklist that inspects below areas of software
design:
◦ General requirements and design
◦ Functional and Interface specifications
◦ Conventions
◦ Requirement traceability
◦ Structures and interfaces
◦ Logic
◦ Performance
◦ Error handling and recovery
◦ Testability, extensibility
Conti…
Simulation
A tool that models a real-life situation in order to virtually
examine the behaviour of the system under study.
In cases when the real system cannot be tested directly,
simulators are great sandbox system alternatives.
Functional Testing
To validates what system does without considering how it
does it.
Black Box testing mainly focuses on testing system
specifications or features.
Conti…
Standardization
Decreases ambiguity and guesswork, thus ensuring
quality.
Static Analysis
Done by an automated tool without executing program.
Software metrics and reverse engineering are some
popular forms of static analysis.
In newer teams, static code analysis tools such as
SonarCube, VeraCode, etc. are used.
Conti…
Walkthroughs
A software walkthrough or code walkthrough is a peer
review where the developer guides members of development
team to go through the product, raise queries, suggest
alternatives, and make comments regarding possible errors,
standard violations, or any other issues.
Unit Testing
A White Box Testing technique where complete code
coverage is ensured by executing each independent path,
branch, and condition at least once.
Conti…
Stress Testing
Testing is done to check how robust a system is by
testing it under heavy load i.e. beyond normal
conditions.