0% found this document useful (0 votes)
631 views35 pages

Software Quality Engineering - Unit 4

The document discusses software quality assurance. It defines quality assurance and quality control, with quality assurance focusing on establishing processes and quality control focusing on validating products meet standards. It outlines the quality engineering process, including pre-QA planning, in-QA execution, and post-QA assessment and improvement. It also describes the six classes that comprise the SQA architecture and discusses major SQA issues and the concept of "zero defect software."

Uploaded by

piyush Rajput
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
631 views35 pages

Software Quality Engineering - Unit 4

The document discusses software quality assurance. It defines quality assurance and quality control, with quality assurance focusing on establishing processes and quality control focusing on validating products meet standards. It outlines the quality engineering process, including pre-QA planning, in-QA execution, and post-QA assessment and improvement. It also describes the six classes that comprise the SQA architecture and discusses major SQA issues and the concept of "zero defect software."

Uploaded by

piyush Rajput
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Software Quality

Engineering
“Quality means doing it right even when no one is looking.”— Henry Ford

KCA-035
Unit-4
▪ Software Quality Assurance: Quality Planning and Control
▪ Quality Improvement Process
▪ Evolution of Software Quality Assurance (SQA)
▪ Major SQA Activities
▪ Major SQA Issues
▪ Zero Defect Software
▪ SQA Techniques
▪ Statistical Quality Assurance
▪ Total Quality Management
▪ Quality Standards and Processes
Software Quality Assurance

In the IEEE standard 610-12-1990 Quality Assurance is defined as follows:


1. A planned and systematic pattern of all actions necessary to provide
adequate confidence that an item or product conforms to established
technical requirements
2. A set of activities designed to evaluate the process by which products are
developed or manufacture
Software Quality Assurance is a planned and systematic plan of all actions
ensures the software product meets and complies with the organization’s
established and standardized quality specifications.
Quality Control is defined in the IEEE standard 610 as a set of activities
designed to evaluate the quality of developed or manufactured products.
Quality Engineering Process
Three major groups of activities in the quality
Quality engineering process
Engineering • Pre-QA activities
• In-QA activities, and
Process • Post-QA activities
Quality Engineering Process
Pre-QA activities: Quality planning.
These are the activities that should be carried out before carrying out the regular
QA activities. There are two major types of pre-QA activities in quality planning,
including:
(a) Set specific quality goals.
(b) Form an overall QA strategy, which includes two sub-activities:
⁓ Select appropriate QA activities to perform.
⁓ Choose appropriate quality measurements and models to provide
feedback, quality assessment and improvement.
Quality Engineering Process
Pre-QA activities: Another practical concern with the proper setting of
quality goals is the cost associated with different levels of quality. This cost
can be divided into two major components, the failure cost and the
development cost. The customers typically care more about the total failure
cost, Cf, which can be estimated by the average single failure cost, cf, and
failure probability, pf, over a pre-defined duration of operation as:
Cf = cf x pf
This failure probability can be expressed in terms of reliability, R, as
pf = 1 – R
To minimize Cf , one can either try to minimize cf or pf
Quality Engineering Process

In-QA activities: Executing planned QA activities and handling discovered


defects. In addition to performing selected QA activities, an important part of
this normal execution is to deal with the discovered problems
Post-QA activities: Quality measurement, assessment and improvement
These are the activities that are carried out after normal QA activities have
started but not as part of these normal activities. The primary purpose of
these activities is to provide quality assessment and feedback so that various
management decisions can be made and possible quality improvement
initiatives can be carried out.
Quality Engineering Process

QUALITY ASSESSMENT AND IMPROVEMENT: The primary purpose of


these activities is to provide quality assessment and feedback so that various
management decisions, such as product release, can be made and possible
quality and process improvement initiatives can be carried out. The major
activities in this category include:
• Measurement:
• Analysis & Modeling
• Providing feedback & identifying improvement potentials
• Follow-up activities
QUALITY ASSESSMENT & IMPROVEMENT

Quality
Engineering
Process

Quality engineering effort profile


SQA
Architecture
SQA Architecture

SQA is divided into 6 classes, they are:


1. Pre-project components
2. Components of project life cycle activities assessment
3. Components of infrastructure error prevention and improvement
4. Components of software quality management
5. Components of standardization, certification, and SQA system assessment
6. Organizing for SQA – the human components
SQA Architecture

Pre-project components. This stage is defined before executing the project.


Some activities which are done at this phase are:
• Ensuring the resources, schedule and the budget required. Those have to
adequately define in order to synchronize everything as it planned.
• Besides the resources, schedule and the budget, there are another plans have to
be defined. They are development and quality plans. Why do they have to be
defined? The developer and the owner of the project may have different
perspective about the quality and the development itself. So, it’s defined
together by those two parties to align the perspectives that may occur.
SQA Architecture
Components of project life cycle activities assessment. At this phase, the
activities are divided into 2 stages. They are, the development life cycle stage and
the operation-maintenance stage. At the development life cycle stage, the activities
are detecting the design and programming errors. And it’s also divided again into
following sub-classes, which are:
• Reviews
• Expert opinions
• Software testing
For the operation-maintenance stage, the activities that include in that phase is
specialized maintenance component
SQA Architecture

Components of infrastructure error prevention and improvement. The main


activity of this stage is to eliminate or make the errors gone missing or well, at
least reduce the rate of errors. It’s applied to entire organization.
Components of software quality management. This phase is focused on several
goals. The main goal is controlling the development process and maintenance.
And introducing the managerial support in preventing and minimizing schedule
and budget failure of their outcomes.
SQA Architecture
Components of standardization, certification, and SQA system assessment.
This phase implement international professional and managerial standard for the
organization. The activities included in this phase are:
• Utilize the international professional knowledge
• Improve the coordination of the organizational quality systems with other
organizations
• Assess the achievement of quality system according to a common scale.
For the standard, it’s divided into 2 groups, they are:
• Quality management standard
• Project process standard
SQA Architecture

Organizing for SQA – human components. At this stage, we’re organizing the
people who relate for SQA things. They are managers, testing personnel, SQA
trustees, SQA committee members and SQA forum members. They all contribute
to initiate and support the implementation of SQA components, detect deviations
from SQA procedure and methodology and suggest improvements.
Quality Assurance Quality Control
Quality Assurance (QA) is the set of actions including
facilitation, training, measurement, and analysis needed Quality Control (QC) is described as the processes and
to provide adequate confidence that processes are methods used to compare product quality to
established and continuously improved to produce requirements and applicable standards, and the actions
products or services that conform to specifications and are taken when a nonconformance is detected.
are fit for use.

QA is an activity that establishes and calculates the


QC is an activity that demonstrates whether the product
processes that produce the product. If there is no
produced met standards or not.
process, there is no role for QA.

QA helps establish process QC relates to a particular product or service


QA sets up a measurement program to evaluate QC verified whether particular attributes exist, or do not
processes exist, in a explicit product or service.
QC identifies defects for the primary goals of correcting
QA identifies weakness in processes and improves them
errors.
Quality Assurance is a managerial tool. Quality Control is a corrective tool.
Verification is an example of QA. Validation is an example of QC.
Major SQA Issues

Software Requirement Challenges: Quality suffering initiates from software


requirement collection. Improper way of requirement collection, poor &
incomplete requirement, insufficient time for the requirement and lack of
dedication makes a hole for quality failure.

The initial challenge is collect right


requirement at the right time.
STAKEHOLDERS PERSEPECTIVES
CHALLENGES: different types of
stakeholders are responsible for software
quality suffering
Zero Defect Software

“Zero Defects” in Software Quality Management doesn’t mean perfection but


rather relates to a state of Software Development where waste is eliminated,
defects are reduced, and maintaining the highest quality standards in projects.
Waste refers to all unproductive processes, tools, employees and so on.
The zero defects theory is based on four elements for implementation in real
projects.
• Quality is a state of assurance to requirements. Therefore, zero defects in a project mean fulfilling
requirements at that point in time.
• Right the first time. Quality should be integrated into the process from the beginning, rather than
solving problems at a later stage.
• Quality is measured in financial terms. One needs to judge waste, production, and revenue in terms
of budgetary impact.
• Performance should be judged by the accepted standards, as close to perfection as possible.
Zero Defect Software

Strategies to implement a zero defects approach:


• Effectively manage process changes
• Take into consideration your customers’ expectations of quality
• Build quality into performance expectations:
• earn (and embrace) poka-yoke:
• Make continuous improvement and efficiency a high priority
• Measure your quality efforts:
• Monitor your team’s progress
1. Auditing
2. Reviewing
3. Code Inspection
4. Design Inspection
SQA 5. Simulation
Techniques 6. Functional Testing
7. Standardization
8. Static Analysis
9. Walkthroughs
10. Stress Testing
11. Six Sigma
Auditing: Auditing involves inspection of the work products and its related information to
determine if the set of standard processes were followed or not.
Reviewing: A meeting in which the software product is examined by both the internal and
external stakeholders to seek their comments and approval.
Code Inspection: It is the most formal kind of review that does static testing to find bugs
and avoid defect growth in the later stages. It is done by a trained mediator/peer and is based
on rules, checklist, entry and exit criteria. The reviewer should not be the author of the code.
Design Inspection: Design inspection is done using a checklist that inspects the 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
• Coupling and cohesion
Simulation: Simulation is a tool that models the real-life situation in order to
virtually examine the behavior of the system under study.
Functional Testing: It is a QA technique which verifies what the system does
without considering how it does. This type of black-box testing mainly focuses on
testing the system specifications or features.
Standardization: Standardization plays a crucial role in quality assurance. It
decreases the ambiguity and guesswork, thus ensuring quality.
Static Analysis: It is a software analysis that is done by an automated tool without
actually executing the program. This technique is highly used for quality
assurance in medical, nuclear and aviation software. Software metrics and reverse
engineering are some popular forms of static analysis.
Walkthroughs: Software walkthrough or code walkthrough is a kind of peer review
where the developer guides the members of the development team to go through the
product and raise queries, suggest alternatives, make comments regarding possible
errors, standard violations or any other issues.
Path Testing: It is a white box testing technique where the complete branch coverage
is ensured by executing each independent path at least once.
Stress Testing: This type of testing is done to check how robust a system is by testing
it under heavy load i.e., beyond normal conditions.
Six Sigma: Six Sigma is a quality assurance approach that aims at nearly perfect
products or services. It is widely applied in many fields including software. The main
objective of six sigma is process improvement so that the produced software is 99.76
% defect free.
Audit Review
It refers to an unbiased, official examination It refers to the formal assessment of the
and verification of the financial statements, financial statement of a company and to
records, operations, physical inventory etc, of a introduce changes if required.
company.
It provides the highest level of assurance and It provides limited assurance and is narrower
has a wider scope than the review. in scope than the audit.
It costs more than the review. It costs less than an audit.
A Certified Public Accounting Firm is needed It does not require any registered firm to
to conduct the audit. conduct the review.
It gives more emphasis on the financial It gives more emphasis on the inquiry of the
statements and accounting records. management or staff and analytical review
work.
Types: Internal, external, statutory, non- Types: System review, firm-on-firm review
statutory, etc. etc.
Statistical Quality Assurance

Statistical Quality Assurance reflects a growing trend throughout industry to


become more quantitative to quality. For software, statistical quality assurance
implies the following steps:
1. Information about software defects is collected and categorized.
2. An attempt is made to trace each defect to its underlying cause (e.g., non-
conformance to specifications, design error, violation of standards, poor
communication with the customer).
3. Using the Pareto principle (80 percent of the defects can be traced to 20
percent of all possible causes), isolate the 20 percent (the "vital few").
4. Once the vital few causes have been identified, move to correct the
problems that have caused the defects
Although hundreds of different errors are uncovered, all can be tracked to one (or
more) of the following causes:
• incomplete or erroneous specifications (IBS)
• misinterpretation of customer communication (MCC)
• intentional deviation from specifications (IDS)
• violation of programming standards (VPS)
• error in data representation (EDR)
• inconsistent component interface (ICI)
• error in design logic (EDL)
Data Collections for Statistical Quality Assurance
• incomplete or erroneous testing (IET)
• inaccurate or incomplete documentation (IID)
• error in programming language translation of design (PLT)
• ambiguous or inconsistent human/computer interface (HCI)
• miscellaneous (MIS)
Statistical Quality Assurance

SQA consists of three major methodologies:


1. Force Diagram - A Force Diagram describes how a product should be tested.
2. Test-to-Failure (TTF) - Unlike any legal testing, TTF tells manufacturers on how many
defects they are likely to find in every million units of output. This information is incorporated
into the process and concludes if a product needs improvement in quality or if it is being over
engineered, which will eventually lead to cost savings.
3. Intervention - Products are separated into groups according to the total production quantity
and production lines. Each group then undergoes an intervention. The end result is measured
by Z-value, which is the indicator of quality and consistency of a product to a
specification. Intervention allows manufacturers to pinpoint a defect to a specific lot and
production line; thus, saving time and money in corrective actions.
Total Quality Management

TQM can be defined as a


management technique for
improving processes, products,
services and the other
approaches associated with the
product. It focusses on the
entire business and NOT just
on a particular project or
process.
Principles of TQM →
Total Quality Management

Elements of TQM:
• Root Cause Analysis
• Customer-focused
• Active Employee Participation
• Process-oriented
• Internal and External self Assessment
• Continuous improvement
• Making Well Informed Decisions
• Effective Communication
Quality Standards and Processes
Quality standards are defined as documents that provide requirements,
specifications, guidelines, or characteristics that can be used consistently to
ensure that materials, products, processes, and services are fit for their purpose.
Standards provide organizations with the shared vision, understanding,
procedures, and vocabulary needed to meet the expectations of their
stakeholders. Because standards present precise descriptions and terminology,
they offer an objective and authoritative basis for organizations and consumers
around the world to communicate and conduct business. It ensures:
• Quality matches expectations
• Fit for purpose
• Meet the needs of their users
Quality Standards and Processes

Advantages of Quality Standards


1. It helps save costs & improves productivity.
2. Increases customer satisfaction with high quality products & services.
3. Sets minimums standards of quality for processes, products & services.
4. Maintaining quality standards increases safety of workers.
5. Good communication enables smooth flow of operations & avoid mistake
repetition.
Examples of quality management standards
• ISO 9001 Quality Management Standard.
• SEI CMM Quality Standard
End of Unit-4

You might also like