SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Quality Assurance /
Software Testing Training
Test Case Design and Technique
Page 2Classification: Restricted
Agenda
• Test Case Design and Techniques
• Black-box: Three major approaches
• Steps for drawing cause-Effect Diagram:
• Behavior Testing
• Random Testing
• White Box Techniques
• Path Testing
• Statement Coverage
• Data Flow Testing
Page 3Classification: Restricted
Test Case Design and Techniques
Test case is defined as
• A set of test inputs, execution conditions and expected results,
developed for a particular objective.
• Documentation specifying inputs, predicted results and a set of
execution conditions for a test item.
• Specific inputs that will be tried and the procedures that will be
followed when the software tested.
• Sequence of one or more subtests executed as a sequence as the
outcome and/or final state of one subtests is the input and/or initial
state of the next.
• Specifies the pretest state of the AUT and its environment, the test
inputs or conditions.
• The expected result specifies what the AUT should produce from the
test inputs.
Page 4Classification: Restricted
Test Cases
• Test case name
• Test case id
• Objective
• Steps
• Expected result
• Actual result
• Pass/fail
• Comments
Page 5Classification: Restricted
Good Test Cases
Find Defects
• Have high probability of finding a new defect.
• Unambiguous tangible result that can be inspected.
• Repeatable and predictable
• Traceable to requirements or design documents
• Push systems to its limits
• Execution and tracking can be automated
• Do not mislead
• Feasible
Page 6Classification: Restricted
Test Case Design Technique
Black-box testing (or functional testing):
• Equivalence partitioning
• Boundary value analysis
• Cause-effect graphing
• Behavioural testing
• Random testing
Page 7Classification: Restricted
Black-box: Three major approaches
• Analysis of the input/output domain of the program:
Leads to a logical partitioning of the input/output domain into
‘interesting’ subsets
• Analysis of the observable black-box behavior:
Leads to a flow-graph-like model, which enables application of
techniques from the white-box world (on the black-box model)
• Techniques like risk analysis, random input, stress testing
Page 8Classification: Restricted
Black-box : Equivalence Partitioning
Equivalence Partitioning also called as equivalence class partitioning. It is
abbreviated as ECP. It is a software testing technique that divides the input
test data of the application under test into each partition at least once of
equivalent data from which test cases can be derived.
An advantage of this approach is it reduces the time required for performing
testing of a software due to less number of test cases.
Example:
The Below example best describes the equivalence class Partitioning:
Assume that the application accepts an integer in the range 100 to 999
Valid Equivalence Class partition: 100 to 999 inclusive. Non-valid
Equivalence Class partitions: less than 100, more than 999, decimal
Page 9Classification: Restricted
Boundary value analysis
Boundary value analysis is a type of black box or specification based testing
technique in which tests are performed using the boundary values.
Example:
An exam has a pass boundary at 50 percent, merit at 75 percent and
distinction at 85 percent. The Valid Boundary values for this scenario will be
as follows:
49, 50 - for pass
74, 75 - for merit
84, 85 - for distinction
Boundary values are validated against both the valid boundaries and invalid
boundaries.
The Invalid Boundary Cases for the above example can be given as follows:
0 - for lower limit boundary value
101 - for upper limit boundary value
Page 10Classification: Restricted
Cause Effect Graph
Cause Effect Graph is a black box testing technique that graphically illustrates
the relationship between a given outcome and all the factors that influence
the outcome.
It is also known as Ishikawa diagram as it was invented by Kaoru Ishikawa or
fish bone diagram because of the way it looks.
Circumstances - under which Cause-Effect Diagram used
• To Identify the possible root causes, the reasons for a specific effect,
problem, or outcome.
• To Relate the interactions of the system among the factors affecting a
particular process or effect.
• To Analyze the existing problems so that corrective action can be taken
at the earliest.
Page 11Classification: Restricted
Benefits:
• It Helps us to determine the root causes of a problem or quality using a
structured approach.
• It Uses an orderly, easy-to-read format to diagram cause-and-effect
relationships.
• It Indicates possible causes of variation in a process.
• It Identifies areas, where data should be collected for further study.
• It Encourages team participation and utilizes the team knowledge of the
process.
• It Increases knowledge of the process by helping everyone to learn
more about the factors at work and how they relate.
Page 12Classification: Restricted
Steps for drawing cause-Effect Diagram:
Step 1 : Identify and Define the Effect
Step 2 : Fill in the Effect Box and Draw the Spine
Step 3: Identify the main causes contributing to the effect being studied
Step 4 : For each major branch, identify other specific factors which
may be the causes of the EFFECT.
Step 5 : Categorize relative causes and provide detailed levels of causes.
Page 13Classification: Restricted
Behavior Testing
Behavioral Testing is a testing of the external behavior of the program, also
known as black box testing. It is usually a functional testing.
Page 14Classification: Restricted
Random Testing
What is Random Testing?
Random Testing, also known as monkey testing, is a form of functional
black box testing that is performed when there is not enough time to
write and execute the tests.
Random Testing Characteristics:
• Random testing is performed where the defects are NOT identified in regular
intervals.
• Random input is used to test the system's reliability and performance.
• Saves time and effort than actual test efforts.
• Other Testing methods Cannot be used to.
Random Testing Steps:
• Random Inputs are identified to be evaluated against the system.
• Test Inputs are selected independently from test domain.
• Tests are Executed using those random inputs.
• Record the results and compare against the expected outcomes.
• Reproduce/Replicate the issue and raise defects, fix and retest.
Page 15Classification: Restricted
White Box Techniques
White Box Techniques
• Path Testing
• Statement Coverage
• Data Flow
• Syntax Testing
Page 16Classification: Restricted
Path Testing
What is Path Testing?
Path Testing is a structural testing method based on the source code or
algorithm and NOT based on the specifications. It can be applied at different
levels of granularity.
Path Testing Assumptions:
• The Specifications are Accurate
• The Data is defined and accessed properly
• There are no defects that exist in the system other than those that affect
control flow
Path Testing Techniques:
• Control Flow Graph (CFG) - The Program is converted into Flow graphs by
representing the code into nodes, regions and edges.
• Decision to Decision path (D-D) - The CFG can be broken into various Decision
to Decision paths and then collapsed into individual nodes.
• Independent (basis) paths - Independent path is a path through a DD-path
graph which cannot be reproduced from other paths by other methods.
Page 17Classification: Restricted
Statement Coverage
Statement coverage is a white box testing technique, which involves the
execution of all the statements at least once in the source code. It is a metric,
which is used to calculate and measure the number of statements in the
source code which have been executed.
Using this technique we can check what the source code is expected to do
and what It should not. It can also be used to check the quality of the code
and the flow of different paths in the program.
The main drawback of this technique is that we cannot test the false
condition in it
Page 18Classification: Restricted
(Statement coverage = No of statements Executed/Total no of statements in the source code *
100)
Example:
Read A
Read B
if A>B
Print “A is greater than B”
else
Print "B is greater than A"
endif
Set1 :If A =5, B =2
No of statements Executed: 5
Total no of statements in the source code: 7
Statement coverage =5/7*100 = 71.00 %
Set1 :If A =2, B =5
No of statements Executed: 6
Total no of statements in the source code: 7
Statement coverage =6/7*100 = 85.20 %
This is purely a white box testing method. It tests the software’s internal coding and
infrastructure and so the programmer is the one who should take the initiative to do this.
This technique is very suitable for programmers.
Page 19Classification: Restricted
Data Flow Testing
What is Data Flow Testing?
Data flow testing is a family of test strategies based on selecting paths
through the program's control flow in order to explore sequences of
events related to the status of variables or data objects. Dataflow
Testing focuses on the points at which variables receive values and the
points at which these values are used.
Advantages of Data Flow Testing:
• Data Flow testing helps us to pinpoint any of the following issues:
• A variable that is declared but never used within the program.
• A variable that is used but never declared.
• A variable that is defined multiple times before it is used.
• Deallocating a variable before it is used.
Page 20Classification: Restricted
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Test design techniques
Test design techniquesTest design techniques
Test design techniques
Oksana
 

Was ist angesagt? (11)

Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Fundamental Test Design Techniques
Fundamental Test Design TechniquesFundamental Test Design Techniques
Fundamental Test Design Techniques
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
 
Black box testing methods for software components
Black box testing methods for software componentsBlack box testing methods for software components
Black box testing methods for software components
 
Blackbox
BlackboxBlackbox
Blackbox
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Black boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponentsBlack boxtestingmethodsforsoftwarecomponents
Black boxtestingmethodsforsoftwarecomponents
 
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...Design Test Case Technique (Equivalence partitioning And Boundary value analy...
Design Test Case Technique (Equivalence partitioning And Boundary value analy...
 
test
testtest
test
 

Ähnlich wie Test Case Design and Technique

software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
jeyasrig
 

Ähnlich wie Test Case Design and Technique (20)

Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
SE UNIT 5 part 2 (1).pptx
SE UNIT 5 part 2 (1).pptxSE UNIT 5 part 2 (1).pptx
SE UNIT 5 part 2 (1).pptx
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Testing
TestingTesting
Testing
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Block 1 ms-034 unit-1
Block 1 ms-034 unit-1Block 1 ms-034 unit-1
Block 1 ms-034 unit-1
 
Paper 06
Paper 06Paper 06
Paper 06
 
Session 08 - Test Case Design and Technique
Session 08 - Test Case Design and TechniqueSession 08 - Test Case Design and Technique
Session 08 - Test Case Design and Technique
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test2
test2test2
test2
 
domenica3
domenica3domenica3
domenica3
 
provoora
provooraprovoora
provoora
 
remoto2
remoto2remoto2
remoto2
 
provacompleta2
provacompleta2provacompleta2
provacompleta2
 
finalelocale2
finalelocale2finalelocale2
finalelocale2
 
domenica2
domenica2domenica2
domenica2
 

Mehr von Fayis-QA

Mehr von Fayis-QA (16)

HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner
 
VBScript in Software Testing
VBScript in Software TestingVBScript in Software Testing
VBScript in Software Testing
 
Selenium WebDriver with Java
Selenium WebDriver with JavaSelenium WebDriver with Java
Selenium WebDriver with Java
 
Core Java Basics
Core Java BasicsCore Java Basics
Core Java Basics
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
HP ALM QC
HP ALM QCHP ALM QC
HP ALM QC
 
Defect Life Cycle
Defect Life CycleDefect Life Cycle
Defect Life Cycle
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Quality Standard
Quality StandardQuality Standard
Quality Standard
 
Agile in QA
Agile in QAAgile in QA
Agile in QA
 
SDLC
SDLCSDLC
SDLC
 
Introduction to Software Testing Part- 2
Introduction to Software Testing Part- 2Introduction to Software Testing Part- 2
Introduction to Software Testing Part- 2
 
Test Strategies and Planning
Test Strategies and PlanningTest Strategies and Planning
Test Strategies and Planning
 
Agile
Agile Agile
Agile
 
Test Management
Test ManagementTest Management
Test Management
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Test Case Design and Technique

  • 1. Quality Assurance / Software Testing Training Test Case Design and Technique
  • 2. Page 2Classification: Restricted Agenda • Test Case Design and Techniques • Black-box: Three major approaches • Steps for drawing cause-Effect Diagram: • Behavior Testing • Random Testing • White Box Techniques • Path Testing • Statement Coverage • Data Flow Testing
  • 3. Page 3Classification: Restricted Test Case Design and Techniques Test case is defined as • A set of test inputs, execution conditions and expected results, developed for a particular objective. • Documentation specifying inputs, predicted results and a set of execution conditions for a test item. • Specific inputs that will be tried and the procedures that will be followed when the software tested. • Sequence of one or more subtests executed as a sequence as the outcome and/or final state of one subtests is the input and/or initial state of the next. • Specifies the pretest state of the AUT and its environment, the test inputs or conditions. • The expected result specifies what the AUT should produce from the test inputs.
  • 4. Page 4Classification: Restricted Test Cases • Test case name • Test case id • Objective • Steps • Expected result • Actual result • Pass/fail • Comments
  • 5. Page 5Classification: Restricted Good Test Cases Find Defects • Have high probability of finding a new defect. • Unambiguous tangible result that can be inspected. • Repeatable and predictable • Traceable to requirements or design documents • Push systems to its limits • Execution and tracking can be automated • Do not mislead • Feasible
  • 6. Page 6Classification: Restricted Test Case Design Technique Black-box testing (or functional testing): • Equivalence partitioning • Boundary value analysis • Cause-effect graphing • Behavioural testing • Random testing
  • 7. Page 7Classification: Restricted Black-box: Three major approaches • Analysis of the input/output domain of the program: Leads to a logical partitioning of the input/output domain into ‘interesting’ subsets • Analysis of the observable black-box behavior: Leads to a flow-graph-like model, which enables application of techniques from the white-box world (on the black-box model) • Techniques like risk analysis, random input, stress testing
  • 8. Page 8Classification: Restricted Black-box : Equivalence Partitioning Equivalence Partitioning also called as equivalence class partitioning. It is abbreviated as ECP. It is a software testing technique that divides the input test data of the application under test into each partition at least once of equivalent data from which test cases can be derived. An advantage of this approach is it reduces the time required for performing testing of a software due to less number of test cases. Example: The Below example best describes the equivalence class Partitioning: Assume that the application accepts an integer in the range 100 to 999 Valid Equivalence Class partition: 100 to 999 inclusive. Non-valid Equivalence Class partitions: less than 100, more than 999, decimal
  • 9. Page 9Classification: Restricted Boundary value analysis Boundary value analysis is a type of black box or specification based testing technique in which tests are performed using the boundary values. Example: An exam has a pass boundary at 50 percent, merit at 75 percent and distinction at 85 percent. The Valid Boundary values for this scenario will be as follows: 49, 50 - for pass 74, 75 - for merit 84, 85 - for distinction Boundary values are validated against both the valid boundaries and invalid boundaries. The Invalid Boundary Cases for the above example can be given as follows: 0 - for lower limit boundary value 101 - for upper limit boundary value
  • 10. Page 10Classification: Restricted Cause Effect Graph Cause Effect Graph is a black box testing technique that graphically illustrates the relationship between a given outcome and all the factors that influence the outcome. It is also known as Ishikawa diagram as it was invented by Kaoru Ishikawa or fish bone diagram because of the way it looks. Circumstances - under which Cause-Effect Diagram used • To Identify the possible root causes, the reasons for a specific effect, problem, or outcome. • To Relate the interactions of the system among the factors affecting a particular process or effect. • To Analyze the existing problems so that corrective action can be taken at the earliest.
  • 11. Page 11Classification: Restricted Benefits: • It Helps us to determine the root causes of a problem or quality using a structured approach. • It Uses an orderly, easy-to-read format to diagram cause-and-effect relationships. • It Indicates possible causes of variation in a process. • It Identifies areas, where data should be collected for further study. • It Encourages team participation and utilizes the team knowledge of the process. • It Increases knowledge of the process by helping everyone to learn more about the factors at work and how they relate.
  • 12. Page 12Classification: Restricted Steps for drawing cause-Effect Diagram: Step 1 : Identify and Define the Effect Step 2 : Fill in the Effect Box and Draw the Spine Step 3: Identify the main causes contributing to the effect being studied Step 4 : For each major branch, identify other specific factors which may be the causes of the EFFECT. Step 5 : Categorize relative causes and provide detailed levels of causes.
  • 13. Page 13Classification: Restricted Behavior Testing Behavioral Testing is a testing of the external behavior of the program, also known as black box testing. It is usually a functional testing.
  • 14. Page 14Classification: Restricted Random Testing What is Random Testing? Random Testing, also known as monkey testing, is a form of functional black box testing that is performed when there is not enough time to write and execute the tests. Random Testing Characteristics: • Random testing is performed where the defects are NOT identified in regular intervals. • Random input is used to test the system's reliability and performance. • Saves time and effort than actual test efforts. • Other Testing methods Cannot be used to. Random Testing Steps: • Random Inputs are identified to be evaluated against the system. • Test Inputs are selected independently from test domain. • Tests are Executed using those random inputs. • Record the results and compare against the expected outcomes. • Reproduce/Replicate the issue and raise defects, fix and retest.
  • 15. Page 15Classification: Restricted White Box Techniques White Box Techniques • Path Testing • Statement Coverage • Data Flow • Syntax Testing
  • 16. Page 16Classification: Restricted Path Testing What is Path Testing? Path Testing is a structural testing method based on the source code or algorithm and NOT based on the specifications. It can be applied at different levels of granularity. Path Testing Assumptions: • The Specifications are Accurate • The Data is defined and accessed properly • There are no defects that exist in the system other than those that affect control flow Path Testing Techniques: • Control Flow Graph (CFG) - The Program is converted into Flow graphs by representing the code into nodes, regions and edges. • Decision to Decision path (D-D) - The CFG can be broken into various Decision to Decision paths and then collapsed into individual nodes. • Independent (basis) paths - Independent path is a path through a DD-path graph which cannot be reproduced from other paths by other methods.
  • 17. Page 17Classification: Restricted Statement Coverage Statement coverage is a white box testing technique, which involves the execution of all the statements at least once in the source code. It is a metric, which is used to calculate and measure the number of statements in the source code which have been executed. Using this technique we can check what the source code is expected to do and what It should not. It can also be used to check the quality of the code and the flow of different paths in the program. The main drawback of this technique is that we cannot test the false condition in it
  • 18. Page 18Classification: Restricted (Statement coverage = No of statements Executed/Total no of statements in the source code * 100) Example: Read A Read B if A>B Print “A is greater than B” else Print "B is greater than A" endif Set1 :If A =5, B =2 No of statements Executed: 5 Total no of statements in the source code: 7 Statement coverage =5/7*100 = 71.00 % Set1 :If A =2, B =5 No of statements Executed: 6 Total no of statements in the source code: 7 Statement coverage =6/7*100 = 85.20 % This is purely a white box testing method. It tests the software’s internal coding and infrastructure and so the programmer is the one who should take the initiative to do this. This technique is very suitable for programmers.
  • 19. Page 19Classification: Restricted Data Flow Testing What is Data Flow Testing? Data flow testing is a family of test strategies based on selecting paths through the program's control flow in order to explore sequences of events related to the status of variables or data objects. Dataflow Testing focuses on the points at which variables receive values and the points at which these values are used. Advantages of Data Flow Testing: • Data Flow testing helps us to pinpoint any of the following issues: • A variable that is declared but never used within the program. • A variable that is used but never declared. • A variable that is defined multiple times before it is used. • Deallocating a variable before it is used.