系统测试是软件开发各个阶段中最消耗时间和资源的阶段,对于串并行软件系统来说,系统可靠性随着测试时间的推进会发生变化,如果再按照最初的方案分配测试资源,可能会造成测试资源的浪费,这时需要分阶段对测试资源进行再分配.在基于搜索理论的软件工程领域展开研究,首先,在分析测试资源、测试代价和系统可靠性关系的基础上构建了以测试资源为约束,以最大化可靠性和最小化测试成本为目标的测试资源多目标动态分配模型,按照测试进程的推进,动态地分配测试资源:然后,基于具有改进种群初始化策略的“一维整数向量编码”差异演化算法,提出了一种针对串并行软件系统的测试资源动态分配算法.对比实验结果表明,测试资源动态分配模型在保证系统可靠性的前提下,有效地节省了系统测试的消耗,提高了串并行软件系统的开发效率.
Software testing is the most time and resource consuming stage during software development. For series-parallel software systems, as the reliability of the system changes as the testing time advancing, if the strategy of testing resource allocating is still executed in accordance with the original plan, it may lead to a vast waste of testing resource. To address the issue, this paper tackles a testing resource dynamic allocation problem for series-parallel software systems with bounded resource in the field of search based software engineering. Firstly, the definitions of testing resource, system reliability and testing cost are given. Based on these definitions, a multi- objective dynamic allocation model for testing resource is established with the objective of allocating the testing resource among different modules to maximize the reliability and minimize the testing cost subject to the available testing resource. Then, a "l-dimensional integer vector coding" differential evolution algorithm with improved colony initialization strategy is proposed for the dynamic model. Comparison results with existing models show that the proposed approach is effective and efficient for solving the testing resource allocation problem, therefore providing a way to reduce the consumption of the testing resource and to improve the reliability and development efficiency of series-parallel software systems.