Sample Project Synopsis
Sample Project Synopsis
Synopsis Submitted
to
In
By
Students Name
Enrollment Number
(2024-2025)
1
No. Chapters Page No.
1 Chapter 1 Gives Introduction, Motivation of work, Research 1-8
Issues
2 Chapter 2 Is on Literature Survey and Review of the Past 9-14
Research Work
3 Chapter 3 Identification Parameter of Gap’s in Current 15
Research
4 Chapter 4 Statement of the Problem, Proposed Work & 16-20
Objectives
5 Chapter 5 Material Methodologies, Tools, Platform, 21
Experimental Setup, Hardware Requirements
6 Chapter 6 Summarizes the Proposed Work, Proposed Results 22
and Discussions
7 Chapter 7 Draws Conclusions on Basis of Proposed Results 23-24
Giving Constructive Suggestions
2
CHAPTER 1
Introduction, Motivation of Work, Research Issues
1.1 Introduction
Now a days, software is significantly used in many applications such as home appliances, bank
process, nuclear-power-plants, automobiles, telecommunications, medical devices and so on [1].
When we develop any software, we go through seven phases of software development life cycle
that is requirement gathering, requirement analysis, designing, coding, testing, and maintenance.
Software testing is a very important technique to design the faultless software. It takes around 60%
of resources for the software development. This technique is also satisfying all the requirement of
the customer verification and validation of software is done through (SUT) [2].
Testing, is a time-consuming activity that calls for enhanced and powerful techniques. As
stated by Baker et al. “Testing often accounts for more than 50% of the required effort during
system development”. A testing cycle encompasses three main parts: Test case generation, test
execution, and test evaluation, with test case generation being perhaps the most complex and
challenging part [3].
Software testing plays a vital role in the process of developing high-quality software.
Testing is necessary because we all make mistakes. Some of those mistakes are unimportant but
some of them are expensive and dangerous. Therefore, there is a need to check everything that we
produce [5].
The different phases of the Software Testing Life Cycle Model (STLC Model) are:
1. Identifying Requirements
2. Plan the Test
3. Develop the Test Case
4. Set the Environment
5. Execute the Test Case
6. Report Test Results
7. Retest Bug
8. Test Cycle Close [6]
3
1.4 Software Testing Techniques
Informal Reviews
Walkthrough
Code Coverage Specification Model-Based
Testing Based Testing Testing
Technical Reviews
Code-Based Testing is done on code development, code inspection and unit testing in
software development life cycle.
Disadvantages of Code Based Testing
• After testing when code demands some changes there is need of retesting.
• This testing takes time to develop the test cases.
• Test cases are waste, if changes in the developed code are done again and again.
• In this testing skilled programmers are required
Specification Based Testing have little or no regard to the internal logical structure of the
system, it only examines the fundamental aspect of the system. It makes sure that input is properly
accepted and output is correctly produced [7].
4
• Some parts of the back end are not tested at all.
• Chances of having unidentified paths during this testing.
• Chances of having repetition of tests that are already done by programmer [7].
Model-based testing (MBT) automates the design and generation of test cases from a
model. This process includes model building, test selection criteria, test case generation, and test
case execution stages [8]. The aim of software testing is not only to find the defects but also to
find out the situations that could cause negative impact on the customer. This technique is also
called Model Based Testing (MBT). MBT facilitates generation of effective test cases from the
developed model of the software. A model describes the functionality and behavior of the system
under test (SUT) [9].
Modern software products are often large and exhibit very complex behavior. The Object-
oriented (OO) paradigm offers several benefits, such as encapsulation, abstraction, and reusability
to improve the quality of software. However, at the same time, OO features also introduce new
challenges for testers: interactions between objects may give rise to subtle errors that could be hard
5
to detect. Object-oriented environment for design and implementation of software brings about
new issues in software testing. This is because the above important features of an object-oriented
program create several testing problems and bug hazards. Last decade has witnessed a very slow
but steady advancement made to the testing of object-oriented systems. One of the main problems
in testing object-oriented programs is test case selection. Models being simplified representations
of systems are more easily amenable for use in automated test case generation [12].
UML is general-purpose modeling, a standard language that aims to visualize, analyze and
documents the components of a system in the form of model or design. It makes use of elements
and forms associations between them to form a diagram. Diagrams are broadly categorized into
6
two as described below.
• Structural Diagrams describes the structure of the software and represents the static
aspect (fixed part) of the system.
• Behavioral Diagrams describes the dynamic aspects (moving or changing part) of the
software and shows the performance of the system [13].
UML
Diagram
Structural Diagram Behavioral Diagram
Class Diagram
Object Diagram Use Case Diagram
Composite Structure Activity Diagram
Diagram Sequence Diagram
Deployment Diagram State Chart Diagram
Package Diagram Collaboration Diagram
Profile Diagram Interaction Diagram
Component Diagram
Application of UML
7
1.7 Meta Heuristic Algorithms
Applications
• Metaheuristics are used for combinatorial optimization in which an optimal solution is
sought over a discrete search-space. An example problem is the travelling salesman
problem.
• Additionally, multidimensional combinatorial problems, including most design problems
in engineering such as form-finding and behavior-finding.
• Meta Heuristics are also widely used for job shop scheduling and job selection problems
[54].
Meta Heuristic Algorithms
Software testing is a crucial element in software quality assurance. Over the past decades
a lot of research has been done on automatic software testing process but due to dynamic memory
allocation, software is very much unpredictable in behavior [14]. With the rapid growth of software
scale and complexity, software quality problems have become more and more prominent. Software
testing has been a necessary part of software development to assure software quality [15]. Software
testing is laborious and time-consuming work; it spends almost 50% of software system
development resources. Generally, the goal of software testing is to design a set of minimal number
of test cases such that it reveals as many faults as possible. Absolutely, an automated software
testing can significantly reduce the cost of developing software [16].
This research focuses on automated test case generation from model design using UML
tools after designing model we will produce test case and try to reduce those test cases by
generating Hybrid Algorithm using Meta Heuristic Algorithms.
8
1.8.1 Problem in Software Testing
Object-oriented (OO) approach defines a specific set of rules to study the dynamic nature
of a software system in real-world scenario. For this purpose, Unified Modeling Language (UML)-
based diagrams like class diagram, use case diagram, sequence diagram, inheritance diagram,
deployment diagram, etc., are used for pictorial representation of the internal mechanism [18].
• Software Testing using the object-oriented approach is always a challenging job for the
researchers in recent days. To produce quality software, Automation of Software Testing
plays a vital role [19].
• Object-oriented programming including inheritance, multiple inheritance, polymorphism,
encapsulation, overloading, etc. which still remains unsolved and though many ideas and
methodologies have been proposed, they are not yet standardized and the problem remains
unsolved.
• It was surprisingly found out that the specific features introduced by the object-oriented
programming concepts are making programming easy but at the same time are making
difficult its testing, at the same time, the existing testing techniques would not be suitable
at all to test those complex object-oriented features.
• In object-oriented testing domain, the traditional levels of testing for procedural programs
like unit testing, integration testing are not applicable, the different levels of object-oriented
testing are class, cluster and system testing.
• The most complex part of object-oriented testing is the in approachability of its source code
due to its specific features data abstraction and encapsulation [18].
• Modelling, analysis, design, and testing of object-oriented software is different as
compared to the structured approach.
9
1.8.3 Need for Test Data Generation
Test case generation has a significant role in testing process. Manual testing process
exhausts 40-70% time and cost of software development process. Various automated methods for
test case generation have been proposed to overcome the time consumption’s problem in manual
testing process. Model Based Testing is a way of generating test cases automatically [20].
Automated software testing was introduced to significantly reduce the cost and the time of
testing process. Hence, building and improving techniques and algorithms for automation software
testing are subjects of research, where all algorithms target to achieve more software testing
coverage, which lead to more errors discovered and resulting in high software confidence. So, in
software testing we aim to reveal such errors in order to avoid failures during design of system
[21].
• Finding and correcting bugs in the software takes a lot of effort for software testers. In
traditional testing system man power required to search and analyze test data. Man power
being prone to poor assumptions and hence skipped results leads to overlooked bugs.
• In today’s time, computer devices play a vital role in modern human life. In many sectors
we need computer systems to do work like hospital, banking system, education etc. for
operating these computer systems we need software. There are many companies which are
working on developing software. These companies deal daily to produce software. When
we develop any software, we go through many phases of SDLC like requirement gathering,
analysis, designing, coding, testing and maintenance. Testing is only the phase which
requires lots of time and money for testing any software. Testing phase is a crucial activity
of software development life cycle.
• Automated test data generation reduces the man power which is important issue in manual
testing and also very costly.
• Software testing for using the object-oriented technology is a challenge for researchers.
• To produce best quality products automated test case generation plays a vital role.
• Testing any system design before coding saves the time of the tester and also the cost of
testing, if we want to do some changes in system, we need to change design not coding it
will save time.
• We can implement test cases at early stage of SDLC process and perform coverage
analysis.
• All literature related to present study has been collected from different sources. After
thoroughly studying many of the research papers of reputed journals, I have selected this
topic for research work as Software Testing is a crucial problem nowadays and its solution
is necessary.
• It can be seen that Bio Inspired Meta Heuristic Algorithms and Unified Modelling
Language will be beneficial for this type of research.
10
CHAPTER 2
When we develop any software, we follow software development life cycle (SDLC). This
SDLC process follows the seven phases to develop any software which can be requirement
gathering, requirement analysis, designing, coding, testing and maintenance. Each phase demands
for testing for finding errors. Mostly testing phase comes after coding. Finding errors, bugs, faults
from coding is very tedious job and require skilled persons. Therefore, testing before coding that
is testing in designing phase solves many issues and require less efforts.
Testing takes 50% of time, cost in comparison to all other phases. Therefore, testing in
designing phase requires development of model. The process of developing model is also called
model-based testing. This model-based testing is done in designing phase before coding. For
generating test cases we can use unified modelling language. After developing this model test
cases will be generated by using various techniques like DFS, BFS. After generating these cases
we can go through the optimization techniques. Tabular Form of these research papers in Table1
is given below:
11
[5] Azeem Uddin, This paper presents an introduction to Software Testing and
Abhineet Anand its importance with strong exemplary illustrations.
[6] Muhammad Abid This paper aims to discuss the existing as well as improved
Jamil, testing techniques for the good quality assurance purposes.
Muhammad Arif, This makes Automated Testing and other various Test
Normi Sham Metrics implementation before and during the testing
Awang Abubakar, process. It can enhance the existing testing methods, both
Akhlaq Ahmad for time effectiveness as well as for efficient and reliable
final product which not only meets the specified
requirements but also provides with maximum operational
efficiency.
[7] Abhijit A. This paper describes Software testing, need for software
Sawant, Pranit H. testing, Software testing goals and principles. Further it
Bari, P. M. describes about different Software testing techniques and
Chawan different software testing strategies. Finally, it describes the
difference between software testing and debugging.
[8] Leonardo In this study, the authors evaluate the efficacy of the (Model
Villalobos-Arias, Based Testing for Java) platform, in terms of the number of
Christian test cases generated, errors detected, and coverage metrics.
Quesada-López, A case study is conducted using two open-source Java
Alexandra systems from public repositories, and 15 different
Martínez, configurations.
Marcelo Jenkins
[9] Vasudha Singh, This paper introduces model-based testing and gives case
Subburaj study.
Ramasamy
[10] Gurpreet Kaur In this paper, enhancement in genetic algorithm is done
with supervised learning to remove faults from the test
cases.
[11] Nazish Rafique, In this paper, the basic models which are used in model-
Nadia Rashid, based testing are discussed. Further, how these models can
Saba Awan, be used for testing the web-based applications and a case
Zainab Nayyar study will be explained with the help of case study.
[12] Santosh Kumar This paper discusses model-based approach to automatic
Swain, Subhendu testing of object-oriented software which is carried out at
Kumar Pani, the time of software development. They review the reported
Durga Prasad research result in this area and also discuss recent trends.
Mohapatra
[13] Pariksha Jain, This paper represents a survey on several algorithms for
Dinesh Soni producing the test cases based on UML (Unified Modelling
Language) diagrams and prioritizing them.
[14] Rijwan Khan, In this paper a Hybrid Genetic Algorithm is proposed for
Mohd Amjad, generating test data automatically using data flow testing
Akhilesh Kumar approach for mutation testing.
Srivastava
12
[15] Xuewei Lv, Song The search space of meta-heuristic algorithm (PSO
Huang, Haijin Ji algorithm) is reduced by interval arithmetic, which
improves the efficiency and success rate of test data
generation. The experimental results demonstrate that input
domain reduction has good effectiveness.
[16] Praveen Ranjan This paper presents a method for optimizing software
Srivastava, Tai- testing efficiency by identifying the most critical path
hoon Kim clusters in a program.
[17] Clarence J M, In this article, the author discussed about the different
N Ganesan, testing aspects for object-oriented programs. Idea is to test
Anupam Ghosh, different testing aspects of Object-oriented Software
Nirupam Ghosh Systems.
[18] Ajay Kumar The book series aims at bringing together valuable and
Jena, Himansu novel scientific contributions that address the critical issues
Das Durga Prasad of software services and business processes reengineering,
Mohapatra providing innovative ideas, methodologies, technologies
and platforms that have an impact in this diverse and fast-
changing research community in academia and industry.
[19] Suresh Chandra This book offers the possible concepts of deep learning for
Satapathy, Ajay handling the open issues of software engineering such as
Kumar Jena, the efficiency of automated testing techniques, prediction
Jagannath Singh, of cost estimation, data processing, automatic code
Saurabh Bilgaiyan generation.
[20] Rashmi Rekha Proposed a branch distance-based fitness function that
Sahoo, guides the searching techniques to automatically generate
Mitrabinda Ray test cases for path coverage.
[21] Hashim J. Hasan, In this paper, the authors present an anti-random technique
Mohammad A. to achieve high branch coverage in white-box testing,
Alshraideh, Basel depending on the hypothesis that any two test values with
A. Mahafzah small distance mostly discover the same errors and faults.
[22] Songcan Zhang, In this paper, an adaptive improved ant colony algorithm
Jiexin Pu, Yanna based on population information entropy is proposed to
Si improve the optimization ability of the algorithm.
[23] Chunyan Xia, Yan This paper, proposes a novel cluster test suite reduction
Zhang, Zhanwei using an evolutionary multi-objective optimization
Hui algorithm.
[24] Ovidiu Cosma, This paper, proposes a novel genetic algorithm, which is
Petrică C. Pop, designed to fit the challenges of the investigated problem.
Ioana Zelina
[25] Yechao Huang, In this paper, a novel learn-to-rank technique is proposed to
Ting Shu, Zuohua prioritize test cases by combining the multidimensional
Ding features of Extended Finite State Machine under test to
improve fault detection rate.
13
[26] Naili Luo, Wu This paper proposes a novel genetically hybrid differential
Lin, Genmiao Jin, evolution strategy for recombination in Multi Objective
Changkun Jiang, Evolutionary Algorithms, which works effectively to
Jianyong Chen strengthen the search capability.
[27] Vinay Arora, In this manuscript, a bio-inspired methodology has been
Maninder Singh, applied on concurrent sub-part of a UML activity diagram
Rajesh Bhatia to fetch various feasible test scenarios.
[28] Xiangying Dang, This article focuses on efficiently generating test data for a
Xiangjuan Yao, large number of mutant branches. When generating test
Dunwei Gong, data using a search-based method, the size of the search
Tian Tian, Baicai domain is a determining factor affecting the search
Sun performance.
[29] C. Lakshmi This article identifies patterns in design of Software by
Prabha, using classification-based methods and information
N.Shivakumar metrics.
[30] Rui Lima, This paper briefly presents the state of the art in the field of
António Miguel software testing, applying Machine Learning approaches
Rosado da Cruz, and Artificial Intelligence algorithms.
Jorge Ribeiro
[31] Madhumita This paper proposes a concrete model-based testing
Panda, Sujata framework; using UML (Unified Modelling Language)
Dash, Anand behavioral state chart model along with the hybrid version
Nayyar, of the two most popular nature inspired algorithms, Firefly
Muhammad Bilal, algorithm and Differential Algorithm.
Raja Majid
Mehmood
[32] Priyanka This paper presents the review of recent research papers in
Paygude, test case prioritization using evolutionary algorithm.
Shashank D. Joshi
[33] Nour El Houda This work, propose a new test case generation approach
Dehimi based on the sequence diagram, able to, individually, cover
Farid Mokhati interactions between agents as well as possible scenarios
that can be performed in an inclusive, exclusive or parallel
way.
[34] Muhammad This paper, proposed an approach to prioritize test cases
Khatibsyarbini, optimally using Firefly Algorithm. To optimize the
Mohd Adham Isa, ordering of test cases, they applied Firefly Algorithm with
Dayang N. A. fitness function defined using a similarity distance model.
Jawawi, Haza Experiments were carried on three benchmark programs
Nuzly Abdull with test suites extracted from Software-artifact
Hamed, Infrastructure Repository.
Muhammad
Dhiauddin
Mohamed Suffian
14
[35] Pan Liu, Yudong This paper reviews the development of model-based test
Li, Zhaojun Li methods from the optimization perspective and presents
five issues in the test optimization process.
[36] Syed Asad Ali This paper presented a survey based on our proposed
Shah, Syed solution to generating a test case from the UML (Unified
Shafique Ali Modelling Language) diagrams (class and sequence).
Bukhari, Comparison with the previous techniques has been done in
Mamoona this study.
Humayun
[37] Vikas Panthi, This paper, proposed algorithm SMTSGA (State Machine
Ashraf Gardizy, to Test Scenario Generation Algorithm) for generating test
Ramesh Kumar scenarios. Proposed algorithm SMTSGA generate all test
Mohapatra, Durga scenarios.
Prasad Mohapatra
[38] Khadija Louzaoui The objective of this paper is to introduce a new constraint
model for testing the robustness of overriding methods
during inheritance operation for an object oriented (OO)
system.
[39] Hanson This article conducts a software testing using a traceability
Prihantoro Putro, matrix. They choose one application from Google Play
Apriliana Fajri Store that has a lot of reviews and suggestions. They
Wibowo redevelop this software using object-oriented paradigm.
[40] Rashmi Sharma, This article introduces, a nature-inspired meta-heuristic,
Anju Saha Moth Flame Optimization Algorithm has been offered for
model-based testing of software based on object
orientation.
[41] Gai-Ge Wang Inspired by the earthworm contribution in nature, a new
kind of bio-inspired metaheuristic algorithm, called
earthworm optimization algorithm, is proposed in this
paper.
[42] Vikas Panthi, This paper presents an approach for model-based dynamic
Durga Prasad web application testing. This approach considers server-
Mohapatra side scripting language to test the functional requirements
of the web applications.
[43] Jagdish Chand The series “Advances in Intelligent Systems and
Bansal, Kedar Computing” contains publications on theory, applications,
Nath Das, Atulya and design methods of Intelligent Systems and Intelligent
Nagar, Kusum Computing.
Deep, Akshay
Kumar Ojha
[44] Vikas Panthi, The aim of this paper is to generate test sequences for
Durga Prasad object-oriented software with composite states using state
Mohapatra machines.
[45] Vikas Panthi, D.P. The aim of this study is to propose an algorithm for
Mohapatra generating minimal test sequences by applying Firefly
optimization technique.
15
[46] Partha Pratim A hybrid algorithm by combining artificial bee colony and
Sarangi, back-propagation is proposed to train the feed forward
Abhimanyu Sahu, neural network.
Madhumita Panda
[47] Shuai Wang, This paper, illustrates Feature Model for Testing and
Shaukat Ali, Tao Component Family Model for Behaviors.
Yue, Marius
Liaaen
[48] Ching-Seh Wu, This paper proposes an intermediate test model called the
Chi-Hsin Huang, Polymorphism State Sequence Test Model, which is
Yen-Ting Lee generated from sequence diagram, class diagram and state-
charts for integration testing.
[49] Bernhard K. This paper proposes the exchange of test cases generated
Aichernig, Florian from the models instead of exchanging the models
Lorber, Stefan themselves.
Tiran
[50] Zongjiang Wang This paper studies the development of UML in the
embedded system's superiority and shortcoming, combines
with object-oriented design patterns for the Smartphone
applications development to raise a named Smartphone
model.
[55] C. Xia, Y. Zhang This paper, proposes a novel cluster test suite reduction
Z. Hui using an evolutionary multi-objective optimization
algorithm.
16
CHAPTER 3
Identification Parameter of Gap’s in Current Research
From existing literature survey, all the methods and techniques on UML diagrams and
combinational UML diagrams can mostly concentrate on generating the test cases using the DFS
algorithm which has average time complexity as compared to others and consider some coverage
criteria like state, transition, paths while some do not use coverage criteria. Mostly they can work
on the ATM system as a case study. Only a few of them can optimize the generated test cases using
heuristic algorithms like genetic algorithm, detects the fault, and enhance the quality of the system.
Some improvements have been needed in producing the optimal test-cases that can decrease the
development period and cost. The work in the future will have to propose a model that can calculate
the efficiency of generated test cases using a UML diagram by considering the coverage criteria
and also detect the faults in the system. Also, this approach will help in minimizing test cases [13].
In the present paper, an adaptive improved ant colony algorithm based on the non-uniform
distribution initial pheromone, the pheromone diffusion model, the adaptive parameter adjusting
strategy, and the novel pheromone updating mechanism are proposed to enhance the optimization
ability and efficiency of the ACS (Ant Colony Search) algorithm. For further studies, it would be
interesting to modify the algorithm to perform path planning in dynamic environments. In addition,
it is recommended to apply AIACSE (Adaptive Improved Ant Colony System based on population
information entropy) to other practical applications, such as the routing problem, feature subset
selection, vehicle scheduling problem, disassembly sequence planning, and so on. Another
interesting direction is to further study the performance improvement and parameters analysis of
the ACO (Ant Colony Optimization) algorithms [22].
In this paper, author proposes an evolution method based on cluster analysis to improve
the effectiveness of test suite reduction. In the future, they will conduct a series of test suite
reduction research from machine learning technology, to reduce the cost of testing and ensure
software quality [55].
• Try to produce optimal test cases that can decrease the development time and cost.
• Will try to improve performance of Meta Heuristic Algorithms by developing hybrid
optimization algorithm.
• Will try to generate effective automated test cases.
• Will try to establish efficiency and effectiveness of testing.
• Will try to reduce time complexity.
• Will try to reduce faults in designing phase to generate test cases.
• Will try to increase consistency, accuracy by improving test coverage, that is try to reduce
paths by covering all nodes.
• Will try to remove redundant test cases problem by clustering process.
17
CHAPTER 4
Statement of the Problem, Work & Objectives
When we develop any software using software development life cycle (SDLC) we go
through many phases of SDLC like requirement gathering, requirement analysis, design, coding,
testing, maintenance. In all this phases software testing is only the phase which is very time
consuming and laborious it takes 50% time and cost comparison to all software development
phases.
Automated software testing can reduce the cost of developing software. Test preparation
is done in advance so it increases the test run process fast, and confidence of testing results will
also be increases automatically.
Manual process of test data generation requires a lot of efforts, human power, and time-
consuming process, expensive also. This process will not provide efficiency and correctness.
Manual test data generation is a difficult task. Therefore, it will produce the problem of NP-hard.
In real life, human efforts are not sufficient to generate a suitable amount of test data which will
provide success to testing process.
Aim of our research is to generate test cases for object-oriented systems using UML tools
and implementing hybrid algorithm for reducing test cases. In software testing we will choose
model-based testing. The reason behind to choose this testing only is because this testing works
on designing before coding and find errors in early phase before coding. This testing is also based
on the inner workings of an application and revolves around internal testing.
Software testing is very important element in software quality assurance. Over the past few
decades, a lot of research has been done on automatic software testing process but due to dynamic
memory allocation, software is very much unpredictable in behavior [14]. With the rapid growth
of software scale and complexity, software quality problems have become more and more
prominent. Software testing has been a necessary part of software development to assure software
quality [15]. Software testing is laborious and time-consuming work; it spends almost 50% of
software system development resources. Generally, the goal of software testing is to design a set
of minimal number of test cases such that it reveals as many faults as possible. Absolutely, an
automated software reduces the software development cost [16].
This research focuses on automated test case generation from model design using UML
tools after designing model we will produce test case and try to reduce those test cases by
generating hybrid algorithm using Meta Heuristic Algorithms.
18
Problem in Software Testing
Object-oriented (OO) approach defines a specific set of rules to study the dynamic nature
of a software system in real-world scenario. For this purpose, Unified Modeling Language (UML)-
based diagrams like class diagram, use case diagram, sequence diagram, inheritance diagram,
deployment diagram, etc., are used for pictorial representation of the internal mechanism [18].
Software Testing using the object-oriented approach is always a challenging job for the
researchers in recent days. To produce quality software, Automation of Software Testing plays a
vital role [19].
• Object-oriented programming including inheritance, multiple inheritance, polymorphism,
encapsulation, overloading, etc. which still remains unsolved and though many ideas and
methodologies have been proposed, they are not yet standardized and the problem remains
unsolved.
• It was surprisingly found out that the specific features introduced by the object- oriented
programming concepts are making programming easy but at the same time are making
difficult its testing, at the same time, the existing testing techniques would not be suitable
at all to test those complex object-oriented features.
• In object-oriented testing domain, the traditional levels of testing for procedural programs
like unit testing, integration testing are not applicable, the different levels of object-oriented
testing are class, cluster and system testing.
• The most complex part of object-oriented testing is the in approachability of its source code
due to its specific features data abstraction and encapsulation [18].
• Modelling, analysis, design, and testing of object-oriented software is different as
compared to the structured approach.
19
Need for Test Data Generation
Test case generation has a significant role in testing process. Manual testing process
exhausts 40-70% time and cost of software development process. Various automated methods for
test case generation have been proposed to overcome the lacuna of time consumption in manual
testing process. Model Based Testing is a way of generating test cases automatically [20].
Automated software testing was introduced to significantly reduce the cost and the time of
testing process. Hence, building and improving techniques and algorithms for automation software
testing are subjects of research, where all algorithms target to achieve more software testing
coverage, which lead to more errors discovered and resulting in high software confidence. So, in
software testing we aim to reveal such errors in order to avoid failures during design of system
[21].
Step 1: A survey of various software testing techniques and Meta Heuristic Algorithms.
Step 2: We will generate test cases by using combination of UML (Unified Modelling Language)
diagrams.
Step 3: Will use four UML’s (Unified Modelling Language) Diagrams like Use Case Diagrams,
Sequence Diagrams, Activity Diagram and State Transition Diagram etc.
Step 6: For generating test cases we will use searching techniques they can be Depth-First-Search
and Breath-First-Search techniques etc.
Step 7: After generating the test cases we will try to optimize the test cases.
Step 8: For optimizing we will implement hybrid optimization algorithm using some Meta
Heuristic Techniques like Genetic Algorithms, Particle Swarm Optimization, Ant Colony
Optimization, Bee Colony Optimization, Firefly, Cuckoo Search, Differential Algorithm etc.
Step 10: We will take two or more algorithms to implement proposed Hybrid Algorithm for
optimization process.
Step 11: In the end will Test and validate the projected framework effectiveness with various
attributes and parameters.
20
Model Identify Test Requirements
4.4 Objectives
Objective 1 “A Survey of testing techniques and meta heuristic algorithms used to generate
and optimize test cases for object-oriented systems”.
In the recent years many researchers have proposed different strategies for generating test cases
and optimizing those test cases. The first objective is to do the survey of various strategies
proposed in the literature so far.
Objective 2 “To design a new Technique for generating Test cases and the optimization of
those test cases.”
The objective is to put forward a new optimization technique for optimization of test cases using
various meta heuristic algorithms. For test case generation various UML (Unified Modelling
Language) Diagrams can be used.
21
Objective 4 “Determine the possibility of applying Hybrid Algorithm in model-based test
suite optimization.”
In this objective we will determine whether a combination of Meta Heuristic algorithms help in
finding an optimal solution for optimization and prioritization problems by minimizing the
limitations present in the algorithms.
4.5 Challenges
• To collect relevant, authentic and accurate data from the available data in data warehouses,
organizations and databases.
• To choose the specific Meta Heuristic Algorithm which will be used to implement our
proposed Hybrid algorithm for optimization process.
• To generate efficient test cases.
• To implement Hybrid algorithm for test case optimization process.
• In analyzing the test cases.
• Research work will to be done to generate efficient test cases and optimize those test cases.
22
CHAPTER 5
The data will be created which will include some source code programs written in MATLAB.
Research papers will be downloaded from Internet, IEEE, Springer and Elsevier website, ACM,
Science Direct, Wiley, World Scientific, JMIR.
23
CHAPTER 6
Results & Discussions
As we have discussed so many papers. According to those papers we can discuss the
following problems and try to generate the following beneficial results by our propose research
work.
The software development organizations spend more than two third of the project
development cost on product testing. The main intention of testing is to define some specific set
of test suites that are capable enough to reveal the hidden errors/faults associated with the software
under test thus avoiding bugs or system failures in future.
The proposed framework will be applied for testing real life problems, that is the test suites
will be derived for testing by following the proposed methodology without any further
modifications or improvements. The software requirement specification document of any problem
statement will be used for designing UML models and from those models test suits can be derived
by replicating framework without further modification.
24
CHAPTER 7
Conclusion and Suggestions for Future Work
7.1 Conclusions
Software testing is one of the crucial activity or phases in software development life cycle.
It is an expensive process 50% of the total cost of software development life cycle involves in
testing process. It also uses man power. The aim of automated test case generation using by
developing model-graph will be to provide effectiveness, effortless process and for optimization
we will implement hybrid meta heuristic algorithm. To meet these challenges, this seminar report
study UML technique for model development for generating test cases and Meta Heuristic
Algorithms to implement Hybrid Algorithm for optimize these automated test cases. In this
research we will try to generate test cases automatically using unified modelling language. To
generate suitable test cases, methods will traverse to cover each node.
Since manual generation of test data consumes much of the computational time, the process
of test data generation will be automated. Based on the predicate path, test cases will generate and
for optimization of produced test cases we will try to implement algorithm using Meta Heuristic
Algorithms. Automated test case generation demands lower calculation cost and higher efficiency.
Algorithms that meet these criteria without deteriorating performance are needed.
We will compare our results with the existing results.
Software demand in over day to day life is increasing daily. Software development is the
process which can never be end because in our society and industry all works is related to computer
and for operating computer software demands increases day by day. Therefore, to develop good
software, testing is must. Software testing is an extremely potential field of research from both
scientific and commercial points of view. So, there should be a maximum interaction between
specification writers and testers for better understanding and early reviews, which may fix
ambiguity problems and consequently result in saving the cost of later fixing of the software.
Future work is to achieve better path coverage using adaptive and hybrid approaches of
soft computing techniques. Research and development is a continuous process.
In future work, models will be trained by combining more techniques and algorithms to
overcome the testing problems.
This framework can be further enhanced by using the hybrid version of other metaheuristic
algorithms and different UML models, taking into consideration large data sets.
25
Beneficial for Society/Industries
This research work will be beneficial for the society for the following reasons:
26
References
[2] R. K. Sahoo, S. K. Nanda, D. P. Mohapatra, and M. R. Patra, “Model driven test case
optimization of UML combinational diagrams using hybrid bee colony algorithm,” Int. J.
Intell. Syst. Appl., vol. 9, no. 6, pp. 43–54, 2017.
[4] P. Mahajan, “Different Types of Testing in Software Testing,” Int. Res. J. Eng. Technol.,
vol. 03, no. 04, pp. 1661–1664, 2016.
[5] A. Uddin and A. Anand, “Importance of Software Testing in the Process of Software
Development,” IJSRD-International J. Sci. Res. Dev., vol. 6, no. January, pp. 2321–0613,
2019.
[7] A. A. Sawant, P. H. Bari, and P. . Chawan, “Software Testing Techniques and Strategies,”
J. Eng. Res. Appl., vol. 2, no. 3, pp. 980–986, 2012.
[9] V. Singh and S. Ramasamy, “An Exploration of Model Based Testing,” vol. 6, no. February
2015, 2016.
[10] G. Kaur, “Improvement in Genetic Algorithm to Increase Error Detection Rate for Product
Line Model based Testing,” vol. 8, no. 1, pp. 904–910, 2017.
[11] N. Rafique, N. Rashid, S. Awan, and Z. Nayyar, “Model Based Testing in Web
Applications,” Int. J. Sci. Eng. Res., vol. 2, no. 1, pp. 56–60, 2014.
[13] P. Jain and D. Soni, “A Survey on Generation of Test Cases using UML Diagrams,” pp.
1–6, 2020.
27
[14] R. Khan, M. Amjad, and A. K. Srivastava, “Generation of automatic test cases with
mutation analysis and hybrid genetic algorithm,” 3rd IEEE Int. Conf. , no. October, 2017.
[15] X. Lv, S. Huang, and H. Ji, “Input domain reduction of search-based structural test data
generation using interval arithmetic,” Int. J. Performability Eng., vol. 14, no. 6, pp. 1330–
1340, 2018.
[16] B. Xu, X. Xie, L. Shi, and C. Nie, “Application of genetic algorithms in software testing,”
Adv. Mach. Learn. Appl. Softw. Eng., no. November 2009, pp. 287–317, 2006.
[18] A. K. Jena, Services and Business Process Reengineering Automated Software Testing.
[20] R. R. Sahoo and M. Ray, “PSO based test case generation for critical path using improved
combined fitness function,” J. King Saud Univ. - Comput. Inf. Sci., vol. 32, no. 4, pp. 479–
490, 2020.
[22] S. Zhang, J. Pu, and Y. Si, “An Adaptive Improved Ant Colony System Based on
Population Information Entropy for Path Planning of Mobile Robot,” IEEE Access, vol. 9,
pp. 24933–24945, 2021.
[23] C. Xia, Y. Zhang, and Z. Hui, “Test Suite Reduction via Evolutionary Clustering,” IEEE
Access, pp. 1–1, 2021.
[24] O. Cosma, P. C. Pop, and I. Zelina, “An effective genetic algorithm for solving the
clustered shortest-path tree problem,” IEEE Access, vol. 9, 2021.
[25] Y. Huang, T. Shu, and Z. Ding, “A Learn-to-Rank Method for Model-Based Regression
Test Case Prioritization,” IEEE Access, vol. 9, pp. 16365–16382, 2021.
[27] V. Arora, M. Singh, and R. Bhatia, “Orientation-based Ant colony algorithm for
synthesizing the test scenarios in UML activity diagram,” Inf. Softw. Technol., vol. 123,
no. February, p. 106292, 2020.
28
[28] X. Dang, X. Yao, D. Gong, T. Tian, and B. Sun, “Multi-Task Optimization-Based Test
Data Generation for Mutation Testing via Relevance of Mutant Branch and Input
Variable,” IEEE Access, vol. 8, pp. 144401–144412, 2020.
[29] C. L. Prabha and N. Shivakumar, “Improving Design Quality of Software Using Machine
Learning Techniques,” 2020 6th Int. Conf. Adv. Comput. Commun. Syst. ICACCS 2020,
pp. 583–588, 2020.
[31] M. Panda and S. Dash, “Test Suit Generation for Object Oriented Programs : A Hybrid
Firefly and Differential Evolution Approach,” pp. 179167–179188, 2020.
[33] N. El Houda Dehimi and F. Mokhati, “A Novel Test Case Generation Approach based on
AUML sequence diagram,” Proc. - ICNAS 2019 4th Int. Conf. Netw. Adv. Syst., pp. 1–4,
2019.
[35] P. Liu, Y. Li, and Z. Li, “Some Thoughts on Model-Based Test Optimization,” Proc. -
Companion 19th IEEE Int. Conf. Softw. Qual. Reliab. Secur. QRS-C 2019, pp. 268–274,
2019.
[38] K. Louzaoui, “Behavior for Object Oriented Programs,” 2018 Int. Conf. Electron. Control.
Optim. Comput. Sci., pp. 1–6.
29
[40] “rre cte d Au tho r P roo f Un co Un co rre cte d Au tho r P roo f,” 2018.
[42] V. Panthi and D. P. Mohapatra, “An approach for dynamic web application testing using
MBT,” Int. J. Syst. Assur. Eng. Manag., vol. 8, pp. 1704–1716, 2017.
[44] V. Panthi and D. Prasad, “Generating and evaluating effectiveness of test sequences using
state machine,” Int. J. Syst. Assur. Eng. Manag., no. Jorgensen 2008, 2016.
[45] V. Panthi and D. P. Mohapatra, “Generating Prioritized Test Sequences Using Fire fl y
Optimization Technique State machine,” vol. 2, pp. 627–635, 2015.
[46] P. P. Sarangi, A. Sahu, and M. Panda, “Training a Feed-Forward Neural Network Using
Artificial Bee Colony with Back-Propagation Algorithm,” pp. 511–519.
[47] S. Wang, S. Ali, T. Yue, and M. Liaaen, “Using feature model to support model-based
testing of product lines: An industrial case study,” Proc. Int. Symp. Phys. Fail. Anal. Integr.
Circuits, IPFA, pp. 75–84, 2013.
[48] C. S. Wu, C. H. Huang, and Y. T. Lee, “The test path generation from state-based
polymorphic interaction graph for object-oriented software,” Proc. 2013 10th Int. Conf.
Inf. Technol. New Gener. ITNG 2013, pp. 323–330, 2013.
[49] B. K. Aichernig, F. Lorber, and S. Tiran, “Integrating model-based testing and analysis
tools via test case exchange,” Proc. - IEEE 6th Int. Symp. Theor. Asp. Softw. Eng. TASE
2012, pp. 119–126, 2012.
[50] Z. Wang, “The Study of Smart Phone Development Based on UML,” pp. 2791–2794, 2011.
[52] “ApplicationsofUML”,Wikipedia.Retrieved.March.5.2021,from
https://en.m.wikipedia.org/wiki/Applications_of_UML
[54] “Metaheuristic”,Wikipedia.retrieved.March.10.2021,from
https://en.wikipedia.org/wiki/Metaheuristic
30
[55] C. Xia, Y. Zhang and Z. Hui, "Test Suite Reduction via Evolutionary Clustering," in IEEE
Access, vol. 9, pp. 28111-28121, 2021.
[56] Sahoo, R.K., Satpathy, S., Sahoo, S. et al. Model driven test case generation and
optimization using adaptive cuckoo search algorithm, Innovations Syst Softw Eng (2021).
[57] L. Martin, C. Machine learning techniques for software testing efforts prediction. Software
Qual J (2021).
31