计算机科学
自动化
软件
测试管理方法
启发式
遗传算法
过程(计算)
试验数据
数据挖掘
模因算法
机器学习
基于搜索的软件工程
算法
人工智能
软件系统
软件开发
软件开发过程
软件建设
软件工程
工程类
机械工程
操作系统
程序设计语言
作者
Mehdi Esnaashari,Amir Hossein Damia
标识
DOI:10.1016/j.eswa.2021.115446
摘要
Software testing is one of the most important methods of analyzing software quality assurance. This process is very time consuming and expensive and accounts for almost 50% of the software production cost. In addition to the cost problem, the nature of the test, which seeks errors in the program, is such that software engineers are not interested in doing the process, so we are looking to use automated methods to reduce the cost and time of the test. In the last decade, various methods have been introduced for the automatic test data generation, the purpose of which is to maximize the detection of errors by generating minimum amount of test data. The main issue in the test data generation process is to determine the input data of the program in such a way that it meets the specified test criterion. In this research, a structural method has been used in order to automate the process of test data generation considering the criterion of covering all finite paths. In structural methods, the problem is converted into a search problem and meta-heuristic algorithms are used to solve it. The proposed method in this paper is a memetic algorithm in which reinforcement learning is used as a local search method within a genetic algorithm. Experimental results have shown that this method is faster for test data generation than many existing evolutionary or meta-heuristic algorithms and can provide better coverage with fewer evaluations. Compared algorithms include: conventional genetic algorithm, a variety of improvements to the genetic algorithm, random search, particle swarm optimization, bees algorithm, ant colony optimization, simulated annealing, hill climbing, and tabu search.
科研通智能强力驱动
Strongly Powered by AbleSci AI