DyCITO+: Advanced Class Ordering for the Integration Testing of Java Programs
Testing object-oriented software poses the problem of defining the order in which classes are tested to reduce test costs. Initial works on the Class Integration Test Order (CITO) generation problem produced inaccurate sequences, since they mainly focused on static dependencies between classes and neglected dynamic ones. Recent works, while considering both static and dynamic dependencies, do not provide proper estimations of the cost of the different stubs and thus do not produce accurate orders. This paper focuses on Java programs and proposes DyCITO+, an extension to DyCITO, that embeds a new solution for measuring the complexity implied by dynamic coupling-aware stubs and models the generation of CITOs as a Reinforcement Learning (RL) problem. It combines the proposed stubbing complexity metric with the Deep Q Network (DQN), Proximal Policy Optimization (PPO) and Advantage Actor-Critic (A2C), respectively, to evaluate and compare them while generating CITOs with minimal overall stubbing complexity. Comprehensive experimental analysis on eight Java programs indicates that DyCITO+ can identify dynamic dependencies more accurately than other proposals by considering interface implementation, abstract class inheritance, invocation of redefined methods, and multilevel inheritance. In addition, the use of A2C generates CITOs with lower stubbing costs compared to DQN or PPO.
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2024-10-16
- DOI
- https://doi.org/10.5281/zenodo.13940166
- Primary Topic
- Software Testing and Debugging Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00