Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

KCA035: Software Quality Engineering(SQE)

What is Software Quality ?

What is software quality?



The quality of software can be defined as the ability of the software to
function as per user requirement.

• Quality software is reasonably defect free, delivered on time and within


budget, meets user requirements and expectations, and it is
maintainable.

• Software quality engineering (SQE) is the process of implementing quality


checks throughout the entire software development cycle.
What is Software Quality ?

Key aspects of quality for the customer include:

1.Good design – looks and style


2.Good functionality – it does the job well
3.Reliable – it should be able to perform the
functionality without any problem and system failure .
4.Consistency-Software should be able to perform
consistently over platform and devices.A consistence
software strives for everyone to see the same data at
same time.
5.Durable – durability means the ability of the software
to work without any issue for a long period of time.
6.Value for money :customer must feel value for
money
Software Quality Attribute and specification ?

Following are the key Attribute of Software Quality :

1.Accuracy – the ability of the system to produce accurate results


(and to what level of accuracy this is required).

2.Availability –As the name suggests, this software quality attribute


indicates whether an application will execute the tasks when they are
assigned.

3.Compatibility – the ability of the system to work with, for example,


different input devices,.

4.Functionality – what the system is actually supposed to do


The first from the list of software quality attributes we will be focusing on is
functionality. This attribute determines the conformity of a software-driven
system with the defined requirements and specifications..
Software Quality Attribute and specification ?

5.Manageability – the ease with which system


administrators can manage the system, through
tuning, debugging and monitoring.

6.Performance – the responsiveness of a


system to execute a required action with a set
time frame.

7.Security – the security attribute measures the


ability of a system to protect and block malicious or
unauthorized actions that could negatively impact
the user or destroy the system.
Software Quality Attribute and specification ?

8.Supportability – the ability of the system to provide information to


assist in rectifying a performance failure.

9.Usability – the software quality attribute of usability denotes the ease


with which users are able to execute tasks on the system

10.Maintainability: Maintainability = suitability for debugging and for


modification and extension of functionality.
The maintainability of a software system depends on its:
– Readability
– Extensibility
– Testability
Cost of Quality ?

COQ refers to the costs of investing to ensure their products/services


are of high quality and defect-free.

There are four categories to measure cost of quality that are as follow

These are explained as follows below.

1.Prevention costs include cost of training developers on writing


secure and easily maintainable code.

2.Detection costs include the cost of creating test cases, setting up


testing environments, revisiting testing requirements.

3.Internal failure costs include costs incurred in fixing defects just


before delivery.

4.External failure costs include product support costs incurred by


delivering poor quality software.
What is Defect in software quality ?

•Defects are defined as the deviation of the actual and expected result
of system or software application.

•Defects are caused by the developer in development phase of


software. When a developer or programmer during the development
phase makes some mistake then that turns into bugs that are called
defects. It is basically caused by the developers’ mistakes.
What is Defect in software quality ?

• Types of Defects:
Following are some of the basic types of defects in the software
development:
• Arithmetic Defects:
It include the defects made by the developer in some arithmetic
expression or mistake in finding solution of such arithmetic
expression. This type of defects are basically made by the
programmer due to access work or less knowledge. Code congestion
may also lead to the arithmetic defects as programmer is unable to
properly watch the written code.
• Logical Defects:
Logical defects are mistakes done regarding the implementation of
the code. When the programmer doesn’t understand the problem
clearly or thinks in a wrong way then such types of defects happen.
What is Defect in software quality ?

• Syntax Defects:
Syntax defects means mistake in the writing style of the code. It also
focuses on the small mistake made by developer while writing the
code. Often the developers do the syntax defects as there might be
some small symbols escaped. For example, while writing a code in
C++ there is possibility that a semicolon(;) is escaped.
• Multithreading Defects:
Multithreading means running or executing the multiple tasks at the
same time. Hence in multithreading process there is possibility of
the complex debugging. In multithreading processes sometimes
there is condition of the deadlock and the starvation is created that
may lead to system’s failure.
• Interface Defects:
Interface defects means the defects in the interaction of the
software and the users. The system may suffer different kinds of the
interface testing in the forms of the complicated interface, unclear
interface or the platform based interface.
What is Defect in software quality ?

• Performance Defects:
Performance defects are the defects when the system or the
software application is unable to meet the desired and the expected
results. When the system or the software application doesn’t fulfill
the users’s requirements then that is the performance defects. It
also includes the response of the system with the varying load on the
system.
Defect Rate and Reliability ?

Reliability :
• Software reliability is the probability of failure-free
operation of a computer program for a specified period
in a specified environment.
• Reliability is a customer-oriented view of software
quality.
• Defect rate measures Reliability .
Defect Rate and Reliability ?

Defect Rate :
• Defect rate is system of counting the number of defects over the
amount of area examined .

• Defect Rate = (No of Defects Detected* 100) / (No of Test Cycles)

The simplest equation for defect rate divides the total observed defects by the
number of individual projects observed.

For example, if 10 out of 200 tested units are defective, the defect rate is 10
divided by 200, or 5 percent.
What is Failure ?

When a defect reaches the end customer, it is called as Failure.


Once the product is completed and it is delivered to the customers
and if the customer find any issues in product or software then it is the
condition of failure of product.
In other words, if an end user finds an issue in product then that
particular issue is called as failure.

Causes of Failure:
•Human errors or mistakes may lead to failure.
•Lack of user participation
•Inaccurate estimates of needed resources
•Badly defined system requirements
•Poor reporting of the project’s status
•Lack of resources
•Unmanaged risks
•Poor communication between developers and users
•Use of immature technology
•Inability to handle the project’s complexity
•Poor Project Management
Defect Prevention ?

Defect Prevention is basically defined as a measure to ensure that


defects being detected so far, should not appear or occur again.

Defect Prevention Technique :


Defect Prevention ?

1.Software Requirement Analysis :


The main cause of defects in software products is due to error in
software requirements and designs. Software requirements and
design both are important, and should be analyzed in an efficient way
with more focus.

2. Review and Inspection :

Regular Review and Inspection Process can prevent defect .


Inspection is used to determine the defects in the code and remove it
efficiently .
Review and inspection, both are essential and integral part of software
development. They are considered as powerful tools that can be used
to identify and remove defects.
Defect Prevention ?

• 3.Defect Logging and Documentation :


After successful analysis and review, there should be records
maintained about defects to simply complete description of defect.

• This record can be further used to have better understanding of


defects.
• After getting knowledge and understanding of defect, then only one
can take some effective and required measures and actions to
resolve particular defects so that defect cannot be carried further to
next phase.

4.Root Cause Analysis :


Root cause analysis is basically analysis of main cause of defect. It
simply analysis what triggered defect to occur. After analyzing main
cause of defect, one can find best way to simply avoid occurrence of
such types of defects next time.
Defect Containment?

•Defect containment is reported usually as a percentage of


defects captured in the phase in which they are originated.

•Also, it is a process of displaying the information about


the issues and problems occurred and reported for a
software system.

•It is a strategy, an attempt to increase the software quality


and reducing the cost of the software product
simultaneously.
End Part One

You might also like