0% found this document useful (0 votes)
117 views31 pages

Sample Project Synopsis

This document discusses a project proposal for optimizing model-based test suites for object-oriented applications using meta-heuristic algorithms. It introduces the motivation to optimize testing as testing accounts for over 50% of development efforts. It then discusses software testing techniques including code-based, specification-based, and model-based testing. Model-based testing is proposed to be used along with meta-heuristic algorithms to optimize test suites for object-oriented systems which pose challenges to testing due to interactions between objects.

Uploaded by

Hariom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views31 pages

Sample Project Synopsis

This document discusses a project proposal for optimizing model-based test suites for object-oriented applications using meta-heuristic algorithms. It introduces the motivation to optimize testing as testing accounts for over 50% of development efforts. It then discusses software testing techniques including code-based, specification-based, and model-based testing. Model-based testing is proposed to be used along with meta-heuristic algorithms to optimize test suites for object-oriented systems which pose challenges to testing due to interactions between objects.

Uploaded by

Hariom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Project Title: MODEL BASED TEST SUITS OPTIMIZATION USING META

HEURISTICALGORITHMS FOR OBJECT ORIENTED APPLICATIONS

Synopsis Submitted
to

Maharishi Markandeshwar (Deemed to be University)

In partial fulfillment of the requirement for the award of the degree of


Bachelor of Technology

In

Computer Science Engineering

By

Students Name
Enrollment Number

Name of Project Supervisor Name of Students

Maharishi Markandeshwar Deemed to be University


(Computer Science & Engineering Department, M. M. Engineering College, Mullana,
Ambala – 133207, Haryana, India)

(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 Tasks

• To find out defects as early as possible.


• Defect reporting.
• Checking corrections done for defects.
• Verifying that no new defect has come after correction [4].

1.2 Need for Software Testing

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].

1.3 Software Testing Life Cycle (STLC)

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

Types of Software Testing

Static Testing Dynamic Testing

Informal Reviews

Walkthrough
Code Coverage Specification Model-Based
Testing Based Testing Testing
Technical Reviews

Inspections Control Flow Equivalence Offline testing


Testing Partitioning
Static Analysis
Branch Testing Boundary Value Online Testing
Data Flow Analysis
Basis Path Testing
Control Flow Fuzzing
Data Flow Testing State Transition
Loop Base Testing

Figure 1 Software Testing Techniques

1.4.1 Code Based Testing

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

1.4.2 Specification Based Testing

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].

Disadvantages of Specification Based Testing


• Test cases are hard to design without clear specifications.
• Only small numbers of possible input can actually be tested.

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].

1.4.3 Model-Based Testing

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].

Advantages of Model-Based Testing


• We have not necessary for writing new tests for every new aspect. When we have a model
it becomes easy to re-generate the test cases than the manual test cases.
• Whenever add a new feature, one new action is added to state machine for running in
combination with old actions. A small change automatically done by whole suite of test
cases. So, the designing is fluid.
• Design much and less coding.
• Tests continuously used to find bugs [10].

Disadvantages of Model-Based Testing


• This testing technique requires skilled software tester.
• The learning curve of model-based testing is pretty steep and its complexity makes it a
challenge to understand for beginners.

Applications of Model-Based Testing


• Model-Based testing is used by testers and they moving design tasks from the lab and field
to the desktop.
• For software and hardware implementation for embedded deployment and create test
benches for saving time and avoiding the introduction of manually coded errors.
• Model based testing is used for component-based system design, embedded systems,
internet of things, object-oriented systems.
• Web applications have become an important aspect of life. It is used to support many
activities like online information sharing, for business transactions and many other related
things [11]. These web-based applications are also used model-based testing.

1.5 Object-Oriented System/Software

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].

Applications of Object-Oriented Technology

This technology can be used in following fields.

• User interface design such as windows, menu.


• Real time systems.
• Simulation and modeling.
• Object oriented databases.
• Artificial Intelligence and Expert system.
• Neural Networks and parallel programming.
• Decision support and office automation systems [51].

Code Based Testing Versus Model Based Testing

Code based testing has two important disadvantages.


• First, certain aspects of behavior of a system are difficult to extract from code but are easily
obtained from design models.
• The state-based behavior captured in a state diagram and message paths are simple
examples of this.
• It is very difficult to extract the state model of a class from its code. On the other hand, it
is usually explicitly available in the design model.
• Similarly, all different sequences in which messages may be interchanged among classes
during the use of a software is very difficult to extract from the code, but is explicitly
available in the UML sequence diagrams.
• Another prominent disadvantage of code-based testing is very difficult to automate and
code-based testing overwhelmingly depends on manual test case design.
• An alternative approach is to generate test cases from requirements and specifications.
These test cases are derived from analysis and design stage itself.
• Test case generation from design specifications has the added advantage of allowing test
cases to be available early in the software development cycle, thereby making test planning
more effective.
• Model based testing (MBT), as implied by the name itself, is the generation of test cases
and evaluation of test results based on design and analysis models [12].

1.6 Unified Modelling Language

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

Figure 1 Unified Modelling Language Diagram

Application of UML

UML has been used in following areas


• Enterprise information systems
• Banking and financial services
• Telecommunications
• Defense
• Transportation
• Retail
• Science and Research
• Distributed Web-based services
• Web applications are software-intensive system and UML is among the efficient choice of
languages for modeling them.
• UML can be used for specification, design and implementation of modern embedded
systems [52].

7
1.7 Meta Heuristic Algorithms

Metaheuristic optimization deals with optimization problems using metaheuristic algorithms.


Optimization is essentially everywhere, from engineering design to economics and from holiday
planning to Internet routing. As money, resources and time are always limited; the optimal utility
of these available resources is crucially important [53].

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

Evolutionary Algorithms Swarm Based Algorithms


Examples: Genetic Algorithm, Examples: Ant Colony Optimization
Genetic Programming etc. Whale Optimization Algorithm etc.

Physics Based Algorithms Human Based Algorithms


Examples: Simulated Annealing, Examples: Teaching Learning Based
Charged System Search etc. Optimization Algorithm,
Exchange Market Algorithm etc.

Diagram of Meta Heuristic Algorithms

1.8 Research Issues

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

Issues are as follows


• Testing does not include efforts associated with tracking down bugs and fixing them. In
other words, testing does not include the debugging or repair of bugs. Testing is a procedure
of finding faults, defects in the software [17].
• Software testing takes approximately 60% of resources for the software development. It is
the process of executing a program or application to detect the software bugs. In software
development life cycle, the testing phase takes around 60% of cost and time [1].
• The software quality estimation uses several factors such as reliability, efficiency, software
functionality, testability and so on.
• Most of the software delivered without enough testing, which is due to marketing pressures
and the aim to save testing time and cost but delivering the software without sufficient
testing may lead to loss of revenue [1].
• On-time and On-demand delivery of software product to market have always been a
challenging task. Software application providers have to take drastic measures to speed up
their development process in order to survive into the ever-demanding competitive
software market [18].

1.8.2 Problems in Object Oriented Systems

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].

1.9 Motivation of the Work

• 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

Literature Survey and Review of the Past Research Work

2.1 Literature Survey and Review of the Past Research Work

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:

Testing efficiency can be further improved.

Table 1: Literature Survey and Review of the Past Research Work

Ref. Authors Work Area & Key Vision


[1] Lakshminarayana In this paper, Cuckoo Search and Bee Colony Algorithm
P, T V method is used for optimization of test cases and generation
SureshKumar of path convergence within minimal execution time.
[2] Rajesh Ku. Sahoo, A hybrid bee colony algorithm is proposed in this paper for
Santosh Kumar generating and optimizing the test cases from
Nanda, Durga combinational UML (Unified Modelling Language)
Prasad diagrams.
Mohapatra,
Manas Ranjan
Patra
[3] Mohamed Mussa, This paper, discusses the model-driven testing techniques
Samir Ouchani, presented in 15 different studies. They compare these
Waseem Al techniques according to specific criteria including the
Sammane, modeling language used to represent the system design
Abdelwahab artifacts, the ability to automatically generate test cases, the
Hamou-Lhadj testing target, and tool support.
[4] Prasad Mahajan The paper attempts to provide the overview of software
testing field.

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

3.1 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].

3.2 Research Gaps

• 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

4.1 Statement of the Problem

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.

4.2 Research Issues

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

Issues are as follows


• Testing does not include efforts associated with tracking down bugs and fixing them. In
other words, testing does not include the debugging or repair of bugs. Testing is a procedure
of finding faults, defects in the software [17].
• Software testing takes approximately 60% of resources for the software development. It is
the process of executing a program or application to detect the software bugs. In software
development life cycle, the testing phase takes around 60% of cost and time [1].
• The software quality estimation uses several factors such as reliability, efficiency, software
functionality, testability and so on.
• Most of the software delivered without enough testing, which is due to marketing pressures
and the aim to save testing time and cost but delivering the software without sufficient
testing may lead to loss of revenue [1].
• On-time and On-demand delivery of software product to market have always been a
challenging task. Software application providers have to take drastic measures to speed up
their development process in order to survive into the ever-demanding competitive
software market [18].

Problems in Object Oriented Systems

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].

4.3 Work & Objectives

Our Proposed Approach Involves the Following Steps:

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 4: We will convert UML Diagrams into individual Graphs.

Step 5: We will integrate these graphs for test case generation.

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 9: We will try to implement proposed Hybrid Algorithm for optimization.

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

Optimize Test Suits using


Generate Test Suits Adequate? Proposed Algorithm
No Yes

Analyse the Produced


Results
Test Suits

Optimized Test Suits

BLOCK DIAGRAM OF PROPOSED WORK

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.

Objective 3 “Comparison of new generated optimization technique with the existing


Techniques used for optimization of test cases on different criteria.”
The next objective of this research work is to compare the new generated optimized technique with
the existing technique. The main emphasis is on generation and optimization of test cases using
different UML diagrams and Meta Heuristic Algorithms.

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.

Objective 5 “Performance analysis of new hybrid optimization algorithm.”


In this objective we will analyze produced result with the different parameters and existing work.

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

Material Methodologies, Tools, Platform, Experimental Setup and Hardware


Requirements

5.1 Material Methodologies, Tools, Platform

Data Capturing Tools


Software’s for preprocessing (MATLAB)
Implementation (RATIONAL ROSE, MATLAB)
Interpretation

5.2 Experimental Setup, Hardware Requirements

The data will be created which will include some source code programs written in MATLAB.

The research will be done in theoretical manner and experimental part.

Theoretical part will be done by consulting library, books, journals

Research papers will be downloaded from Internet, IEEE, Springer and Elsevier website, ACM,
Science Direct, Wiley, World Scientific, JMIR.

All p r o j e c t & research work is proposed to be done in Computer Science Engineering


Department, MMDU

23
CHAPTER 6
Results & Discussions

6.1 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.

Currently in major sectors like banking, stock markets, telecommunication, health


management, university management, internet applications, rocket launching systems and mobile
applications etc., almost in every domain the widespread use of object-oriented programming
approach is noticed.

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.

Automatic test suite generation in object-oriented programming is a challenging task. This


research proposes a novel hybrid framework to generate optimized test suits targeting path-based
coverage criteria of testing by developing hybrid optimization algorithm for test cases. By using
our proposed Hybrid Algorithm will try to prove its efficiency in solving many engineering
optimization problems.

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.

7.2 Suggestions for Future Work

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:

• Currently in major sectors like banking, stock markets, telecommunication, health


management, university management, internet applications, rocket launching systems and
mobile applications etc., almost in every domain the widespread use of object-oriented
programming approach is noticed.
• Phone systems are typically state rich and many faults in such systems are detected by
model-based testing for a prolonged period, making state machines an ideal solution for
those purposes. This has been validated by several experience reports.
• To model HTML files for a web browser or mathematical expressions for a scientific
calculator, a grammar is probably the quickest and easiest to build, since grammars are
typically used to describe such languages. In addition, for decent browsers and calculators,
such grammars would already be available, especially since they would be needed to build
HTML and mathematical expression parsers.
• Parallel systems are expected by definition to have several components that run
concurrently, perhaps each with a different model. If the individual components can be
modeled using state machines, then state charts are a reasonable solution for a couple of
reasons.

26
References

[1] P. Lakshminarayana and T. V. Sureshkumar, “Automatic Generation and Optimization of


Test case using Hybrid Cuckoo Search and Bee Colony Algorithm,” J. Intell. Syst., vol.
30, no. 1, pp. 59–72, 2020.

[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.

[3] M. Mussa, S. Ouchani, W. Al Sammane, and A. Hamou-Lhadj, “A survey of model-driven


testing techniques,” Proc. - Int. Conf. Qual. Softw., pp. 167–172, 2009.

[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.

[6] M. A. Jamil, M. Arif, N. Sham, A. Abubakar, and A. Ahmad, “Software Testing


Techniques : A Literature Review,” no. November, 2016.

[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.

[8] L. Villalobos-Arias, C. Quesada-López, A. Martínez, and M. Jenkins, “Evaluation of a


model-based testing platform for Java applications,” IET Softw., vol. 14, no. 2, pp. 115–
128, 2020.

[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.

[12] S. K. Swain, S. K. Pani, and D. P. Mohapatra, “Model based object-oriented software


testing,” J. Theor. Appl. Inf. Technol., vol. 14, no. 1, pp. 30–36, 2010.

[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.

[17] C. JMTauro, N. Ganesan, A. Ghosh, and N. Ghosh, “Testing Object-Oriented Software


Systems: A Survey of Steps and Challenges,” Int. J. Comput. Appl., vol. 42, no. 8, pp. 16–
20, 2012.

[18] A. K. Jena, Services and Business Process Reengineering Automated Software Testing.

[19] A. Mahindru and A. L. Sangal, Feature-Based Semi-supervised Learning to Detect


Malware from Android. 2020.

[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.

[21] J. H. Hasan, A. M. Alshraideh, and A. B. Mahafzah, “Branch Coverage Testing Using


Anti-Random Technique,” i-manager’s J. Softw. Eng., vol. 8, no. 2, pp. 7–19, 2013.

[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.

[26] N. Luo, W. U. Lin, G. Jin, C. Jiang, and J. Chen, “Decomposition-Based Multiobjective


Evolutionary Algorithm With Genetically Hybrid Differential Evolution Strategy,” vol. 9,
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.

[30] R. Lima, A. M. R. Da Cruz, and J. Ribeiro, “Artificial Intelligence Applied to Software


Testing: A Literature Review,” Iber. Conf. Inf. Syst. Technol. Cist., vol. 2020-June, no.
June, pp. 24–27, 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.

[32] K. Vengatesan, A. Kumar, and M. Parthibhan, Proceeding of the International Conference


on Computer Networks, Big Data and IoT (ICCBI - 2018), vol. 31, no. August 2016.
Springer International Publishing, 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.

[34] M. Khatibsyarbini, M. A. Isa, D. N. A. Jawawi, H. N. A. Hamed, and M. D. Mohamed


Suffian, “Test Case Prioritization Using Firefly Algorithm for Software Testing,” IEEE
Access, vol. 7, pp. 132360–132373, 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.

[36] S. A. A. Shah, S. S. A. Bukhari, M. Humayun, N. Z. Jhanjhi, and S. F. Abbas, “Test case


generation using unified modeling language,” 2019 Int. Conf. Comput. Inf. Sci. ICCIS
2019, pp. 1–6, 2019.

[37] V. Panthi, A. Gardizy, R. K. Mohapatra, and D. Prasad Mohapatra, “Functionality Testing


of Object-Oriented Software Using UML State Machine Diagram,” 2018 Int. Conf.
Circuits Syst. Digit. Enterp. Technol. ICCSDET 2018, pp. 1–7, 2018.

[38] K. Louzaoui, “Behavior for Object Oriented Programs,” 2018 Int. Conf. Electron. Control.
Optim. Comput. Sci., pp. 1–6.

[39] H. P. Putro, “Software Verification and Validation on Object Oriented Software


Development Using Traceability Matrix,” 2018 Third Int. Conf. Informatics Comput., pp.
1–5.

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.

[41] G. Wang, “Earthworm optimisation algorithm : a bio-inspired metaheuristic algorithm for


global optimisation problems Suash Deb Leandro dos Santos Coelho,” vol. 12, no. 1, pp.
1–22, 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.

[43] J. C. Bansal, Soft Computing for Problem Solving, vol. 2. 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.

[51] “Application Of Object Oriented Programming”, Tutorialink.Retrieved.March 3,2021,


from https://tutorialink.com/cpp/applications-of-object-oriented-programming.cpp

[52] “ApplicationsofUML”,Wikipedia.Retrieved.March.5.2021,from
https://en.m.wikipedia.org/wiki/Applications_of_UML

[53] X. S. Yang “Metaheuristic Optimization”, Scholarpedia, 6(8):11472 2011.

[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

You might also like