This document discusses software quality assurance. It defines quality assurance and explains that the goal is to provide management with data on product quality to identify and address problems. It describes different types of quality costs and techniques used in quality assurance, including walkthroughs and inspections, static analysis, and symbolic execution.
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.
Types of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating system
Software testing for project report .pdfKamal Acharya
Methods of Software Testing There are two basic methods of performing software testing: 1. Manual testing 2. Automated testing Manual Software Testing As the name would imply, manual software testing is the process of an individual or individuals manually testing software. This can take the form of navigating user interfaces, submitting information, or even trying to hack the software or underlying database. As one might presume, manual software testing is labor-intensive and slow.
Exploring Different Types of QA Methods_ An Overview.pdfPolyxer Systems
Quality assurance may sound like a reserved term for software developers, but it’s a crucial concept for any industry that strives for excellence.
QA is the systematic approach of ensuring that products or services consistently meet predefined standards and customer expectations.
This ppt explores the software testing strategy in Software Engineering. It is more useful for the Arts and Science and Engineering students to understand the Software Engineering. It is more useful in their examination time. This ppt is prepared based on their examination point of view.
Software Testing and Quality Assurance Assignment 3Gurpreet singh
Short questions :
Que 1 : Define Software Testing.
Que 2 : What is risk identification ?
Que 3 : What is SCM ?
Que 4 : Define Debugging.
Que 5 : Explain Configuration audit.
Que 6 : Differentiate between white box testing & black box testing.
Que 7 : What do you mean by metrics ?
Que 8 : What do you mean by version control ?
Que 9 : Explain Object Oriented Software Engineering.
Que 10 : What are the advantages and disadvantages of manual testing tools ?
Long Questions:
Que 1 : What do you mean by baselines ? Explain their importance.
Que 2 : What do you mean by change control ? Explain the various steps in detail.
Que 3 : Explain various types of testing in detail.
Que 4 : Differentiate between automated testing and manual testing.
Que 5 : What is web engineering ? Explain in detail its model and features.
Types of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating systemTypes of operating system
Software testing for project report .pdfKamal Acharya
Methods of Software Testing There are two basic methods of performing software testing: 1. Manual testing 2. Automated testing Manual Software Testing As the name would imply, manual software testing is the process of an individual or individuals manually testing software. This can take the form of navigating user interfaces, submitting information, or even trying to hack the software or underlying database. As one might presume, manual software testing is labor-intensive and slow.
Exploring Different Types of QA Methods_ An Overview.pdfPolyxer Systems
Quality assurance may sound like a reserved term for software developers, but it’s a crucial concept for any industry that strives for excellence.
QA is the systematic approach of ensuring that products or services consistently meet predefined standards and customer expectations.
This ppt explores the software testing strategy in Software Engineering. It is more useful for the Arts and Science and Engineering students to understand the Software Engineering. It is more useful in their examination time. This ppt is prepared based on their examination point of view.
Software Testing and Quality Assurance Assignment 3Gurpreet singh
Short questions :
Que 1 : Define Software Testing.
Que 2 : What is risk identification ?
Que 3 : What is SCM ?
Que 4 : Define Debugging.
Que 5 : Explain Configuration audit.
Que 6 : Differentiate between white box testing & black box testing.
Que 7 : What do you mean by metrics ?
Que 8 : What do you mean by version control ?
Que 9 : Explain Object Oriented Software Engineering.
Que 10 : What are the advantages and disadvantages of manual testing tools ?
Long Questions:
Que 1 : What do you mean by baselines ? Explain their importance.
Que 2 : What do you mean by change control ? Explain the various steps in detail.
Que 3 : Explain various types of testing in detail.
Que 4 : Differentiate between automated testing and manual testing.
Que 5 : What is web engineering ? Explain in detail its model and features.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
1. 103
LESSON 7: SOFTWARE QUALITY ASSURANCE
Contents
7.0.Aim and Objectives
7.1.Introduction
7.2.Quality Assurance
7.3.Walkthrough and Inspections
7.4.Static Analysis
7.5.Symbolic Execution
7.6.Review Questions
7.7.Let us Sum up
7.8.Learning Activities
7.9.Points for Discussion
7.10. References
7.0. AIM AND OBJECTIVES
To introduce the various aspects involved in delivering quality software.
To introduce different quality standards and how they affect the software
industry.
7.1. INTRODUCTION
The American Heritage Dictionary defines quality as “a characteristic or
attribute of something”. As an attribute of an item, quality refers to measurable
characteristics when we examine an item based on its measurable
characteristics, two kinds of quality may be encountered: quality of design and
quality of conformance.
In software development, quality of design encompasses requirements,
specifications, and the design of the system. Quality of conformance is an
issue focused primarily on implementation. If the implementation follows the
design and the resulting system meets its requirements and performance goals,
conformance quality is high.
7.2. QUALITY ASSURANCE
Quality Assurance is a “planned and systematic pattern of all actions
necessary to provide adequate confidence that the item or product conforms to
established technical requirements. It also consists of the auditing and
reporting functions of management.
2. 104
Need for Quality Assurance
Human beings cannot work in error free manner
Human beings are blind to their own errors
Cost of fixing errors increases exponentially with time since their
occurrence
Systems Software itself is not bug free
Customers should not find bugs when using software
Post-release debugging is more expensive
An organization must learn from its mistakes i.e. not repeat its mistakes
Appropriate resources need to be allotted e.g. people with right skills
Error detection activity itself is not totally error free
A group of people cannot work together without standards, processes,
guidelines, etc.,
The goal of quality assurance is to provide management with the data
necessary to be informed about the product quality, thereby gaining insight and
confidence that product quality is meeting its goals. If the data provided
through quality assurance identify problems, it is management’s responsibility
to address the problems and apply the necessary resources to resolve the
quality issues.
7.2.1. Cost of Quality
Cost of quality refers to the total cost of all efforts to achieve
product/service quality, and includes all work to conformance to requirements,
as well as all work resulting from nonconformance to requirements. Quality
costs may be divided into costs associated with prevention, appraisal, and
failure.
• Prevention costs include quality planning, Formal Technical Reviews,
test equipment, training.
• Appraisal costs include activities to gain insight into product condition
the first time through each process. Examples: in-process and inert-
process inspection, equipment calibration and maintenance, testing.
• Failure costs are costs that would disappear if no defects appeared
before shipping a product to customers. Failure costs may be subdivided
into internal failure costs and external failure costs.
Internal failure costs include rework, repair, and failure mode
analysis.
External failure costs include complaint resolution, product return
and replacement, help line support, and warranty work.
3. 115
Inspections, like walkthroughs, can be used throughout the software life
cycle to asses and improve the quality of the various work products. Inspection
teams consist of one to four members (producer, inspector, moderator, reader)
who are trained for their tasks. The producer, whose product is under review,
inspector who evaluates the product, and the moderator who controls the
review process. There is also a reader, who may guide inspectors through the
product. Inspections are conducted in a similar manner to walkthrough, but
more structure is imposed on the sessions, and each participant has a definite
role to play. Each of the roles in an inspection team would have well-defined
responsibilities within the inspection team. Fagan suggests a procedure made
up of five steps, namely:
1. Overview, where the producers of the work explain their work to inspectors.
2. Preparation, where the inspectors prepare the work and the associated
documentation for inspection.
3. Inspection, which is meeting moderated by the moderator and guided by a
reader who goes through the work with the inspectors.
4. Rework, which is any work required by the producers to correct any
deficiencies.
5. Follow-up, where a check is made to ensure that any deficiencies have been
corrected.
The important thing here is that the inspections are formal and have a
report that must be acted on. It is also important that any recommendations
made during inspections be acted upon and followed up to ensure that any
deficiencies are corrected.
7.4. STATIC ANALYSIS
Static analysis is a technique for assessing the structural characteristics
of source code, design specifications, or any notational representation that
conforms to well define syntactic rules. The present discussion is restricted to
static analysis of source code
Static program analysis
Static program analysis seeks to detect errors without direct execution of
the test object.
The activities involved in static testing concern syntactic, structural and
semantic analysis of the test object.
The goal is to localize, as early as possible, error-prone parts of the test
object.
The most important activities of static program analysis are:
• Code inspection
4. 116
• Complexity analysis
• Structural analysis
• Data-flow analysis
a. Code inspection
Code inspection is a useful technique for localizing design and
implementation errors. Many errors prove easy to find if the author would
only read the program carefully enough.
The idea behind code inspection is to have the author of a program
discuss it step by step with other software engineers.
Structure of the four person team:
1. An experienced software engineer who is not involved in the project to
serve as moderator
2. The designer of the test object
3. The programmer responsible for the implementation
4. The person responsible for testing
The moderator notes every detected error and the inspection continues.
The task of the inspection team is to detect, not to correct, errors. Only on
completion of the inspection do the designer and the implementor begin
their correction work.
b. Complexity analysis
The goal of complexity analysis is to establish metrics for the complexity of
a program These metrics include complexity measures for modules,
nesting depths for loops, lengths of procedures and modules, import and
use frequencies for modules, and the complexity of interfaces for
procedures and methods.
The results of complexity analysis permit statements about the quality of
a software product (within certain limits) and localization of error-prone
positions in the software system.
Complexity is difficult to evaluate objectively; a program that a
programmer perceives as simple might be viewed as complex by someone
else.
c. Structural analysis
The goal of structural analysis is to uncover structural anomalies of a test
object.
c. Data-flow analysis
Data-flow analysis is intended to help discover data-flow anomalies.
5. 117
Data-flow analysis provides information about whether a data object has
a value before its use and whether a data object is used after an
assignment.
Data-flow analysis applies to both the body of a test object and the
interfaces between test objects.
7.5. SYMBOLIC EXECUTION
Symbolic execution is a validation technique in which the input variables
of a program unit are assigned symbolic values rather than literal values. A
program is analyzed by transmitting the symbolic values of the inputs into the
operands in expressions. The resulting symbolic expressions are simplified at
each step in the computations so that all intermediate computations and
decisions are always expressed in terms of the symbolic inputs. For instance,
evaluation of an assignment statement results in association of a symbolic
expression with the left-hand variable. When that variable is used in
subsequent expressions, the current symbolic value is used. In this manner,
all computations and decisions are expressed as symbolic values of the inputs.
Check your progress
i. _______________ encompasses requirements, specifications, and the design of
the system.
ii. _______________ is an issue focused primarily on implementation.
iii. _________________consists of the auditing and reporting functions of
management.
iv. ________________ refers to the total cost of all efforts to achieve
product/service quality,
v. ______________ reduces the impact of operational mistakes, erroneous input
data, and hardware errors.
Solutions
I
Ii
Iii
iv
v