关键词:
复杂网络
测试优先度
软件稳定性
软件测试
代码覆盖率
摘要:
软件行业的不断发展壮大,软件本身复杂性不断增加的同时,软件质量问题也日益突出。从结构上研究软件的复杂性和稳定性是当今软件工程的一个新领域。复杂网络作为一种新兴的系统科学学科,它给软件系统的深入研究带来了崭新的视角。本论文以复杂网络为工具,构建软件系统的复杂网络模型,从整体上对软件网络的结构特性进行分析。本文结合真实软件系统的软件测试结果展开讨论,并结合复杂网络参数及测试代码覆盖率,提出了测试优先度的概念以及软件优先测试策略。
首先,对复杂网络基础理论知识进行了系统的介绍,包括复杂网络的研究简史、常用的复杂网络基本统计特征、四个复杂网络经典模型的基本特征和演化算法。随后一一阐述了软件测试过程中的五个主要步骤,并对软件测试的第一步单元测试过程进行了更深一步的介绍,包括单元测试的几种常用方法。
其次,选取某企业开发的软件系统为研究对象,构建了该软件系统的网络模型,绘制出软件系统的网络关系图。验证了此软件网络的无标度特性和小世界特性,为将复杂网络特征参数引入到软件网络分析中提供了依据。
最后,在分析软件系统初次单元测试中测试用例覆盖率的基础上,将复杂网络特征参数引入到软件结构研究中。结合复杂网络参数及测试代码覆盖率,提出了测试优先度的概念以及软件测试优先策略,给出了软件稳定性新见解。
实例验证结果表明:该优先策略对于提高测试覆盖率,对及时查找出软件缺陷类是有效的,有利于软件测试效率的提高。