Software Quality Assurance Introduction To Testing: Sweta Suman
Software Quality Assurance Introduction To Testing: Sweta Suman
LECTURE 1
INTRODUCTION TO TESTING
Sweta Suman
Introduction to Testing
■ What is Software Testing?
Sweta Suman
What is Software Testing?
Sweta Suman
Reason for Testing
Sweta Suman
Testing in the 21st Century
■ Today’s software market :
– is much bigger
– is more competitive
– has more users Industry is going thro
a revolution in what
■ Embedded Control Applications
testing means to th
– airplanes, air traffic control
– spaceships
success of software
– watches products
– ovens
– remote controllers
5
■ Historical Perspective of Quality
■ What is Quality
■ Quality View
Sweta Suman
Historical Perspective of Quality
■ As per the traditional thinking, quality is conformance to
specification i.e. whether the product does what it is
designed for.
Sweta Suman
Historical Perspective of Quality
■ In the early 20th century, manufacturers began to include
quality processes in quality practices. After the United
States entered World War II, quality became a critical
component of the war effort: Bullets manufactured in one
state, for example, had to work consistently in rifles made in
another.
■ Conformance to requirements
■ Customer satisfaction
Sweta Suman
Quality View
■ Customer/User view
■ Manufacturing view
■ Product view
■ Value-based view
■ Transcendental view
Sweta Suman
Cost of Quality
Sweta Suman
Formula for Cost of Quality
Where ,
Cost of Control = Prevention Cost + Appraisal Cost
Sweta Suman
Sweta Suman
Continuous vs Continual Improvement
Sweta Suman
Continuous vs Continual Improvement
Sweta Suman
DMM/ACI Cycle – Organisation must define quality
parameters before it is achieved
▪ Define
▪ Measure
▪ Monitor/Analyze
▪ Control
▪ Improve
Sweta Suman
Continuous Improvement Cycle
Sweta Suman
Stakeholders
■ Customer
■ Supplier
■ Employee
■ Management
■ Society
■ Government
Sweta Suman
Customers and Suppliers
Sweta Suman
Quality Gaps
Sweta Suman
Closing user’s gap
1. Customer Survey
2. Joint Application Development
Producer’s Gap
1. Process definition
2. Work product review
Sweta Suman
Supply Chain Relationship
Sweta Suman
Total Quality Management
Sweta Suman
Quality Management through Cultural Change
Sweta Suman
Benchmarking
▪ Benchmarking plays an important role in determining some
of the major qualities of the software. Benchmark can be
defined as “something that serves as a standard by which
others may be measured or judged”.
Sweta Suman
Customer is King
• Features of software are based on customer requirements.
• Customer will want value for their money. They will buy
software and expect return on their investment. Thus the
software should be designed keeping this in mind.
Sweta Suman
Fish bone/Cause-Effect Diagram
Sweta Suman
SQA
Sweta Suman
The Psychology of Testing
▪ Comparison of the mindset of the tester and developer
Sweta Suman
Fundamental Test Process
Sweta Suman
Requirement Traceability Matrix(RTM)
TID001 X
TID002 X
TID003 X
TID004 X
TID005 X
Test
Cases TID006 X
TID007 X
TID008 X X
TID009 X
TID0010 X
Sweta Suman
Historical perspective of Testing
▪ The origin of software testing can be traced back to the fifties,
when the primary method of testing was debugging
Sweta Suman
Software Testing
▪ Software testing is a process, to evaluate the functionality of a
software application with an intent to find whether the developed
software met the specified requirements or not and to identify the
defects to ensure that the product is defect free in order to produce
the quality product.
Sweta Suman
Software Testing
Test approach has two techniques:
∙ Proactive - An approach in which the test design process is
initiated as early as possible in order to find and fix the defects
before the build is created.
∙ Reactive - An approach in which the testing is not started until
after design and coding are completed
Sweta Suman
Essentials of Software Testing:
▪ Test Strategy
▪ Testing Plan
▪ Test Cases
▪ Test Data
▪ Test Environment
Sweta Suman
Important Features of Testing Process
Sweta Suman
Misconceptions about Testing
Sweta Suman
Principles of Software Testing
▪ Early Testing
▪ Defect clustering
▪ Pesticide paradox
Sweta Suman
Test Strategy
▪ Scope and objective
▪ Business Issues
▪ Testing approach
▪ Test deliverables
▪ Training
▪ Automation
▪ Risks
Sweta Suman
Test Plan
▪ Test plan ID
▪ Brief Intro
▪ Test environment
▪ Entry/Exit criteria
▪ Status
▪ Types of testing
Sweta Suman
Mutation testing
▪ Mutation Testing is a type of software testing where we mutate
(change) certain statements in the source code and check if the
test cases are able to find the errors
Step 1: Faults are introduced into the source code of the program
by creating many versions called mutants
Step 2: Test cases are applied to the original program and also to
the mutant program
Sweta Suman
Mutation testing
Step 3: Compare the results of an original and mutant program
Sweta Suman
Challenges in Testing
▪ Complete Testing Is Impossible
▪ Lack of Resources
▪ Test Coverage
Sweta Suman
Process Problems Faced by Testing
Sweta Suman
Defect
Sweta Suman
Defect
Sweta Suman
Software Development Models
Limitations:
No feedback loop
It is assumed requirements are stable and no problem is
encountered
No re work allowed
Sweta Suman
Iterative Development Model
Limitations:
Sweta Suman
Spiral Model
Limitations:
Requires huge regression testing cycles
Changes in approach where internal structures becomes non
usable
Sweta Suman
Prototype Model
Sweta Suman
Rapid Approach Development
Sweta Suman
Sweta Suman
Raising Management Awareness for Testing
☞ Quality
▪ Satisfied Customer
▪ Bringing Profit
▪ User Experience
▪ Business Optimisation
Sweta Suman
Skills Required by Tester
• Understanding of Business Needs
• Continuous Learning
Sweta Suman
Boundary value testing
• Boundary value testing is a software testing technique where the
test cases are designed to evaluate the behavior of a system or
application at the boundary values of input ranges.
•
• The goal is to identify any errors or issues that may occur at the
edges or boundaries of acceptable input values.
• This type of testing is particularly useful in catching potential
problems that may arise due to boundary conditions.
Sweta Suman