
Integrating Evolutionary Testing with Reinforcement Learning for Automated Test Generation of Object‐Oriented Software
Author(s) -
He Wei,
Zhao Ruilian,
Zhu Qunxiong
Publication year - 2015
Publication title -
chinese journal of electronics
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.267
H-Index - 25
eISSN - 2075-5597
pISSN - 1022-4653
DOI - 10.1049/cje.2015.01.007
Subject(s) - computer science , reinforcement learning , software testing , test (biology) , artificial intelligence , software , software engineering , object (grammar) , object oriented programming , reinforcement , machine learning , programming language , psychology , biology , paleontology , social psychology
Recent advances in evolutionary test generation greatly facilitate the testing of Object‐oriented (OO) software. Existing test generation approaches are still limited when the Software under test (SUT) includes Inherited class hierarchies (ICH) and Non‐public methods (NPM). This paper presents an approach to generate test cases for OO software via integrating evolutionary testing with reinforcement learning. For OO software with ICH and NPM, two kinds of particular isomorphous substitution actions are presented and a Q‐value matrix is maintained to assist the evolutionary test generation. A prototype called EvoQ is developed based on this approach and is applied to generate test cases for actual Java programs. Empirical results show that EvoQ can efficiently generate test cases for SUT with ICH and NPMand achieves higher branch coverage than two state‐of‐the‐art test generation approaches within the same time budget.