SlideShare a Scribd company logo
1 of 51
R.POONKODI,
ASSISTANT PROFESSOR,
COMPUTER SCIENCE AND ENGINEERING,
SRI ESHWAR COLLEGE OF ENGINEERING,
COIMBATORE.
UNIT I INTRODUCTION
Testing as an Engineering Activity – Testing as a Process – Testing
axioms – Basic definitions – Software Testing Principles – The Tester’s
Role in a Software Development Organization – Origins of Defects –
Cost of defects – Defect Classes – The Defect Repository and Test
Design – Defect Examples – Developer/Tester Support of Developing
a Defect Repository – Defect Prevention strategies.
 People with software development skills are in demand.
 New methods, techniques, and tools are becoming
available to support development and maintenance
tasks.
 Poor quality software that can cause loss of life or
property is no longer acceptable to society.
 Failures can result in catastrophic losses.
 High qualified staff ensure that software products are
built on time, with in budget and are of the highest
quality with respect to attributes such as reliability,
correctness, usability and the ability to meet all user
requirements.
 The profession of a software engineering is slowly
emerging as a formal engineering disciplines.
 Using an engineering approach to software
development implies that:
 the development process is well understood;
 projects are planned;
 life cycle models are defined and adhered to;
 standards are in place for product and process;
 measurements are employed to evaluate product and
process quality;
 components are reused;
 validation and verification processes play a key role in
quality
 determination;
 engineers have proper education, training, and
certification.
Quality factors are
• Usability
• Testability
• Maintainability
• Reliability
 Project planning,
 Requirements management
 Development of formal specifications
 Structured design with use of information hiding and
encapsulation
 Design and code reuse.
 Inspections and reviews.
 Product and process measures
 Education and training of software professionals.
 Development and application of CASE tools
 Use of effective testing techniques.
 Integration of testing activities into the entire life cycle.
 Process, in the software engineering domain, is the
set of methods, practices, standards, documents,
activities, policies, and procedures that software
engineers use to develop and maintain a software
system and its associated artifacts, such as project
and test plans, design documents, code, and
manuals.
 CMM (Capability Maturity Model)
 SPICE
 BOOTSTRAP
 TMM(Testing Maturity Model)
 Verification:
"Are we building the product right?”
 The software should conform to its
specification.
 Validation:
"Are we building the right product?”
 The software should do what the user really
requires.
Validation:
 Validation is the process of evaluating a software
system or component during, or at the end of,
the development cycle in order to determine
whether it satisfies specified requirements.
Verification:
 Verification is the process of evaluating a
software system or component to determine
whether the products of a given development
phase satisfy the conditions imposed at the start
of that phase.
 Testing is a group of procedures carried out to
evaluate some aspect of a piece of software.
 Testing is a process used for revealing defects in
software, and for establishing that the software has
attained a specified degree of quality with respect
to selected attributes.
 Debugging, or fault localization is the process
of
(1) locating the fault or defect,
(2) repairing the code, and
(3) retesting the code.
Errors:
 An error is a mistake, misconception, or
misunderstanding on the part of a software
developer.
Faults (Defects) :
 A fault (defect) is introduced into the software as the
result of an error. It is an anomaly in the software
that may cause it to behave incorrectly, and not
according to its specification.
Failures:
 A failure is the inability of a software system or
component to perform its required functions within
specified performance requirements.
 A test case in a practical sense is a test-related item
which contains the following information:
1. A set of test inputs. These are data items received
from an external source by the code under test. The
external source can be hardware, software, or
human.
2. Execution conditions. These are conditions required
for running the test, for example, a certain state of
a database, or a configuration of a hardware device.
3. Expected outputs. These are the specified results to
be produced by the code under test.
Test or Test set
 A test is a group of related test cases, or a group of related test cases and
test procedures
 Group of related tests that are associated with database and are usually
run together is sometimes called as test suite.
Test Oracle:
 A test oracle is a document, or piece of software that allows testers to
determine whether a test has been passed or failed.
Test Bed:
 A test bed is an environment that contains all the hardware and software
needed to test a software component or a software system.
Software Quality:
 Quality relates to the degree to which a
system, system component, or process meets
specified requirements.
 Quality relates to the degree to which a
system, system component, or process meets
customer or user needs, or expectations.
Metric :
 A metric is a quantitative measure of the degree
to which a system, system component, or
process possesses a given attribute.
 Product metric :
 software size
 LOC
 Process metric:
 Costs
 Time
Quality metric :
 A quality metric is a quantitative measurement of the
degree to which an item possesses a given quality
attribute.
Quality Attributes :
• Correctness
• Reliability
• Usability
• Integrity
• Portability
• Maintainability
• Interoperability
Software Quality Assurance Group:
 The software quality assurance (SQA)
group is a team of people with the
necessary training and skills to ensure
that all necessary actions are taken
during the development process so that
the resulting software conforms to
established technical requirements.
Reviews :
 A review is a group meeting whose
purpose is to evaluate a software artifact
or a set of software artifacts.
 A principle can be defined as:
1. a general or fundamental, law, doctrine, or
assumption;
2. a rule or code of conduct;
3. the laws or facts of nature underlying the working
of an artificial device.
 Principle 1. Testing is the process of exercising a
software component using a selected set of test
cases with the intent of (i) revealing defects,
and (ii) evaluating quality.
 Principle 2. When the test objective is to detect
defects, then a good test case is one that has a
high probability of revealing a yet undetected
defect(s).
 Principle 3. Test results should be inspected
meticulously.
 Principle 4. A test case must contain the
expected output or result.
 Principle 5. Test cases should be developed
for both valid and invalid input conditions.
 Principle 6. The probability of the existence
of additional defects in a software
component is proportional to the number of
defects already detected in that component.
 Principle 7. Testing should be carried out by
a group that is independent of the
development group.
 Principle 8. Tests must be repeatable and
reusable.
 Principle 9. Testing should be planned.
 Principle 10. Testing activities should be
integrated into the software life cycle.
 Principle 11. Testing is a creative and
challenging task.
 The tester’s job is
 reveal defects
 find weak points,
 inconsistent behavior,
 circumstances where the software does not work as
expected.
• cooperating with code developers.
• work along with requirements engineers.
• work with designers to plan for integration
and unit test.
• test managers will need to cooperate with project
managers to develop reasonable test plans.
 Defect hypotheses include,
 design test cases;
 design test procedures;
 assemble test sets;
 select the testing levels (unit, integration, etc.) appropriate
for the tests;
 evaluate the results of the tests.
 A successful testing experiment will prove the
hypothesis is true,
 that is, the hypothesized defect was present. Then the
software can be repaired (treated).
 fault model:
 A fault (defect) model is a link between the error
made (e.g., a missing requirement, a
misunderstood design element, a typographical
error), and the fault/defect in the software.
Defect Classes :
• Requirement/Specification Defect Classes
• Design Defect Classes
• Coding Defect Classes
• Testing Defect Classes
 Pre condition
 Post condition
 Functional description
 Interface description
 Code defect
 Data defect
 Algorithmic and processing defect
 External Interface defect
 Control, logic, and sequence defects
 Algorithmic and processing defects
 Data Flow defects
 Data Defects
 External Hardware, Software Interface
Defects
 Code Documentation Defects
 The cost of defects can be measured by the
impact of the defects and when we find
them. Earlier the defect is found lesser is the
cost of defect.
 But if the error is not caught in the
specifications and is not found till the user
acceptance then the cost to fix those errors
or defects will be way too expensive.
1. The Stakeholder Axiom
2. The Test Basis
3. The Test Oracle Axiom
4. Fallibility
5. The Scope Management Axiom
6. The Coverage Axiom
7. The Delivery Axiom
8. The Environment Axiom
9. The Event Axiom
10. The Prioritization Axiom
11. The Execution Sequencing Axiom
12. The Design Axiom
13. The Repeat-Test Axiom
14. Good enough
15. Never finished.
16. Value.
 Defect Prevention (DP) is a strategy applied to the software
development life cycle that identifies root causes of defects and
prevents them from recurring. It is the essence of Total Quality
Management (TQM). DP, identified by the Software Engineering
Institute as a level 5 Key Process Area (KPA) in the Capability
Maturity Model (CMM), involves analyzing defects encountered in
the past and specifying checkpoints and actions to prevent the
occurrence of similar defects in the future. In general, DP
activities are a mechanism for propagating the knowledge of
lessons learned between projects.
 Mature IT organizations have an established software process to
carry out their responsibilities. This process is enhanced when DP
methodologies are implemented to improve quality and
productivity and reduce development costs. Figure 1 clearly
depicts that identifying defects late in the game is costly.
Software Defect Rate Of Discovery Versus Time
TMM
involves
commitment
and ability to
perform
activities and
tasks related
to improving
testing
capability
encompasses the
technical
activities and
tasks that, when
applied,
constitute quality
testing practices
defined as a
cooperating,
or
supporting,
view
Software Testing Principles and Defect Prevention Strategies

More Related Content

What's hot

Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Venkatesh Prasad Ranganath
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
Integration testing
Integration testingIntegration testing
Integration testingqueen jemila
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19koolkampus
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 

What's hot (20)

Software testing
Software testingSoftware testing
Software testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Integration testing
Integration testingIntegration testing
Integration testing
 
Unit testing
Unit testing Unit testing
Unit testing
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
verification and validation
verification and validationverification and validation
verification and validation
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
System testing
System testingSystem testing
System testing
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 

Similar to Software Testing Principles and Defect Prevention Strategies

IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing IntroJohnSamuel280314
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
 
Software testing
Software testingSoftware testing
Software testingRavi Dasari
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answers38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answersMaria FutureThoughts
 
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGWelingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGSachin Pathania
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxSirRafiLectures
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to qualityDhanashriAmbre
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testingsankalpkumarsahoo174
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 

Similar to Software Testing Principles and Defect Prevention Strategies (20)

IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing Intro
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answers38475471 qa-and-software-testing-interview-questions-and-answers
38475471 qa-and-software-testing-interview-questions-and-answers
 
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGWelingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
 
Istqb v.1.2
Istqb v.1.2Istqb v.1.2
Istqb v.1.2
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
 
Software testing kn husainy
Software testing kn husainySoftware testing kn husainy
Software testing kn husainy
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
T0 numtq0nje=
T0 numtq0nje=T0 numtq0nje=
T0 numtq0nje=
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
L software testing
L   software testingL   software testing
L software testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Too many files
Too many filesToo many files
Too many files
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

Software Testing Principles and Defect Prevention Strategies

  • 1.
  • 2. R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.
  • 3. UNIT I INTRODUCTION Testing as an Engineering Activity – Testing as a Process – Testing axioms – Basic definitions – Software Testing Principles – The Tester’s Role in a Software Development Organization – Origins of Defects – Cost of defects – Defect Classes – The Defect Repository and Test Design – Defect Examples – Developer/Tester Support of Developing a Defect Repository – Defect Prevention strategies.
  • 4.  People with software development skills are in demand.  New methods, techniques, and tools are becoming available to support development and maintenance tasks.  Poor quality software that can cause loss of life or property is no longer acceptable to society.  Failures can result in catastrophic losses.  High qualified staff ensure that software products are built on time, with in budget and are of the highest quality with respect to attributes such as reliability, correctness, usability and the ability to meet all user requirements.  The profession of a software engineering is slowly emerging as a formal engineering disciplines.
  • 5.  Using an engineering approach to software development implies that:  the development process is well understood;  projects are planned;  life cycle models are defined and adhered to;  standards are in place for product and process;  measurements are employed to evaluate product and process quality;  components are reused;  validation and verification processes play a key role in quality  determination;  engineers have proper education, training, and certification.
  • 6.
  • 7. Quality factors are • Usability • Testability • Maintainability • Reliability
  • 8.  Project planning,  Requirements management  Development of formal specifications  Structured design with use of information hiding and encapsulation  Design and code reuse.  Inspections and reviews.  Product and process measures  Education and training of software professionals.  Development and application of CASE tools  Use of effective testing techniques.  Integration of testing activities into the entire life cycle.
  • 9.  Process, in the software engineering domain, is the set of methods, practices, standards, documents, activities, policies, and procedures that software engineers use to develop and maintain a software system and its associated artifacts, such as project and test plans, design documents, code, and manuals.
  • 10.
  • 11.  CMM (Capability Maturity Model)  SPICE  BOOTSTRAP  TMM(Testing Maturity Model)
  • 12.
  • 13.  Verification: "Are we building the product right?”  The software should conform to its specification.  Validation: "Are we building the right product?”  The software should do what the user really requires.
  • 14.
  • 15. Validation:  Validation is the process of evaluating a software system or component during, or at the end of, the development cycle in order to determine whether it satisfies specified requirements. Verification:  Verification is the process of evaluating a software system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
  • 16.  Testing is a group of procedures carried out to evaluate some aspect of a piece of software.  Testing is a process used for revealing defects in software, and for establishing that the software has attained a specified degree of quality with respect to selected attributes.
  • 17.  Debugging, or fault localization is the process of (1) locating the fault or defect, (2) repairing the code, and (3) retesting the code.
  • 18. Errors:  An error is a mistake, misconception, or misunderstanding on the part of a software developer. Faults (Defects) :  A fault (defect) is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. Failures:  A failure is the inability of a software system or component to perform its required functions within specified performance requirements.
  • 19.  A test case in a practical sense is a test-related item which contains the following information: 1. A set of test inputs. These are data items received from an external source by the code under test. The external source can be hardware, software, or human. 2. Execution conditions. These are conditions required for running the test, for example, a certain state of a database, or a configuration of a hardware device. 3. Expected outputs. These are the specified results to be produced by the code under test.
  • 20. Test or Test set  A test is a group of related test cases, or a group of related test cases and test procedures  Group of related tests that are associated with database and are usually run together is sometimes called as test suite. Test Oracle:  A test oracle is a document, or piece of software that allows testers to determine whether a test has been passed or failed. Test Bed:  A test bed is an environment that contains all the hardware and software needed to test a software component or a software system.
  • 21. Software Quality:  Quality relates to the degree to which a system, system component, or process meets specified requirements.  Quality relates to the degree to which a system, system component, or process meets customer or user needs, or expectations.
  • 22. Metric :  A metric is a quantitative measure of the degree to which a system, system component, or process possesses a given attribute.  Product metric :  software size  LOC  Process metric:  Costs  Time
  • 23. Quality metric :  A quality metric is a quantitative measurement of the degree to which an item possesses a given quality attribute. Quality Attributes : • Correctness • Reliability • Usability • Integrity • Portability • Maintainability • Interoperability
  • 24. Software Quality Assurance Group:  The software quality assurance (SQA) group is a team of people with the necessary training and skills to ensure that all necessary actions are taken during the development process so that the resulting software conforms to established technical requirements. Reviews :  A review is a group meeting whose purpose is to evaluate a software artifact or a set of software artifacts.
  • 25.  A principle can be defined as: 1. a general or fundamental, law, doctrine, or assumption; 2. a rule or code of conduct; 3. the laws or facts of nature underlying the working of an artificial device.
  • 26.  Principle 1. Testing is the process of exercising a software component using a selected set of test cases with the intent of (i) revealing defects, and (ii) evaluating quality.  Principle 2. When the test objective is to detect defects, then a good test case is one that has a high probability of revealing a yet undetected defect(s).  Principle 3. Test results should be inspected meticulously.
  • 27.  Principle 4. A test case must contain the expected output or result.  Principle 5. Test cases should be developed for both valid and invalid input conditions.  Principle 6. The probability of the existence of additional defects in a software component is proportional to the number of defects already detected in that component.
  • 28.  Principle 7. Testing should be carried out by a group that is independent of the development group.  Principle 8. Tests must be repeatable and reusable.  Principle 9. Testing should be planned.  Principle 10. Testing activities should be integrated into the software life cycle.
  • 29.  Principle 11. Testing is a creative and challenging task.
  • 30.  The tester’s job is  reveal defects  find weak points,  inconsistent behavior,  circumstances where the software does not work as expected. • cooperating with code developers. • work along with requirements engineers. • work with designers to plan for integration and unit test. • test managers will need to cooperate with project managers to develop reasonable test plans.
  • 31.
  • 32.  Defect hypotheses include,  design test cases;  design test procedures;  assemble test sets;  select the testing levels (unit, integration, etc.) appropriate for the tests;  evaluate the results of the tests.
  • 33.  A successful testing experiment will prove the hypothesis is true,  that is, the hypothesized defect was present. Then the software can be repaired (treated).  fault model:  A fault (defect) model is a link between the error made (e.g., a missing requirement, a misunderstood design element, a typographical error), and the fault/defect in the software.
  • 34. Defect Classes : • Requirement/Specification Defect Classes • Design Defect Classes • Coding Defect Classes • Testing Defect Classes
  • 35.
  • 36.
  • 37.  Pre condition  Post condition  Functional description  Interface description
  • 38.
  • 39.  Code defect  Data defect  Algorithmic and processing defect  External Interface defect
  • 40.
  • 41.  Control, logic, and sequence defects  Algorithmic and processing defects  Data Flow defects  Data Defects  External Hardware, Software Interface Defects  Code Documentation Defects
  • 42.  The cost of defects can be measured by the impact of the defects and when we find them. Earlier the defect is found lesser is the cost of defect.  But if the error is not caught in the specifications and is not found till the user acceptance then the cost to fix those errors or defects will be way too expensive.
  • 43.
  • 44.
  • 45. 1. The Stakeholder Axiom 2. The Test Basis 3. The Test Oracle Axiom 4. Fallibility 5. The Scope Management Axiom 6. The Coverage Axiom 7. The Delivery Axiom 8. The Environment Axiom 9. The Event Axiom 10. The Prioritization Axiom 11. The Execution Sequencing Axiom 12. The Design Axiom 13. The Repeat-Test Axiom 14. Good enough 15. Never finished. 16. Value.
  • 46.  Defect Prevention (DP) is a strategy applied to the software development life cycle that identifies root causes of defects and prevents them from recurring. It is the essence of Total Quality Management (TQM). DP, identified by the Software Engineering Institute as a level 5 Key Process Area (KPA) in the Capability Maturity Model (CMM), involves analyzing defects encountered in the past and specifying checkpoints and actions to prevent the occurrence of similar defects in the future. In general, DP activities are a mechanism for propagating the knowledge of lessons learned between projects.  Mature IT organizations have an established software process to carry out their responsibilities. This process is enhanced when DP methodologies are implemented to improve quality and productivity and reduce development costs. Figure 1 clearly depicts that identifying defects late in the game is costly.
  • 47. Software Defect Rate Of Discovery Versus Time
  • 48.
  • 49.
  • 50. TMM involves commitment and ability to perform activities and tasks related to improving testing capability encompasses the technical activities and tasks that, when applied, constitute quality testing practices defined as a cooperating, or supporting, view