对大多数软件,很难根据规格说明自动产生期望的输出.而对于某些软件,输出域存在许多值得关注的检测点,适合于从输出域出发开发测试用例.但对于给定的输出,自动生成相应的输入也较为困难.提出了一种基于输出域的测试用例自动生成方法,首先利用BP神经网络构建被测软件的功能模型,然后在被测软件的功能模型上,对于给定的输出,利用遗传算法搜索相应的输入,实现基于输出域的测试用例自动生成.同时,对遗传算法进行了改进,提出了一种新的交叉算子和变异算子,以提高遗传算法生成测试用例效率,并在容错软件RSDIMU子模块和3个常用软件上进行了模型构建及测试生成实验.实验结果表明,利用遗传算法实现基于输出域的测试用例自动生成方法是行之有效的,改进的遗传算法能够提高测试生成的效率和成功率.
For most software systems it is very hard to obtain expected output automatically on the basis of specifications.However,there exist many notable detection points in output domain of some software,so it may be more suitable to develop test cases from output domain than from input.In addition,even if an output is given,it is also difficult to find its input automatically.Therefore in this paper,we present an output domain based automatic test case generation method.At first,a back propagation neural network is used to create a model that can be taken as a function substitute for the software under test,and then according to the created function model,genetic algorithms are employed to search the corresponding inputs for given outputs.In order to improve the effectiveness of test case generation,a new crossover operation and a mutation operation are introduced in our genetic algorithm.Moreover,a number of experiments have been conducted on test generation based on the created function models over the fault tolerant software RSDIMU and three common used software.The experimental results show that the approach is promising and effective,and our genetic algorithm can distinctly enhance the efficiency and successful ratio to test case generation from output domains.