Introduction
Introduction
Unit 1 - Introduction
1
Software Quality
2
What is Software?
3
What is Software?
4
What is Software?
Software is developed or engineered; it is
not manufactured in the classical sense.
Software doesn't "wear out."
Although the industry is moving toward
component-based construction, most
software continues to be custom-built.
5
Dagal Features’s Limited
Warranty leaflet
LIMITED WARRANTY
Dagal Features provides no warranty, either expressed or
implied, with respect to AMGAL’s performance, reliability or
fitness for any specified purpose. Dagal Features does not
warrant that the software or its documentation will fulfil your
requirements. although Dagal Features has performed
thorough tests of the software and reviewed the documentation,
Dagal Features does not provide any warranty that the
software and its documentation are free of errors. Dagal
Features will in no case be liable for any damages, incidental,
direct, indirect or consequential, incurred as a result of impaired
data, recovery costs, profit loss and third party claims. the
software is licensed “as is”. the purchaser assumes the complete
risk stemming from application of the AMGAL program, its
quality and performance.
If physical defects are discovered in the documentation or the
6 NMIMS SBM Navi Mumbai
CD on which AMGAL is distributed, Dagal Features will
Dagal Features’s Limited
Warranty leaflet
“Is the AMGAL software really so special that its developers are
incapable
of meeting the challenge of assuring a bug-free product?” continued my
friend. “Do other software packages limit their warranties in the same
way?”
change
actual curve
idealized curve
Time
8
Software vs. Industrial Products
9
Software Applications
System software
Application software
Engineering/Scientific
Software
Embedded software
Product-line software
Web/Mobile applications)
AI software (robotics, neural
nets, game playing)
11
Software quality – continued…
12
Software quality – continued…
13
Software quality – continued…
14
Software quality – continued…
15
Software quality – continued…
16
Software quality – environment – main
characteristics
1.Being contracted
2.Subjection to customer–supplier relationship
3.Requirement for teamwork
4.Need for cooperation and coordination with
other development teams
5.Need for interfaces with other software
systems
6.Need to continue carrying out a project while
the team changes
7.Need to continue maintaining the software
system for years
17
Software quality
Quality, simplistically, means that a product
should meet its specification.
This is problematic for software systems
There is a tension between customer quality
requirements (efficiency, reliability, etc.) and developer
quality requirements (maintainability, reusability, etc.);
Some quality requirements are difficult to specify in an
unambiguous way;
Software specifications are usually incomplete and
often inconsistent.
The focus may be ‘fitness for purpose rather than
specification conformance.
18
Quality Principles
19
Software fitness for purpose
22
Software quality
Usability refers to the ease with which an application can be used. This
is an area in itself and there exist techniques for usability testing.
Psychology plays an important role in the design of techniques for
usability testing.
26
Process and product quality
27
Process-based quality
28
Quality culture
Quality managers should aim to develop a ‘quality
culture’ where everyone responsible for software
development is committed to achieving a high
level of product quality.
They should encourage teams to take
responsibility for the quality of their work and to
develop new approaches to quality improvement.
They should support people who are interested in
the intangible aspects of quality and encourage
professional behavior in all team members.
29
.
30
Errors
Errors are a part of our daily life.
37
Requirements, behavior, correctness
1. Faulty definition of requirements
Erroneous definition of requirements.
Absence of vital requirements.
Incomplete definition of requirements. For
instance, one of the requirements of a
municipality’s local tax software system
refers to discounts granted to various
segments of the population: senior
citizens, parents of large families, and so
forth. Unfortunately, a discount granted to
students was not included in the
requirements document.
Inclusion of unnecessary requirements,
and functions that are not expected to be
needed in the near future.
Requirements, behavior, correctness
Suppose now that the tester wants to know if the two integers are to be input to
the program on one line followed by a carriage return, or on two separate lines
with a carriage return typed in after each number. The requirement as stated
above fails to provide an answer to this question.
Requirements: Ambiguity
Consider a sort program which, on any given execution, allows any one
of two types of input sequences. Sample operational profiles for sort
follow.
Operational profile
Operational profile
.
61
Quality Assurance and Quality Control
62
Quality Assurance
Quality Assurance (QA) ensures that defined standards are being
followed. Sometimes, processes need to be revised. Thus, quality
assurance is a continuous process executed throughout the life
cycle of the project. QA is an application of planned systematic
quality activities to ensure that the project will employ all process
needed to meet the desired quality.
63
Quality Assurance
67
What are Software Quality Assurance
Components?
1. Pre-project Plan
Pre-project Plan ensures that the resources required for project,
schedule, and budget should be clearly defined. Plan for development
and ensuring quality has been determined.
68
What are Software Quality Assurance
Components?
2. Project lifecycle component
A project lifecycle usually comprised of two stages:
1. Development Stage
In the Development Stage Component, Software Quality Assurance help
to identify the design and programming errors. Its Components are
divided into the following sub-classes: Reviews, Expert Opinions, and
Software Testing.
2. Operation Maintenance Stage
In Operation Maintenance Stage, the Software Quality
Assurance components include the Development
lifecycle component along with specialized
components whose aim is to improve the
maintenance tasks.
69
What are Software Quality Assurance
Components?
3. Infrastructure error prevention and improvement components
The aim of this component is to the prevention of software faults and
minimizes the rate of errors. These components are as:
• Procedure and work instructions
• Templates and Checklists
• Staff Training, Retainingand Certification
• Preventive and Corrective Actions
• Configuration Management,
• Documentation Control
73
74 NMIMS SBM Navi Mumbai
75 NMIMS SBM Navi Mumbai
Quality Assurance vs Quality Control
77
Recap
What is Quality Assurance (QA): Tutorial, Attrib
utes, Components, Types -
Javatpoint