Spider Monkey Particle Swarm Optimization (SMPSO) With Coverage Criteria for Optimal Test Case Generation in Object-Oriented Systems

Spider Monkey Particle Swarm Optimization (SMPSO) With Coverage Criteria for Optimal Test Case Generation in Object-Oriented Systems

Satya Sobhan Panigrahi, Ajay Kumar Jena
Copyright: © 2022 |Pages: 20
DOI: 10.4018/IJOSSP.300750
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

System modeling in software engineering describes the procedure of creating a demonstration of real system in a conceptual way to know the system behavior. The software testing promotes reusing the model for the function of testing and this accelerates test case generation development. The test case generation verifies the reliability of system through enhanced test coverage. Test cases are the set of variables or conditions that defines the quality of product and level of correctness. This research aims to develop a method named Spider Monkey Particle Swarm Optimization (SMPSO) algorithm to generate test case using UML diagram. Accordingly, the proposed algorithm effectively generates the optimal test case by UML diagram through the construction of control graph. The proposed method achieved the coverage as 76, and generates the number of test cases as 82413.
Article Preview
Top

1. Introduction

In the software development strategy, the test cases can be generated with UML diagrams. Based on the functionality, the problems and the bugs are identified earlier to save time. The test cases are generated such that irrelevant test cases are reduced using the framework of objects and classes. Various traditional methods are used on various applications, like Java, where the tests are effectively generated and executed (Dhir, 2012). Testing is the procedure of performing the source code by varying inputs under different scenarios and is various contexts to ensure whether the actual performance of the system met the expected behavior in all the scenarios and contexts (Zamani &Hemmati, 2021). Software testing is the common and widely used method for verifying the software system and is generally used in recent decades in various applications (Savyanavar and Ghorpade, 2019; Thakur, 2018; Kumar, et al., 2020). However, software testing is a complex activity (Bertolino, 2007; Paiva et al., 2020). The software becomes more complex and so testing the actual behavior manually is not feasible in the system (Moreira et al., 2017; Paiva et al., 2020). Hence, automatic software test is the solution to handle the restriction of time and the computational complexity. However, different software testing tools are available such that they are classified based on their criteria (Poston & Sexton, 1992). With regards to the degree of automation, most of the tools only automate test execution, whereas the others automate the generation of the test case, which are not required to be printed by the testers manually, but they are still needed to execute it physically(Paiva et al., 2020).

The UML testing offers the concepts that consider both systematic and pragmatic development of the concise test models and test specifications(Baker et al., 2004). Various concepts are utilized in the UML including test architecture, testing time, and test behavior. The test architecture shows the structural properties of test system such that it includes test context, the system under test, components of the test and the scheduler. Accordingly, the behavior of test shows the evaluation and actions that are required to define the goal of test. The behaviors approaches are utilized to indicate the behavior of the scheme. Some instances of the behavior diagrams is state machines, interaction diagrams, and activity diagrams such that they are used to define test control, test stimuli, actions and coordinations. The test time concept is used to complete the concept required for modeling the test and the timing concepts contain timers and time zones in UML for controlling and manipulating the behavior of the test and to integrate the components within the distributed system (Dhir, 2012). In the past decades, UML based testing model faces some challenges in the complex and large software industry system. However, the integration of UML specification in the software development system changed the development way and also it changes the testing process. Moreover, it causes shortening errors in the design phase. In general, executing the object-oriented program can start with the instantiation of thingsand thereafter message is passed to one of the objects or itself to process the calculation. However, messages are used to specify the dynamic observation of structure in the UML behavioral model. With testing perspective, the UML transition sequence from various artifacts offers essential information regarding the messages, like receiver or sender object, guard conditions and associated parameters (Shirole & Kumar, 2013).

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing