SlideShare a Scribd company logo
1 of 22
Automated Test-
Data Generation
(ATDG)
Intro, Techniques, Advantages, Trends.Rana Qamar Ul Zaman
IUB1472113
BSCS 2014-18 Morning Faulty of Computer Sciences
The Islamia University of Bahawalpur
Bahawalnagar Campus
Outline
• Introduction to ATDG
• Basic Concepts Related to Software Testing
• Basic Concepts Related to ATDG
• ATDG Techniques
• Trends
• Class Discussion
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Automated Test Data Generation
Introduction
And
Basic Concepts
(Software Testing & ATDG)
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Introduction to ATDG
– Automated Test Data Generation, commonly
known as ATDG, is a technique to create
different test cases in an automated fashion,
apply them and then record and summarize
the collected data/result.
• What we need is 100% automated testing to reduce
overall cost of software development with high quality.
• It usually makes the testing more efficient and cost
effective.
“
”
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Basic Concepts (Software Testing)
– Software testing is the process of ensuring
right software product to achieve full
customer satisfaction.
• The following terms are mostly used for automated test data
generation research.
– Test data
– Test Case
– Test Oracle
– Test Suite
– Test Plan
”
“
− Coverage
− Path
− Branch Predicate
− Feasible Path
− Infeasible Path
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Basic Concepts (ATDG)
• Program Analyzer:
– It analyzes the source code automatically. Program
analyzer takes a piece of software as input and
produces necessary data to be used by path selector
and/or test data generator.
– Control flow graph
– Data flow graph
– Data dependence graph
– Program dependence graph
– Extended finite state machines
Are Used For Program Analyzing.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Basic Concepts (ATDG)
• Path Selector:
– The path selector identifies a set of paths to satisfy
selected testing criterion.
– A good path selector ensures high coverage of code.
– we are interested in basis set of paths
– A basis set of path should be linearly independent
covering all edges of CFG
– This phase is ignored in many recent test data
generation techniques.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Basic Concepts (ATDG)
• Test Data Generator:
– The Test data generator utilizes the information
generated by the program analyzer and /or path
selector.
– Once path information is obtained, aim of TDG is to
find input values that will traverse a specific path.
– This is achieved by finding the path predicate and
then solving it in terms of input variables.
• Alternating variable
• Simulated annealing
• And different heuristics based on equation-rewriting
can be applied
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Automated Test Data Generation
Automated Test Data
Generation Techniques
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Functional Testing Techniques
– These techniques are based on the functionality of the
software, where test cases are derived from the
program’s specification.
– Examples:
• equivalence partitioning
• boundary value analysis
• random testing
• functional analysis-based testing
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Structural Testing Techniques
– These techniques are based on the internal structure
of a program.
– where test cases are selected so that structural
components are covered.
– Examples:
• Statement testing
• Branch testing
• Path testing
• Predicate testing
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Random Approach
– In this technique, random inputs are generated until
any useful input is found.
– quick and simple but might be a poor choice
– The biggest issue for random approach is that of
adequate test data selection.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Path Oriented Approach
– In path-oriented test data generation the typical
approach is generation of a control-flow graph.
– Steps:
• CFG Generation
• Path Selection
• Test Data Generation for Selected Path
– The biggest issue for random approach is that of
adequate test data selection.
– Might face the problems like infeasible path problem
Step3 is done with the help of
techniques such as
Symbolic evaluation (for
static)/function minimization
otherwise.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Goal Oriented Approach
– In the goal-oriented approach test-data is selected
from the available pool of candidate test data to
execute the selected goal irrespective of the path
taken.
– Steps:
• Identification and Selection of Statements
• Input test data generation for every statement
‒ Faces issues of goal selection and selection of
adequate test data.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Intelligent Approach
– The intelligent test-data generation approach often
relies on sophisticated analysis of the code to guide
the search for new test data.
– Can be extended up to the intelligent analysis of
program specification.
– Quite limited in use for now.
– Its pros and cons cannot be stated with any certainty.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Static Methods
– The static methods do not require the software under
test to be executed.
– Can be extended up to the intelligent analysis of
program specification.
– Quite limited in use for now.
– Its pros and cons cannot be stated with any certainty.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Static Methods
– The static methods do not require the software under
test to be executed.
– They generally use symbolic execution of SUT.
– Executing a program symbolically means that instead
of using actual values, ‘variable substitution’ is used.
– Adapted for:
• the requirements documents
• design diagrams and
• the software source code
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Dynamic Methods
– Instead of using variable substitution, these methods
execute the SUT with some, possibly randomly
selected input.
– The system can determine whether the intended path
was taken or not.
– If the path is wrong, it backtracks until to node that is
root of error.
– Intended branch is taken by input manipulation.
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
ATDG Techniques
• Hybrid Methods
– A hybrid method is the mixture of static and dynamic
methods side-by-side or synthetic.
– Side-By-Side:
• solving some tasks by using static methods and some
by using the dynamic methods.
– Synthetic:
• the symbolic execution is used for a dynamic approach
Any Of The Given Types Could Be Used As ATDG
Technique
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
”
“
Automated Test Data Generation
Trends in
Automated Test Data
Generation
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
Trends in ATDG
By: Qamar Ul Zaman BSCS 14-18 IUB BWN
• Future Research Directions
• Development of efficient
construct solver.
• Test data generation for test
effectiveness and code
coverage Analysis.
• Testing object oriented
software using UML
modeling.
• Improvement of test data
generation for programming
constructs having dynamic
data structure.
• Test data generation for recursive
programs and
procedures/functions.
• GUI testing.
• Agile testing.
• Test data generation for programs
having variable length array and
loops with different dimensions.
• Improvement of scalability of test
data generation specially
networking softwares.
Automated Test Data Generation
Thank You !
Discussion Time…
By: Qamar Ul Zaman BSCS 14-18 IUB BWN

More Related Content

Similar to Automated Test Data Generation- Discussion, Advantages, Trends and Techniques

Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
Using PySpark to Scale Markov Decision Problems for Policy Exploration
Using PySpark to Scale Markov Decision Problems for Policy ExplorationUsing PySpark to Scale Markov Decision Problems for Policy Exploration
Using PySpark to Scale Markov Decision Problems for Policy ExplorationDatabricks
 
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfMinh Nguyen
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilitiesAllan D. Butler
 
Test Data Approach
Test Data ApproachTest Data Approach
Test Data Approachkzoe1996
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & TrendKMS Technology
 
Recuriter Recommendation System
Recuriter Recommendation SystemRecuriter Recommendation System
Recuriter Recommendation SystemIRJET Journal
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test EstimationTechWell
 
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & AnswersISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & AnswersMeghna Arora
 
How to find defects early and increase the reliability of software systems
How to find defects early and increase the reliability of software systemsHow to find defects early and increase the reliability of software systems
How to find defects early and increase the reliability of software systemsRAKESH RANA
 
Motor vehicle emission checker danu-lap
Motor vehicle emission checker danu-lapMotor vehicle emission checker danu-lap
Motor vehicle emission checker danu-lapaidsdatahub
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
How companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptxHow companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptxBakr Salim
 

Similar to Automated Test Data Generation- Discussion, Advantages, Trends and Techniques (20)

Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
2.2 Mesure Phase (1).pptx
2.2 Mesure Phase (1).pptx2.2 Mesure Phase (1).pptx
2.2 Mesure Phase (1).pptx
 
Using PySpark to Scale Markov Decision Problems for Policy Exploration
Using PySpark to Scale Markov Decision Problems for Policy ExplorationUsing PySpark to Scale Markov Decision Problems for Policy Exploration
Using PySpark to Scale Markov Decision Problems for Policy Exploration
 
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdfES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
ES2022-Minh-Nguyen-ShapingTestsIntoModelsForAutomatedTCGeneration.pdf
 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
 
Test Data Approach
Test Data ApproachTest Data Approach
Test Data Approach
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
 
Recuriter Recommendation System
Recuriter Recommendation SystemRecuriter Recommendation System
Recuriter Recommendation System
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test Estimation
 
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & AnswersISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
ISTQB Model-Based Tester (CT-MBT) Exam | Questions & Answers
 
How to find defects early and increase the reliability of software systems
How to find defects early and increase the reliability of software systemsHow to find defects early and increase the reliability of software systems
How to find defects early and increase the reliability of software systems
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
Motor vehicle emission checker danu-lap
Motor vehicle emission checker danu-lapMotor vehicle emission checker danu-lap
Motor vehicle emission checker danu-lap
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Test Techniques
Test TechniquesTest Techniques
Test Techniques
 
slides-sd
slides-sdslides-sd
slides-sd
 
How companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptxHow companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptx
 
PROJECT.ppt (6).pptx
PROJECT.ppt (6).pptxPROJECT.ppt (6).pptx
PROJECT.ppt (6).pptx
 

Recently uploaded

WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 

Recently uploaded (20)

Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 

Automated Test Data Generation- Discussion, Advantages, Trends and Techniques

  • 1. Automated Test- Data Generation (ATDG) Intro, Techniques, Advantages, Trends.Rana Qamar Ul Zaman IUB1472113 BSCS 2014-18 Morning Faulty of Computer Sciences The Islamia University of Bahawalpur Bahawalnagar Campus
  • 2. Outline • Introduction to ATDG • Basic Concepts Related to Software Testing • Basic Concepts Related to ATDG • ATDG Techniques • Trends • Class Discussion By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 3. Automated Test Data Generation Introduction And Basic Concepts (Software Testing & ATDG) By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 4. Introduction to ATDG – Automated Test Data Generation, commonly known as ATDG, is a technique to create different test cases in an automated fashion, apply them and then record and summarize the collected data/result. • What we need is 100% automated testing to reduce overall cost of software development with high quality. • It usually makes the testing more efficient and cost effective. “ ” By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 5. Basic Concepts (Software Testing) – Software testing is the process of ensuring right software product to achieve full customer satisfaction. • The following terms are mostly used for automated test data generation research. – Test data – Test Case – Test Oracle – Test Suite – Test Plan ” “ − Coverage − Path − Branch Predicate − Feasible Path − Infeasible Path By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 6. Basic Concepts (ATDG) • Program Analyzer: – It analyzes the source code automatically. Program analyzer takes a piece of software as input and produces necessary data to be used by path selector and/or test data generator. – Control flow graph – Data flow graph – Data dependence graph – Program dependence graph – Extended finite state machines Are Used For Program Analyzing. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 7. Basic Concepts (ATDG) • Path Selector: – The path selector identifies a set of paths to satisfy selected testing criterion. – A good path selector ensures high coverage of code. – we are interested in basis set of paths – A basis set of path should be linearly independent covering all edges of CFG – This phase is ignored in many recent test data generation techniques. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 8. Basic Concepts (ATDG) • Test Data Generator: – The Test data generator utilizes the information generated by the program analyzer and /or path selector. – Once path information is obtained, aim of TDG is to find input values that will traverse a specific path. – This is achieved by finding the path predicate and then solving it in terms of input variables. • Alternating variable • Simulated annealing • And different heuristics based on equation-rewriting can be applied By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 9. Automated Test Data Generation Automated Test Data Generation Techniques By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 10. ATDG Techniques • Functional Testing Techniques – These techniques are based on the functionality of the software, where test cases are derived from the program’s specification. – Examples: • equivalence partitioning • boundary value analysis • random testing • functional analysis-based testing By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 11. ATDG Techniques • Structural Testing Techniques – These techniques are based on the internal structure of a program. – where test cases are selected so that structural components are covered. – Examples: • Statement testing • Branch testing • Path testing • Predicate testing By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 12. ATDG Techniques • Random Approach – In this technique, random inputs are generated until any useful input is found. – quick and simple but might be a poor choice – The biggest issue for random approach is that of adequate test data selection. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 13. ATDG Techniques • Path Oriented Approach – In path-oriented test data generation the typical approach is generation of a control-flow graph. – Steps: • CFG Generation • Path Selection • Test Data Generation for Selected Path – The biggest issue for random approach is that of adequate test data selection. – Might face the problems like infeasible path problem Step3 is done with the help of techniques such as Symbolic evaluation (for static)/function minimization otherwise. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 14. ATDG Techniques • Goal Oriented Approach – In the goal-oriented approach test-data is selected from the available pool of candidate test data to execute the selected goal irrespective of the path taken. – Steps: • Identification and Selection of Statements • Input test data generation for every statement ‒ Faces issues of goal selection and selection of adequate test data. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 15. ATDG Techniques • Intelligent Approach – The intelligent test-data generation approach often relies on sophisticated analysis of the code to guide the search for new test data. – Can be extended up to the intelligent analysis of program specification. – Quite limited in use for now. – Its pros and cons cannot be stated with any certainty. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 16. ATDG Techniques • Static Methods – The static methods do not require the software under test to be executed. – Can be extended up to the intelligent analysis of program specification. – Quite limited in use for now. – Its pros and cons cannot be stated with any certainty. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 17. ATDG Techniques • Static Methods – The static methods do not require the software under test to be executed. – They generally use symbolic execution of SUT. – Executing a program symbolically means that instead of using actual values, ‘variable substitution’ is used. – Adapted for: • the requirements documents • design diagrams and • the software source code By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 18. ATDG Techniques • Dynamic Methods – Instead of using variable substitution, these methods execute the SUT with some, possibly randomly selected input. – The system can determine whether the intended path was taken or not. – If the path is wrong, it backtracks until to node that is root of error. – Intended branch is taken by input manipulation. By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 19. ATDG Techniques • Hybrid Methods – A hybrid method is the mixture of static and dynamic methods side-by-side or synthetic. – Side-By-Side: • solving some tasks by using static methods and some by using the dynamic methods. – Synthetic: • the symbolic execution is used for a dynamic approach Any Of The Given Types Could Be Used As ATDG Technique By: Qamar Ul Zaman BSCS 14-18 IUB BWN ” “
  • 20. Automated Test Data Generation Trends in Automated Test Data Generation By: Qamar Ul Zaman BSCS 14-18 IUB BWN
  • 21. Trends in ATDG By: Qamar Ul Zaman BSCS 14-18 IUB BWN • Future Research Directions • Development of efficient construct solver. • Test data generation for test effectiveness and code coverage Analysis. • Testing object oriented software using UML modeling. • Improvement of test data generation for programming constructs having dynamic data structure. • Test data generation for recursive programs and procedures/functions. • GUI testing. • Agile testing. • Test data generation for programs having variable length array and loops with different dimensions. • Improvement of scalability of test data generation specially networking softwares.
  • 22. Automated Test Data Generation Thank You ! Discussion Time… By: Qamar Ul Zaman BSCS 14-18 IUB BWN