SlideShare a Scribd company logo
1 of 17
UNIT 5
TEST CASE SELECTION AND ADEQUACY, TEST EXECUTION
OVERVIEW
The key problem in software testing is selecting and evaluating test cases
Ideally we should like an “adequate” test suite to be one that ensures correctness of the product. Unfortunately,
the goal is not attainable.
The difficulty of proving that some set of test cases is adequate in this sense is equivalent to the difficulty of
proving that the program is correct. In other words, we could have “adequate” testing in this sense only if we
could establish correctness without any testing at all.
So, in practice we settle for criteria that identify inadequacies in test suites.
If no test in the test suite executes a particular program statement, we might similarly conclude that the test
suite is inadequate to guard against faults in that statement
6/10/2017 1Abhimanyu Mishra(CSE)
6/10/2017 2Abhimanyu Mishra(CSE)
TEST SPECIFICATIONS AND CASES
•A Test Case Includes input, the expected output, pass/fail criteria and the environment in which the test is
being conducted. Here the term input means all the data that is required to make a test case.
•A Test Case specification is a requirement to be satisfied by one or more test cases.
•Specification-based testing uses the specification of the program as the point of reference for test input
data selection and adequacy.
•A test specification can be drawn from system, interface or program.
•The distinction between a test case and test specification is similar to the distinction between program
specification and program.
•Software Test cases derived from specifications of interface and programs are generally termed as glass
box or white box testing.
6/10/2017 3Abhimanyu Mishra(CSE)
Test cases should uncover errors like:
•Comparison of different data types
•Incorrect logical operators are precedence
•Expectation of equality when precision error makes equality unlikely
•Incorrect comparison or variables
•Improper or non-existent loop termination.
•Failure to exit when divergent iteration is encountered
•Improperly modified loop variables.
A test specification drawn from system, program and module interface specification often describes program
inputs, but they can just as well specify any observable behavior that could appear in specifications.
6/10/2017 4Abhimanyu Mishra(CSE)
Testing Terms
Test case
A test case is a set of inputs, execution conditions, and a pass/fail criterion.
Test case specification
A test case specification is a requirement to be satisfied by one or more actual test cases.
Test obligation
6/10/2017 5Abhimanyu Mishra(CSE)
A test obligation is a partial test case specification, requiring some property deemed important to thorough testing.
We use the term obligation to distinguish the requirements imposed by a test adequacy criterion from more
complete test case specifications.
Test suite
A test suite is a set of test cases. Typically, a method for functional testing is concerned with creating a test suite. A
test suite for a program, system, or individual unit may be made up of several test suites for individual modules,
subsystems or features.
Test or test execution
We use the term test or test execution to refer to the activity of executing test cases and evaluating their results.
When we refer to “a test”, we mean execution of a single test case, except where context makes it clear that the
reference is to execution of a whole test suite
6/10/2017 6Abhimanyu Mishra(CSE)
Adequacy criterion
A test adequacy criterion is a predicate that is true (satisfied) or false (not satisfied) of a {program, test suite}
pair. Usually a test adequacy criterion is expressed in the form of a rule for deriving a set of test obligations
from another art effect, such as a program or specification. The adequacy criterion is then satisfied if every test
obligation is satisfied by at least one test case in the suite.
6/10/2017 7Abhimanyu Mishra(CSE)
ADEQUACY CRITERIA
•Adequacy criteria are the set of test obligations. We will use the term test obligation for test specifications
imposed by adequacy criteria, to distinguish them from test specifications that are actually used to derive test
cases.
•Where do test obligations come from?
Functional (black box, specification based): from software specifications.
Structural (white or glass box): from code.
Model based: from model of system.
Fault based: from hypothesized faults (common bugs).
•A test suite satisfies an adequacy criterion if
All the tests succeed (pass).
6/10/2017 8Abhimanyu Mishra(CSE)
Every test obligation in the criterion is satisfied by at least one of the test cases in the test suite. Example: A
statement coverage adequacy criterion is satisfied by a particular test suite for a program if each executable
statement in the program is executed by at least one test case in the test suite.
Satisfiability:
Sometimes no test suite can satisfy criteria for a given program.
Example: if the program contains statements that can never be executed, then no test suite can satisfy the statement
coverage criterion.
Coping with unsatisfiability:
Approach 1: Exclude any unsatisfiable obligation from the criterion.
Example: modify statement coverage to require execution only of statements that can be executed.
But we can’t know for sure which are executable.
Approach 2: Measure the extent to which a test suite approaches an adequacy criterion. Example: If a test suite
satisfies 85 of 100 obligations, we have reached 85% coverage.
A coverage measure is the fraction of satisfied obligations. o Coverage can be a useful indicator.
Of progress toward a thorough test suite
Coverage can also be a dangerous seduction
It is easy to improve coverage without improving a test suite.
The only measure that really matters is (cost) effectiveness
6/10/2017 9Abhimanyu Mishra(CSE)
COMPARING CRITERIA
Empirical approach: would be based on extensive studies of the effectiveness of different approaches to testing
in industrial practice, including controlled studies to determine whether the relative effectiveness of different
testing method, depends on the kind of software being tested, the kind of organization in which the software is
developed & tested, and a myriad of other potential confounding factors.
Analytical approach: answers to questions of relative effectiveness would describe conditions under which one
adequacy criterion is guaranteed to be more effective than another, or describe in statistical terms their relative
effectiveness
6/10/2017 10Abhimanyu Mishra(CSE)
Analytic comparisons of the strength of test coverage depend on a precise definition of what it means for one
criterion to be “stronger” or “more effective” than another.
A test suite Ta that does not include all the test cases of another test suite Tb may fail revealing the potential failure
exposed by the test cases that are in Tb but not in Ta.
Thus, if we consider only the guarantees that a test suite provides, the only way for one test suite Ta to be stronger
than another suite Tb is to include all test cases of Tb plus additional ones
6/10/2017 11Abhimanyu Mishra(CSE)
TEST EXECUTION – OVERVIEW
Test execution must be sufficiently automated for frequent re-execution without little human involvement
The purpose of run-time support for testing is to enable frequent hands-free re-execution of a test suite.
A large suite of test data may be generated automatically from a more compact and abstract set of test case
specification.
6/10/2017 12Abhimanyu Mishra(CSE)
FROM TEST CASE SPECIFICATION TO TEST CASES
•Test design often yields test case specifications, rather than concrete data.
•Example 1: “A large positive number”, not 420023
•Example 2: “a sorted sequence, length>2”, not “alpha, beta, chi, omega”
•A rule of thumb is that, while test case design involves judgment and creativity, test case generation should be
a mechanical step.
•Automatic generation of concrete test cases from more abstract test case specifications reduce the impact of
small interface changes in the course of development.
•Corresponding changes to the test suite are still required with each program change, but changes to test case
specifications are likely to be smaller and more localized than changes to the concrete test cases.
Instantiating test cases that satisfy several constraints may be simple if the constraints are independent, but
becomes more difficult to automate when multiple constraints apply to the same item
6/10/2017 13Abhimanyu Mishra(CSE)
SCAFFOLDING
•Code developed to facilitate testing is called scaffolding, by analogy to the temporary structures erected around a
building during construction or maintenance.
•Scaffoldings may include
Test drivers (substituting for a main or calling population)
Test harness (substituting for parts of the deployment environment)
Stubs (substituting for functionally called or used by the software under test)
The purpose of scaffolding is to provide controllability to execute test cases and observability to judge the outcome
of test execution.
Sometimes scaffolding is required to simply make module executable, but even in incremental development with
immediate integration of each module, scaffolding for controllability and observability may be required because
the external interfaces of the system may not provide sufficient control to drive the module under test through test
cases, or sufficient observability of the effect
6/10/2017 14Abhimanyu Mishra(CSE)
GENERIC VERSUS SPECIFIC SCAFFOLDING
How general should scaffolding be? To answer
•We could build a driver and stubs for each test case or at least factor out some common code of the driver and test
management
•... or further factor out some common support code, to drive a large number of test cases from data... or further,
generate the data automatically from a more abstract model (e.g., network traffic model)
•Fully generic scaffolding may suffice for small numbers of hand-written test cases
•The simplest form of scaffolding is a driver program that runs a single, specific test case.
•It is worthwhile to write more generic test drivers that essentially interpret test case specifications.
•A large suite of automatically generated test cases and a smaller set of handwritten test cases can share the same
underlying generic test scaffolding
•Scaffolding to replace portions of the system is somewhat more demanding and again both generic and
application-specific approaches are possible
•A simplest stub – mock – can be generated automatically by analysis of the source code
•The balance of quality, scope and cost for a substantial piece of scaffolding software can be used in several
projects
6/10/2017 15Abhimanyu Mishra(CSE)
6/10/2017 16Abhimanyu Mishra(CSE)
With a comparison based oracle , we need predicted output for each input
Oracle compares actual to predicted output, and reports failure if they differ.
It is best suited for small number of hand generated test cases example: for handwritten
J unit test cases.
They are used mainly for small, simple test cases
Expected outputs can also be produced for complex test cases and large test suites
Capture-replay testing, a special case in which the predicted output or behavior is preserved
from an earlier execution
Often possible to judge output or behavior without predicting it
6/10/2017 17Abhimanyu Mishra(CSE)

More Related Content

What's hot

Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
 

What's hot (20)

Linux booting Process
Linux booting ProcessLinux booting Process
Linux booting Process
 
Virtual machines and their architecture
Virtual machines and their architectureVirtual machines and their architecture
Virtual machines and their architecture
 
Memory virtualization
Memory virtualizationMemory virtualization
Memory virtualization
 
Context diagram
Context diagramContext diagram
Context diagram
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
File sharing
File sharingFile sharing
File sharing
 
Performance Evaluation of Virtualization Technologies for Server
Performance Evaluation of Virtualization Technologies for ServerPerformance Evaluation of Virtualization Technologies for Server
Performance Evaluation of Virtualization Technologies for Server
 
CS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling TechnologiesCS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling Technologies
 
Memory management
Memory managementMemory management
Memory management
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Operating System Operations ppt.pptx
Operating System Operations ppt.pptxOperating System Operations ppt.pptx
Operating System Operations ppt.pptx
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
 
Swap-space Management
Swap-space ManagementSwap-space Management
Swap-space Management
 
File system structure
File system structureFile system structure
File system structure
 
Iterative Waterfall model
Iterative Waterfall modelIterative Waterfall model
Iterative Waterfall model
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
Process of operating system
Process of operating systemProcess of operating system
Process of operating system
 
Scheduling Definition, objectives and types
Scheduling Definition, objectives and types Scheduling Definition, objectives and types
Scheduling Definition, objectives and types
 

Similar to Sta unit 5(abimanyu)

TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
Shradha Singh
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
HCL Technologies
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
Shradha Singh
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
wekineheshete
 
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
CHAPTER 15Security Quality Assurance TestingIn this chapter yoCHAPTER 15Security Quality Assurance TestingIn this chapter yo
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
JinElias52
 

Similar to Sta unit 5(abimanyu) (20)

software testing
software testingsoftware testing
software testing
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
 
Testing throughout the software life cycle (test types)
Testing throughout the software life cycle (test types)Testing throughout the software life cycle (test types)
Testing throughout the software life cycle (test types)
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
 
Testing
TestingTesting
Testing
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definition
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
 
object oriented system analysis and design
object oriented system analysis and designobject oriented system analysis and design
object oriented system analysis and design
 
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
CHAPTER 15Security Quality Assurance TestingIn this chapter yoCHAPTER 15Security Quality Assurance TestingIn this chapter yo
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
 
Effective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to HexawiseEffective Test Cases & Introduction to Hexawise
Effective Test Cases & Introduction to Hexawise
 
Unit2 for st
Unit2 for stUnit2 for st
Unit2 for st
 
Test design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniquesTest design techniques: Structured and Experienced-based techniques
Test design techniques: Structured and Experienced-based techniques
 

More from Abhimanyu Mishra

More from Abhimanyu Mishra (20)

Cd unit i
Cd unit iCd unit i
Cd unit i
 
Presentation1(JIT gnomio)
Presentation1(JIT gnomio)Presentation1(JIT gnomio)
Presentation1(JIT gnomio)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 4(abimanyu)
Sta unit 4(abimanyu)Sta unit 4(abimanyu)
Sta unit 4(abimanyu)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 2(abimanyu)
Sta unit 2(abimanyu)Sta unit 2(abimanyu)
Sta unit 2(abimanyu)
 
Unit1
Unit1Unit1
Unit1
 
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
 
Daa unit 4
Daa unit 4Daa unit 4
Daa unit 4
 
Daa unit 3
Daa unit 3Daa unit 3
Daa unit 3
 
Daa unit 2
Daa unit 2Daa unit 2
Daa unit 2
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Software Engineering unit 3
Software Engineering unit 3Software Engineering unit 3
Software Engineering unit 3
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
 

Recently uploaded

DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 

Recently uploaded (20)

Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...Basic Electronics for diploma students as per technical education Kerala Syll...
Basic Electronics for diploma students as per technical education Kerala Syll...
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 

Sta unit 5(abimanyu)

  • 1. UNIT 5 TEST CASE SELECTION AND ADEQUACY, TEST EXECUTION OVERVIEW The key problem in software testing is selecting and evaluating test cases Ideally we should like an “adequate” test suite to be one that ensures correctness of the product. Unfortunately, the goal is not attainable. The difficulty of proving that some set of test cases is adequate in this sense is equivalent to the difficulty of proving that the program is correct. In other words, we could have “adequate” testing in this sense only if we could establish correctness without any testing at all. So, in practice we settle for criteria that identify inadequacies in test suites. If no test in the test suite executes a particular program statement, we might similarly conclude that the test suite is inadequate to guard against faults in that statement 6/10/2017 1Abhimanyu Mishra(CSE)
  • 2. 6/10/2017 2Abhimanyu Mishra(CSE) TEST SPECIFICATIONS AND CASES •A Test Case Includes input, the expected output, pass/fail criteria and the environment in which the test is being conducted. Here the term input means all the data that is required to make a test case. •A Test Case specification is a requirement to be satisfied by one or more test cases. •Specification-based testing uses the specification of the program as the point of reference for test input data selection and adequacy. •A test specification can be drawn from system, interface or program. •The distinction between a test case and test specification is similar to the distinction between program specification and program. •Software Test cases derived from specifications of interface and programs are generally termed as glass box or white box testing.
  • 3. 6/10/2017 3Abhimanyu Mishra(CSE) Test cases should uncover errors like: •Comparison of different data types •Incorrect logical operators are precedence •Expectation of equality when precision error makes equality unlikely •Incorrect comparison or variables •Improper or non-existent loop termination. •Failure to exit when divergent iteration is encountered •Improperly modified loop variables. A test specification drawn from system, program and module interface specification often describes program inputs, but they can just as well specify any observable behavior that could appear in specifications.
  • 4. 6/10/2017 4Abhimanyu Mishra(CSE) Testing Terms Test case A test case is a set of inputs, execution conditions, and a pass/fail criterion. Test case specification A test case specification is a requirement to be satisfied by one or more actual test cases. Test obligation
  • 5. 6/10/2017 5Abhimanyu Mishra(CSE) A test obligation is a partial test case specification, requiring some property deemed important to thorough testing. We use the term obligation to distinguish the requirements imposed by a test adequacy criterion from more complete test case specifications. Test suite A test suite is a set of test cases. Typically, a method for functional testing is concerned with creating a test suite. A test suite for a program, system, or individual unit may be made up of several test suites for individual modules, subsystems or features. Test or test execution We use the term test or test execution to refer to the activity of executing test cases and evaluating their results. When we refer to “a test”, we mean execution of a single test case, except where context makes it clear that the reference is to execution of a whole test suite
  • 6. 6/10/2017 6Abhimanyu Mishra(CSE) Adequacy criterion A test adequacy criterion is a predicate that is true (satisfied) or false (not satisfied) of a {program, test suite} pair. Usually a test adequacy criterion is expressed in the form of a rule for deriving a set of test obligations from another art effect, such as a program or specification. The adequacy criterion is then satisfied if every test obligation is satisfied by at least one test case in the suite.
  • 7. 6/10/2017 7Abhimanyu Mishra(CSE) ADEQUACY CRITERIA •Adequacy criteria are the set of test obligations. We will use the term test obligation for test specifications imposed by adequacy criteria, to distinguish them from test specifications that are actually used to derive test cases. •Where do test obligations come from? Functional (black box, specification based): from software specifications. Structural (white or glass box): from code. Model based: from model of system. Fault based: from hypothesized faults (common bugs). •A test suite satisfies an adequacy criterion if All the tests succeed (pass).
  • 8. 6/10/2017 8Abhimanyu Mishra(CSE) Every test obligation in the criterion is satisfied by at least one of the test cases in the test suite. Example: A statement coverage adequacy criterion is satisfied by a particular test suite for a program if each executable statement in the program is executed by at least one test case in the test suite. Satisfiability: Sometimes no test suite can satisfy criteria for a given program. Example: if the program contains statements that can never be executed, then no test suite can satisfy the statement coverage criterion. Coping with unsatisfiability: Approach 1: Exclude any unsatisfiable obligation from the criterion. Example: modify statement coverage to require execution only of statements that can be executed. But we can’t know for sure which are executable. Approach 2: Measure the extent to which a test suite approaches an adequacy criterion. Example: If a test suite satisfies 85 of 100 obligations, we have reached 85% coverage. A coverage measure is the fraction of satisfied obligations. o Coverage can be a useful indicator. Of progress toward a thorough test suite Coverage can also be a dangerous seduction It is easy to improve coverage without improving a test suite. The only measure that really matters is (cost) effectiveness
  • 9. 6/10/2017 9Abhimanyu Mishra(CSE) COMPARING CRITERIA Empirical approach: would be based on extensive studies of the effectiveness of different approaches to testing in industrial practice, including controlled studies to determine whether the relative effectiveness of different testing method, depends on the kind of software being tested, the kind of organization in which the software is developed & tested, and a myriad of other potential confounding factors. Analytical approach: answers to questions of relative effectiveness would describe conditions under which one adequacy criterion is guaranteed to be more effective than another, or describe in statistical terms their relative effectiveness
  • 10. 6/10/2017 10Abhimanyu Mishra(CSE) Analytic comparisons of the strength of test coverage depend on a precise definition of what it means for one criterion to be “stronger” or “more effective” than another. A test suite Ta that does not include all the test cases of another test suite Tb may fail revealing the potential failure exposed by the test cases that are in Tb but not in Ta. Thus, if we consider only the guarantees that a test suite provides, the only way for one test suite Ta to be stronger than another suite Tb is to include all test cases of Tb plus additional ones
  • 11. 6/10/2017 11Abhimanyu Mishra(CSE) TEST EXECUTION – OVERVIEW Test execution must be sufficiently automated for frequent re-execution without little human involvement The purpose of run-time support for testing is to enable frequent hands-free re-execution of a test suite. A large suite of test data may be generated automatically from a more compact and abstract set of test case specification.
  • 12. 6/10/2017 12Abhimanyu Mishra(CSE) FROM TEST CASE SPECIFICATION TO TEST CASES •Test design often yields test case specifications, rather than concrete data. •Example 1: “A large positive number”, not 420023 •Example 2: “a sorted sequence, length>2”, not “alpha, beta, chi, omega” •A rule of thumb is that, while test case design involves judgment and creativity, test case generation should be a mechanical step. •Automatic generation of concrete test cases from more abstract test case specifications reduce the impact of small interface changes in the course of development. •Corresponding changes to the test suite are still required with each program change, but changes to test case specifications are likely to be smaller and more localized than changes to the concrete test cases. Instantiating test cases that satisfy several constraints may be simple if the constraints are independent, but becomes more difficult to automate when multiple constraints apply to the same item
  • 13. 6/10/2017 13Abhimanyu Mishra(CSE) SCAFFOLDING •Code developed to facilitate testing is called scaffolding, by analogy to the temporary structures erected around a building during construction or maintenance. •Scaffoldings may include Test drivers (substituting for a main or calling population) Test harness (substituting for parts of the deployment environment) Stubs (substituting for functionally called or used by the software under test) The purpose of scaffolding is to provide controllability to execute test cases and observability to judge the outcome of test execution. Sometimes scaffolding is required to simply make module executable, but even in incremental development with immediate integration of each module, scaffolding for controllability and observability may be required because the external interfaces of the system may not provide sufficient control to drive the module under test through test cases, or sufficient observability of the effect
  • 14. 6/10/2017 14Abhimanyu Mishra(CSE) GENERIC VERSUS SPECIFIC SCAFFOLDING How general should scaffolding be? To answer •We could build a driver and stubs for each test case or at least factor out some common code of the driver and test management •... or further factor out some common support code, to drive a large number of test cases from data... or further, generate the data automatically from a more abstract model (e.g., network traffic model) •Fully generic scaffolding may suffice for small numbers of hand-written test cases •The simplest form of scaffolding is a driver program that runs a single, specific test case. •It is worthwhile to write more generic test drivers that essentially interpret test case specifications. •A large suite of automatically generated test cases and a smaller set of handwritten test cases can share the same underlying generic test scaffolding •Scaffolding to replace portions of the system is somewhat more demanding and again both generic and application-specific approaches are possible •A simplest stub – mock – can be generated automatically by analysis of the source code •The balance of quality, scope and cost for a substantial piece of scaffolding software can be used in several projects
  • 16. 6/10/2017 16Abhimanyu Mishra(CSE) With a comparison based oracle , we need predicted output for each input Oracle compares actual to predicted output, and reports failure if they differ. It is best suited for small number of hand generated test cases example: for handwritten J unit test cases. They are used mainly for small, simple test cases Expected outputs can also be produced for complex test cases and large test suites Capture-replay testing, a special case in which the predicted output or behavior is preserved from an earlier execution Often possible to judge output or behavior without predicting it