SlideShare a Scribd company logo
1 of 17
SYSTEM TESTING
• System testing is actually a series of different
tests whose primary purpose is to fully
exercise the computer-based system.
• It verifies that system elements have been
properly integrated and perform allocated
functions.
1
1. Recovery system
Recovery testing is a system test that forces the
software to fail in a variety of ways and
verifies that recovery is properly performed. If
recovery is automatic (performed by the
system itself), re-initialization, check pointing
mechanisms, data recovery, and restart are
evaluated for correctness.
2
2. Security testing
Security testing attempts to verify that
protection mechanisms built into a system will,
in fact, protect it from improper penetration.
3. Stress testing
Stress testing executes a system in a manner
that demands resources in abnormal quantity,
frequency, or volume. A variation of stress
testing is a technique called sensitivity testing.
3
4. Performance testing
Performance tests are often coupled with stress
testing and usually require both hardware and
software instrumentation.
5. Deployment testing
Deployment testing, sometimes called configuration
testing, exercises the software in each environment
in which it is to operate. deployment testing
examines all installation procedures and specialized
installation software (e.g., “installers”) that will be
used by customers, and all documentation that will
be used to introduce the software to end users.
4
Debugging
Debugging occurs as a consequence of
successful testing. That is, when a test
case uncovers an error, debugging is the
process that results in the removal of the
error.
5
1. Debugging process
6
2. Debugging strategies
• Regardless of the approach that is taken,
debugging has one overriding objective— to
find and correct the cause of a software error
or defect.
• Three debugging strategies have been
proposed: (1) brute force, (2) backtracking,
and (3) cause elimination.
7
Debugging tactics.
• The brute force category of debugging is
probably the most common and least efficient
method for isolating the cause of a software
error. You apply brute force debugging
methods when all else fails.
• Backtracking is a fairly common debugging
approach that can be used successfully in
small programs.
• cause elimination—is manifested by induction
or deduction and introduces the concept of
binary partitioning.
8
3. Correcting the error
• Once a bug has been found, it must be
corrected.
• three simple questions that you should ask
before making the “correction” that removes
the cause of a bug:
– Is the cause of the bug reproduced in another part
of the program?
– What “next bug” might be introduced by the fix
I’m about to make?
– What could we have done to prevent this bug in
the first place?
9
SOFTWARE TESTING FUNDAMENTALS
Testability
• “Software testability is simply how easily [a
computer program] can be tested.” The following
characteristics lead to testable software:
– Operability
– Observability
– Controllability
– Decomposability
– Simplicity
– Stability
– Understandability
10
Test Characteristics
• A good test has a high probability of finding
an error.
• A good test is not redundant.
• A good test should be “best of breed”.
• A good test should be neither too simple nor
too complex.
11
WHITE-BOX TESTING
• White-box testing, sometimes called glass-box
testing, is a test-case design philosophy that uses
the control structure described as part of
component-level design to derive test cases. Using
white-box testing methods, you can derive test
cases that:
– (1) guarantee that all independent paths within a module
have been exercised at least once,
– (2) exercise all logical decisions on their true and false
sides,
– (3) execute all loops at their boundaries and within their
operational bounds, and
– (4) exercise internal data structures to ensure their
validity.
12
BASIS PATH TESTING
The basis path method enables the test-case
designer to derive a logical complexity
measure of a procedural design and use this
measure as a guide for defining a basis set of
execution paths.
13
•Flow Graph Notation
• Before we consider the basis path method, a
simple notation for the representation of
control flow, called a flow graph (or program
graph) must be introduced.
14
BLACK-BOX TESTING
• Black-box testing, also called behavioral
testing, focuses on the functional
requirements of the software.
• Black-box testing attempts to find errors in the
following categories: (1) incorrect or missing
functions, (2) interface errors, (3) errors in
data structures or external database access,
(4) behavior or performance errors, and (5)
initialization and termination errors.
15
OBJECT-ORIENTED TESTING STRATEGIES
• Unit Testing in the OO Context
• Integration Testing in the OO Context
• Validation Testing in an OO Context
16
OBJECT-ORIENTED TESTING METHODS
• The Test-Case Design Implications of OO
Concepts.
• Applicability of Conventional Test-Case Design
Methods.
• Fault-Based Testing
• Test Cases and the Class Hierarchy
• Scenario-Based Test Design
• Testing Surface Structure and Deep Structure
17

More Related Content

What's hot

ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7Yogindernath Gupta
 
Software engineering critical systems
Software engineering   critical systemsSoftware engineering   critical systems
Software engineering critical systemsDr. Loganathan R
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cyclefajarayuningrum
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleadeafsa
 
Fault detection consequence
Fault detection consequenceFault detection consequence
Fault detection consequenceMahbub Rashid
 
100 most popular software testing terms
100 most popular software testing terms100 most popular software testing terms
100 most popular software testing termsapurvaorama
 
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITY
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITYCYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITY
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITYViscolKanady
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleSelvy Ariska
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Basics of process fault detection and diagnostics
Basics of process fault detection and diagnosticsBasics of process fault detection and diagnostics
Basics of process fault detection and diagnosticsRahul Dey
 
'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker
'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker
'Automated Reliability Testing via Hardware Interfaces' by Bryan BakkerTEST Huddle
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testingToshi Patel
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on JmeterViviana Lesmes
 

What's hot (20)

SRE Tools
SRE ToolsSRE Tools
SRE Tools
 
T0 numtq0nje=
T0 numtq0nje=T0 numtq0nje=
T0 numtq0nje=
 
Debugging
DebuggingDebugging
Debugging
 
ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 7
 
Software engineering critical systems
Software engineering   critical systemsSoftware engineering   critical systems
Software engineering critical systems
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Flex Test
Flex TestFlex Test
Flex Test
 
Fault detection consequence
Fault detection consequenceFault detection consequence
Fault detection consequence
 
100 most popular software testing terms
100 most popular software testing terms100 most popular software testing terms
100 most popular software testing terms
 
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITY
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITYCYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITY
CYBERSECURITY PROCESSES & TECHNOLOGIES LAB #2: MANAGING HOST BASED SECURITY
 
Software engineering
Software  engineeringSoftware  engineering
Software engineering
 
testing
testingtesting
testing
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Basics of process fault detection and diagnostics
Basics of process fault detection and diagnosticsBasics of process fault detection and diagnostics
Basics of process fault detection and diagnostics
 
'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker
'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker
'Automated Reliability Testing via Hardware Interfaces' by Bryan Bakker
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testing
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on Jmeter
 

Similar to types of testing in software engineering

Similar to types of testing in software engineering (20)

Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Testing &ampdebugging
Testing &ampdebuggingTesting &ampdebugging
Testing &ampdebugging
 
Testing
Testing Testing
Testing
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Different Types Of Testing
Different Types Of TestingDifferent Types Of Testing
Different Types Of Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Plan
Testing PlanTesting Plan
Testing Plan
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technology
 
unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx document
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
 
softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfsoftwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdf
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
A COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTINGA COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTING
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
Software testing
Software testingSoftware testing
Software testing
 

More from preetikapri1

structures in C and Union in C, enumerated datatype
structures in C and Union in C, enumerated datatypestructures in C and Union in C, enumerated datatype
structures in C and Union in C, enumerated datatypepreetikapri1
 
bit wise operators and I/O operations in C
bit wise operators and I/O operations in Cbit wise operators and I/O operations in C
bit wise operators and I/O operations in Cpreetikapri1
 
consumer oriented applications
consumer oriented applicationsconsumer oriented applications
consumer oriented applicationspreetikapri1
 
architecture framework for ecommerce
architecture framework for ecommercearchitecture framework for ecommerce
architecture framework for ecommercepreetikapri1
 
impact of ecommerce on traditional means
impact of ecommerce on traditional means impact of ecommerce on traditional means
impact of ecommerce on traditional means preetikapri1
 
electronic data interchange
electronic data interchange electronic data interchange
electronic data interchange preetikapri1
 
consumer oriented applications
consumer oriented applicationsconsumer oriented applications
consumer oriented applicationspreetikapri1
 

More from preetikapri1 (20)

Forces
ForcesForces
Forces
 
software quality
software qualitysoftware quality
software quality
 
UML model
UML model UML model
UML model
 
Er diagrams
Er diagramsEr diagrams
Er diagrams
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 
structures in C and Union in C, enumerated datatype
structures in C and Union in C, enumerated datatypestructures in C and Union in C, enumerated datatype
structures in C and Union in C, enumerated datatype
 
bit wise operators and I/O operations in C
bit wise operators and I/O operations in Cbit wise operators and I/O operations in C
bit wise operators and I/O operations in C
 
Ms access
Ms access Ms access
Ms access
 
Functions
FunctionsFunctions
Functions
 
C programming
C programmingC programming
C programming
 
C preprocesor
C preprocesorC preprocesor
C preprocesor
 
Window object
Window objectWindow object
Window object
 
DTD elements
DTD elementsDTD elements
DTD elements
 
Html
HtmlHtml
Html
 
Css font
Css fontCss font
Css font
 
consumer oriented applications
consumer oriented applicationsconsumer oriented applications
consumer oriented applications
 
architecture framework for ecommerce
architecture framework for ecommercearchitecture framework for ecommerce
architecture framework for ecommerce
 
impact of ecommerce on traditional means
impact of ecommerce on traditional means impact of ecommerce on traditional means
impact of ecommerce on traditional means
 
electronic data interchange
electronic data interchange electronic data interchange
electronic data interchange
 
consumer oriented applications
consumer oriented applicationsconsumer oriented applications
consumer oriented applications
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

types of testing in software engineering

  • 1. SYSTEM TESTING • System testing is actually a series of different tests whose primary purpose is to fully exercise the computer-based system. • It verifies that system elements have been properly integrated and perform allocated functions. 1
  • 2. 1. Recovery system Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that recovery is properly performed. If recovery is automatic (performed by the system itself), re-initialization, check pointing mechanisms, data recovery, and restart are evaluated for correctness. 2
  • 3. 2. Security testing Security testing attempts to verify that protection mechanisms built into a system will, in fact, protect it from improper penetration. 3. Stress testing Stress testing executes a system in a manner that demands resources in abnormal quantity, frequency, or volume. A variation of stress testing is a technique called sensitivity testing. 3
  • 4. 4. Performance testing Performance tests are often coupled with stress testing and usually require both hardware and software instrumentation. 5. Deployment testing Deployment testing, sometimes called configuration testing, exercises the software in each environment in which it is to operate. deployment testing examines all installation procedures and specialized installation software (e.g., “installers”) that will be used by customers, and all documentation that will be used to introduce the software to end users. 4
  • 5. Debugging Debugging occurs as a consequence of successful testing. That is, when a test case uncovers an error, debugging is the process that results in the removal of the error. 5
  • 7. 2. Debugging strategies • Regardless of the approach that is taken, debugging has one overriding objective— to find and correct the cause of a software error or defect. • Three debugging strategies have been proposed: (1) brute force, (2) backtracking, and (3) cause elimination. 7
  • 8. Debugging tactics. • The brute force category of debugging is probably the most common and least efficient method for isolating the cause of a software error. You apply brute force debugging methods when all else fails. • Backtracking is a fairly common debugging approach that can be used successfully in small programs. • cause elimination—is manifested by induction or deduction and introduces the concept of binary partitioning. 8
  • 9. 3. Correcting the error • Once a bug has been found, it must be corrected. • three simple questions that you should ask before making the “correction” that removes the cause of a bug: – Is the cause of the bug reproduced in another part of the program? – What “next bug” might be introduced by the fix I’m about to make? – What could we have done to prevent this bug in the first place? 9
  • 10. SOFTWARE TESTING FUNDAMENTALS Testability • “Software testability is simply how easily [a computer program] can be tested.” The following characteristics lead to testable software: – Operability – Observability – Controllability – Decomposability – Simplicity – Stability – Understandability 10
  • 11. Test Characteristics • A good test has a high probability of finding an error. • A good test is not redundant. • A good test should be “best of breed”. • A good test should be neither too simple nor too complex. 11
  • 12. WHITE-BOX TESTING • White-box testing, sometimes called glass-box testing, is a test-case design philosophy that uses the control structure described as part of component-level design to derive test cases. Using white-box testing methods, you can derive test cases that: – (1) guarantee that all independent paths within a module have been exercised at least once, – (2) exercise all logical decisions on their true and false sides, – (3) execute all loops at their boundaries and within their operational bounds, and – (4) exercise internal data structures to ensure their validity. 12
  • 13. BASIS PATH TESTING The basis path method enables the test-case designer to derive a logical complexity measure of a procedural design and use this measure as a guide for defining a basis set of execution paths. 13
  • 14. •Flow Graph Notation • Before we consider the basis path method, a simple notation for the representation of control flow, called a flow graph (or program graph) must be introduced. 14
  • 15. BLACK-BOX TESTING • Black-box testing, also called behavioral testing, focuses on the functional requirements of the software. • Black-box testing attempts to find errors in the following categories: (1) incorrect or missing functions, (2) interface errors, (3) errors in data structures or external database access, (4) behavior or performance errors, and (5) initialization and termination errors. 15
  • 16. OBJECT-ORIENTED TESTING STRATEGIES • Unit Testing in the OO Context • Integration Testing in the OO Context • Validation Testing in an OO Context 16
  • 17. OBJECT-ORIENTED TESTING METHODS • The Test-Case Design Implications of OO Concepts. • Applicability of Conventional Test-Case Design Methods. • Fault-Based Testing • Test Cases and the Class Hierarchy • Scenario-Based Test Design • Testing Surface Structure and Deep Structure 17