0% found this document useful (0 votes)
29 views21 pages

7 Software Quality Engineering Video

Uploaded by

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

7 Software Quality Engineering Video

Uploaded by

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

SOFTWARE QUALITY ASSURANCE

QUALITY ASSURANCE

Mr. Shahid Saleem

1 11/04/2024
Summary of Previous Lecture
Quality Models
 ISO 9126
 McCall’s
 FURPS
 Boehm’s
 GQM
Cost of Quality
 Prevention Cost
 Appraisal Cost
 Failure Cost
Quality Cost Conformance Model
2 11/04/2024
Quality Cost Conformance
Model
The quality cost conformance model provides an
example of a constrained optimization approach.
In this model the economic conformance level
(ECL) is obtained where prevention and appraisal
costs are equal to external and internal failure
costs.
Prevention and appraisal costs increase as the
level of conformance of quality increases.
Failure costs are expected to decrease as the level
of conformance of quality increases. Therefore,
the total costs associated with conformance of
quality will be U-shaped as indicated in the figure.
3 11/04/2024
The Quality Cost Conformance Model

4
Repair Cost of Defects

5 11/04/2024
Topics to Cover - Today
Quality Assurance
Qualification Scheme for Quality Assurance
 Defect prevention
 Defect Reduction
 Defect Containment

6 11/04/2024
Quality Assurance
Quality assurance can be defined as, „the establishment of
framework of organizational procedures and standards that lead to
a high quality software‟
Quality assurance is the function responsible for managing quality.
The word “assurance” means that if the processes are followed,
management can be assured of product quality.
About quality assurance:
 The first formal quality assurance and control function was introduced at
Bell Labs in 1916 in the manufacturing world.
 During the 1950s and 1960s, the programmers controls their product
quality.
 During the 1970s, quality assurance standards were introduced first in
military contract software development.
7 11/04/2024
Classification Scheme for QA as Dealing with
Defects
Defect Prevention

Defect Reduction
(Defect Detection and Removal)

Defect Containment

8 11/04/2024
Defect Prevention
Prevent faults from being injected into the software through error
blocking or error source removal
Eliminating certain error sources, such as correcting human
misconceptions
We can analyze the reasons behind the missing or incorrect
human actions and deal with the root causes or the error sources
instead. This generic approach is called error source removal.
The focus of these activities is typically on the people and their
conceptual mistakes, which may lead to the selection and use of
inappropriate development methodologies, languages,
algorithms, QA strategies, etc. Such inappropriate selection may
lead to numerous fault injections.

9 11/04/2024
Defect Prevention Techniques
Education and training

Process conformance and standards


enforcement

Tools/technologies and techniques

10 11/04/2024
Education and Training
Education and training of software professionals can help
them control, manage, and improve the way they work.
Such activities helps to ensure that they have few if any
misconceptions related to the product and the product
development.

The elimination of these human misconceptions will help


prevent certain types of fault from being injected into
software products.

11 11/04/2024
Education and Training
The education and training effort for error source elimination should
focus on the following areas:
 Product and domain specific knowledge
 If the people involved are not familiar with the product type or
application domain, there is a good chance that wrong solutions
will be implemented
 Knowledge about the specific development/testing tools used
by the organization
 Also plays an important role in developing high- quality software
products.
 General Software Development Knowledge and expertise
 It plays an important role in developing high quality software products.
 For example lack of expertise with requirements analysis and product
specification usually leads to many problems and rework in design,
coding
and testing phases
 Development Process Knowledge used by the organization
 For example if the people involved in incremental software development
do not know how the individual development efforts for different
increments fit together, the uncoordinated development may lead to
many interface or interaction problems.
12 11/04/2024
Tools/Technologies and Techniques
 Appropriate use of software methodologies
can also help reduce the chances of fault
injections. Many of the problems with low
quality “fat software” could be addressed by
disciplined methodologies and return to
essentials for high quality “Lean software”

 Specific software tools can also help reduce


the chances of fault injections. For example
Syntax directed editor that automatically
balances out each open parenthesis, “{”, with
a close parenthesis, “}”, can help reduce
syntactical problems in programs written in
the C language
13 11/04/2024
Defect Reduction
Defect reduction through fault detection and
removal
Detect and remove faults once they have been injected
Two categories:
 Static Testing
(Inspection of software code, design etc., Reviews, Walkthroughs, desk
checking etc)
 Dynamic Testing
Test a program by executing test scripts e.g White box testing, black box
testing etc.

14 11/04/2024
Static Testing
Inspection
Software Inspections are critical examinations of software
artifacts (code/design/test-cases/etc.) by human inspectors
aimed at discovering and fixing faults in the software system
The basic idea of inspections are listed below:
 Inspections are critical reading and analysis of software code or other
software artifacts, such as requirements, designs, test plans, etc.
 Inspections are typically conducted by multiple human inspectors,
through some coordination process.
 Faults are detected directly in inspection by human inspectors, either
during their individual inspection or various types of group sessions.

15 11/04/2024
Static Testing
Identified faults need to be removed as a result of the
inspection process, and their removal also needs to be
verified.

The inspection processes include some planning and


follow-up activities.

16 11/04/2024
Static Testing
Walkthroughs
 The code walkthrough, like the inspection, is a set of procedures and
error detection techniques for group code reading. It shares much in
common with the inspection process, but the procedures are slightly
different, and a different error-detection technique is employed.

Desk Checking
 A desk check can be viewed as a one-person inspection or
walkthrough: A person reads a program, checks it with respect to an
error list, and/or walks test data through it.

17 11/04/2024
Dynamic Testing
Testing is one of the most important parts of QA and the
most commonly performed QA activity

Dynamic Testing involves the execution of software and the


observation of the program behavior or outcome

18 11/04/2024
Dynamic Testing
 black-box/functional testing
 verifies the correct handling of the external functions provided by the software or
whether the observed behavior conforms to user expectations or product
specifications
 The emphasis is on reducing the chances of encountering functional problems by
target customers.

 white/clear-box/structural testing
 verifies the correct implementation of internal units, structures and relations
among them
 When white box testing is performed ,failures related to internal implementations
can be observed, leading to corresponding faults being detected and removed.

19 11/04/2024
Defect Containment

20 11/04/2024
Defect Containment
Defect containment through failure prevention and
containment
 Containing the failures to local areas
 Limiting the damage

 Fault tolerance techniques to break the causal relation between


faults and failures so that local faults will not cause global failures,
thus “tolerating” these local faults
 Failure Containment measures to avoid catastrophic
consequences, such as death, personal injury and severe things in
case of failures

21 11/04/2024

You might also like