SlideShare ist ein Scribd-Unternehmen logo
1 von 26
1
Research Project Proposal
on
Testing of Object-Oriented
Software
Dr. D. P. Mohapatra
Assistant Professor, C. S. E. Deptt.
National Institute of Technology, Rourkela
2
Outline of the Presentation
• Introduction
• Motivation for Research
• Objectives of research
• Plan of action
• Summary
3
Introduction
• In a typical software development project,
more than 50% of the software development
effort is being spent on testing.
• Quality of the end product and effective
reuse of software depend to a large extent
on testing.
• So, Developers spend considerable amount
of time and effort to achieve thorough
testing.
4
• Regardless of the test strategy being used, large
systems such as OOPs are inherently complex to
test and require large number of test cases to be
designed.
• Creation of test cases is possibly the most difficult
step in testing.
• To reduce the testing cost and effort and to
achieve better quality software, automatic testing
has become an urgent necessity.
5
• Automatic test case generation
- can reduce development cost by
eliminating costly manual test case
design effort &
- help increase reliability through
increased test coverage.
6
Current Relevance
• Software industries spend a huge amount of effort
for testing their developed software.
• The proposed testing algorithms can be used by
software industries to minimize the effort required
for testing of very large object-oriented programs.
• The proposed testing algorithms can also be used
in other disciplines such as electrical engineering,
electronics and communication engineering etc.
for testing of concerned software.
7
Motivation
• Present-day software systems are basically object-
oriented due to several advantages.
• Quality and effective reuse of software depends on
thorough testing.
• Conventional testing methods are inadequate to
test object- oriented systems as it cannot address
the issues related to O-O features such as
inheritance, polymorphism etc.
• The O-O features such as inheritance,
polymorphism etc. need to be considered
carefully in the testing process.
• Hence, new methods and tools are to be developed
for testing of O-O S/W.
8
Objectives
• The objective of the project would be to
design & develop a tool for testing O-O
S/W.
• This work would involve the following:
• Design of a framework for automated
testing. The framework would be based on
constructing an intermediate program graph
representation.
9
• Automatically or semi-automatically
generate test cases from an analysis of the
constructed graph.
• Develop an effective GUI.
• Evaluate the performance of the proposed
testing algorithms.
10
Testing of OOPs
• Test cases are commonly designed based on
program source code. This makes test case
generation difficult especially for testing at
cluster levels.
• Further this approach proves to be
inadequate in component-based software
development, where the source code may
not be available to the developers.
• It is therefore desirable to generate test
cases automatically from the software
design documents.
• Test generation from design documents has
the added advantage of allowing test cases
to be available early in the SDLC, thereby
making test planning more effective.
11
Plan of Action
• We shall propose techniques for testing OOPs
using UML diagrams & slicing methodology.
• We shall first develop an intermediate graph
representation for the OOPs.
• Then, we will generate test cases from the
intermediate graph representation by applying
- function minimization technique.
- slicing technique.
• We will develop an effective GUI to efficiently
carry out the testing activities.
12
• We concentrate upon automatically generating test
cases based on communication diagrams.
• Communication diagrams represent both the
messages passed between objects and their
sequences.
• So, communication diagrams can provide both
data flow and control flow infn.
• Data flow and control flow infn. have significant
bearing on test case generation.
• Hence, using communication diagrams, it is
possible to generate cluster level test cases even
before any code is written.
13
• The first step will be constructing a
communication tree from the commn. diagram.
• Then, we will iteratively select a predicate from
this tree.
• We then transform this predicate to find the test
data corresponding to the predicate.
• For each selected predicate, we then record test
cases & the next predicate is selected for test
generation.
• For each selected predicate, the transform
predicate step & the generate test data step are
repeated. The process continues till all predicates
are considered .
14
Plan of Action cont …
15
Example
16
Example
17
Class diagram for generating test cases
18
• The important classes which will be used in
our implementation are as follows:
• XmlBoundary class will be responsible for
accepting a communication diagram in
XML format. This class will display a
prompt to user and will ask for a filename.
• TestCaseController class coordinates the
different activities of the program.
19
• ElementFinder class uses the
getElementsByTag-Name method of
Element object to obtain the list of nodes
inside parent node. Element is an interface
of org.w3c.dom package. It represents an
element in an HTML or XML document.
• DocumentParser class parses the XML file
for the message names, arguments,
sequence numbers etc. and constructs the
communication tree.
20
• TestDataFinder uses the parsed information
and finds the test data in the form of a
string.
• TestCaseBoundary class is responsible for
displaying the list of test cases for a
communication diagram.
21
Performance Evaluation
• At last, we shall
- test all the proposed algorithms with several sets
of input data.
- evaluate the performance of each algorithm.
- compare the results.
22
Activity Time in months
0 – 6 6 –
12
12 – 18 18 – 24 24 – 30 30 – 36
Obtaining quotations for different
consumables and equipment.
Placement of order and recruitment
of Project Associate.
Set up of equipments.
Constructing the intermediate graph
representation.
Generating test cases from an
analysis of the intermediate graph
representation.
Providing utilities to the tester for
determining static and dynamic
coverage of the program from the
generated test suite.
Developing an effective graphical
user interface (GUI).
23
Summary
• Develop a technique for automatic generation of test case
for OOPs.
• Our technique will be based on an intermediate graph
representation.
• We will use use-case diagrams, class diagrams, sequence
diagrams and collaboration diagrams for the testing
purpose.
• Implement our algorithms using Java.
• Analyze and compare the results.
• Measure the performance of the algorithms.
24
Thank You
25
Program Slice
• Slice of a program w.r.t. program point p
and variable x:
- All statements and predicates that
might affect the value of x at point p.
• <p, x> known as slicing criterion.
26
Example
1 main( )
2 {
3 int i, sum;
4 sum = 0;
5 i = 1;
6 while(i <= 10)
7 {
8 Sum = sum + 1;
9 ++ i;
10 }
11 printf(“%d”, sum);
12 printf(“%d”, i);
13 }
An Example Program & its slice w.r.t. <12, i>

Weitere ähnliche Inhalte

Was ist angesagt?

Software Testing Training : Tonex Training
Software Testing Training : Tonex TrainingSoftware Testing Training : Tonex Training
Software Testing Training : Tonex TrainingBryan Len
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2Divya Tiwari
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategiesKrishna Sujeer
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of TestingMunaam Munawar
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Damian T. Gordon
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAlpana Bhaskar
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniquesSHREEHARI WADAWADAGI
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingKostCare
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.pptGaurav Nigam
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented AnalysisAMITJain879
 

Was ist angesagt? (19)

Software Testing Training : Tonex Training
Software Testing Training : Tonex TrainingSoftware Testing Training : Tonex Training
Software Testing Training : Tonex Training
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of Testing
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Chapter 14 software testing techniques
Chapter 14 software testing techniquesChapter 14 software testing techniques
Chapter 14 software testing techniques
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software Testing
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Software testing and analysis
Software testing and analysisSoftware testing and analysis
Software testing and analysis
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
 
H testing and debugging
H testing and debuggingH testing and debugging
H testing and debugging
 
Software Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC ModelSoftware Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC Model
 

Ähnlich wie Testing of Object-Oriented Software

Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Praveen Penumathsa
 
Automock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationAutomock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationSabrina Souto
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptitadmin33
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 pptDr VISU P
 
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).pptxPraneethBhai1
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdfsaman Iftikhar
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Testing software
Testing softwareTesting software
Testing softwareBlueTree5
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptMRDNI
 
CEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptCEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptdheeraj438799
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptEshakRajendran1
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptBalaji Kt
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...Robert Grossman
 
Quality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentQuality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentZahra Sadeghi
 

Ähnlich wie Testing of Object-Oriented Software (20)

Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
 
Automock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code GenerationAutomock: Interaction-Based Mock Code Generation
Automock: Interaction-Based Mock Code Generation
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
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
 
DITEC - Software Engineering
DITEC - Software EngineeringDITEC - Software Engineering
DITEC - Software Engineering
 
ppt2.pptx
ppt2.pptxppt2.pptx
ppt2.pptx
 
Resume_Sahida Sultana
Resume_Sahida SultanaResume_Sahida Sultana
Resume_Sahida Sultana
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Testing software
Testing softwareTesting software
Testing software
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).pptCEN6070.1.Chapter10.1 (1).ppt
CEN6070.1.Chapter10.1 (1).ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
CEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.pptCEN6070.1.Chapter10.1.ppt
CEN6070.1.Chapter10.1.ppt
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
 
rryghg.ppt
rryghg.pptrryghg.ppt
rryghg.ppt
 
Se unit 4
Se unit 4Se unit 4
Se unit 4
 
Quality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentQuality Assurance in Modern Software Development
Quality Assurance in Modern Software Development
 

Mehr von Praveen Penumathsa

Mehr von Praveen Penumathsa (9)

DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMSDYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
 
DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMSDYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
DYNAMIC SLICING OF ASPECT-ORIENTED PROGRAMS
 
Distributed System
Distributed SystemDistributed System
Distributed System
 
Real-Time Operating Systems
Real-Time Operating SystemsReal-Time Operating Systems
Real-Time Operating Systems
 
Slicing of Object-Oriented Programs
Slicing of Object-Oriented ProgramsSlicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
 
Rseminarp
RseminarpRseminarp
Rseminarp
 
Slicing of Object-Oriented Programs
Slicing of Object-Oriented ProgramsSlicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
 
Praveen varma fresher_resume
Praveen varma fresher_resumePraveen varma fresher_resume
Praveen varma fresher_resume
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 

Kürzlich hochgeladen (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Testing of Object-Oriented Software

  • 1. 1 Research Project Proposal on Testing of Object-Oriented Software Dr. D. P. Mohapatra Assistant Professor, C. S. E. Deptt. National Institute of Technology, Rourkela
  • 2. 2 Outline of the Presentation • Introduction • Motivation for Research • Objectives of research • Plan of action • Summary
  • 3. 3 Introduction • In a typical software development project, more than 50% of the software development effort is being spent on testing. • Quality of the end product and effective reuse of software depend to a large extent on testing. • So, Developers spend considerable amount of time and effort to achieve thorough testing.
  • 4. 4 • Regardless of the test strategy being used, large systems such as OOPs are inherently complex to test and require large number of test cases to be designed. • Creation of test cases is possibly the most difficult step in testing. • To reduce the testing cost and effort and to achieve better quality software, automatic testing has become an urgent necessity.
  • 5. 5 • Automatic test case generation - can reduce development cost by eliminating costly manual test case design effort & - help increase reliability through increased test coverage.
  • 6. 6 Current Relevance • Software industries spend a huge amount of effort for testing their developed software. • The proposed testing algorithms can be used by software industries to minimize the effort required for testing of very large object-oriented programs. • The proposed testing algorithms can also be used in other disciplines such as electrical engineering, electronics and communication engineering etc. for testing of concerned software.
  • 7. 7 Motivation • Present-day software systems are basically object- oriented due to several advantages. • Quality and effective reuse of software depends on thorough testing. • Conventional testing methods are inadequate to test object- oriented systems as it cannot address the issues related to O-O features such as inheritance, polymorphism etc. • The O-O features such as inheritance, polymorphism etc. need to be considered carefully in the testing process. • Hence, new methods and tools are to be developed for testing of O-O S/W.
  • 8. 8 Objectives • The objective of the project would be to design & develop a tool for testing O-O S/W. • This work would involve the following: • Design of a framework for automated testing. The framework would be based on constructing an intermediate program graph representation.
  • 9. 9 • Automatically or semi-automatically generate test cases from an analysis of the constructed graph. • Develop an effective GUI. • Evaluate the performance of the proposed testing algorithms.
  • 10. 10 Testing of OOPs • Test cases are commonly designed based on program source code. This makes test case generation difficult especially for testing at cluster levels. • Further this approach proves to be inadequate in component-based software development, where the source code may not be available to the developers. • It is therefore desirable to generate test cases automatically from the software design documents. • Test generation from design documents has the added advantage of allowing test cases to be available early in the SDLC, thereby making test planning more effective.
  • 11. 11 Plan of Action • We shall propose techniques for testing OOPs using UML diagrams & slicing methodology. • We shall first develop an intermediate graph representation for the OOPs. • Then, we will generate test cases from the intermediate graph representation by applying - function minimization technique. - slicing technique. • We will develop an effective GUI to efficiently carry out the testing activities.
  • 12. 12 • We concentrate upon automatically generating test cases based on communication diagrams. • Communication diagrams represent both the messages passed between objects and their sequences. • So, communication diagrams can provide both data flow and control flow infn. • Data flow and control flow infn. have significant bearing on test case generation. • Hence, using communication diagrams, it is possible to generate cluster level test cases even before any code is written.
  • 13. 13 • The first step will be constructing a communication tree from the commn. diagram. • Then, we will iteratively select a predicate from this tree. • We then transform this predicate to find the test data corresponding to the predicate. • For each selected predicate, we then record test cases & the next predicate is selected for test generation. • For each selected predicate, the transform predicate step & the generate test data step are repeated. The process continues till all predicates are considered .
  • 14. 14 Plan of Action cont …
  • 17. 17 Class diagram for generating test cases
  • 18. 18 • The important classes which will be used in our implementation are as follows: • XmlBoundary class will be responsible for accepting a communication diagram in XML format. This class will display a prompt to user and will ask for a filename. • TestCaseController class coordinates the different activities of the program.
  • 19. 19 • ElementFinder class uses the getElementsByTag-Name method of Element object to obtain the list of nodes inside parent node. Element is an interface of org.w3c.dom package. It represents an element in an HTML or XML document. • DocumentParser class parses the XML file for the message names, arguments, sequence numbers etc. and constructs the communication tree.
  • 20. 20 • TestDataFinder uses the parsed information and finds the test data in the form of a string. • TestCaseBoundary class is responsible for displaying the list of test cases for a communication diagram.
  • 21. 21 Performance Evaluation • At last, we shall - test all the proposed algorithms with several sets of input data. - evaluate the performance of each algorithm. - compare the results.
  • 22. 22 Activity Time in months 0 – 6 6 – 12 12 – 18 18 – 24 24 – 30 30 – 36 Obtaining quotations for different consumables and equipment. Placement of order and recruitment of Project Associate. Set up of equipments. Constructing the intermediate graph representation. Generating test cases from an analysis of the intermediate graph representation. Providing utilities to the tester for determining static and dynamic coverage of the program from the generated test suite. Developing an effective graphical user interface (GUI).
  • 23. 23 Summary • Develop a technique for automatic generation of test case for OOPs. • Our technique will be based on an intermediate graph representation. • We will use use-case diagrams, class diagrams, sequence diagrams and collaboration diagrams for the testing purpose. • Implement our algorithms using Java. • Analyze and compare the results. • Measure the performance of the algorithms.
  • 25. 25 Program Slice • Slice of a program w.r.t. program point p and variable x: - All statements and predicates that might affect the value of x at point p. • <p, x> known as slicing criterion.
  • 26. 26 Example 1 main( ) 2 { 3 int i, sum; 4 sum = 0; 5 i = 1; 6 while(i <= 10) 7 { 8 Sum = sum + 1; 9 ++ i; 10 } 11 printf(“%d”, sum); 12 printf(“%d”, i); 13 } An Example Program & its slice w.r.t. <12, i>