基于模型驱动的系统测试代码框架的设计与实现文献综述

 2023-08-14 09:08
  1. 文献综述(或调研报告):

基于模型驱动的软件测试的基本技术流程是首先对软件系统构建模型,然后通过对构建的模型解析自动生成测试用例进而生成测试报告。整个过程可以大致的分为:熟悉目标软件的功能,构建目标系统模型;系统模型形式化;利用形式化模型通过用例生成引擎和用例实例化引擎生成实例化测试用例库;测试用例执行生成软件测试报告,如下图所示。

其中系统设计模型通过模型转换引擎转化为系统形式化模型工作已由团队完成。因此本课题着重研究生成测试用例,模型驱动测试中生成测试用例主要可基于 PIM、测试需求模型、PIM 转换得到的测试模型实现。 当测试人员获取到有限的正确的输入的时候,也不大可能获取到所有可能的测试用例,这是就需要一些相应的测试策略来决定把什么样的用例包含到测试套中。这就需要针对不同测试模型采用不同的测试用例生成策略,策略调研结果如下图所示。常用的测试用例生成策略有:

1)遍历模型路径生成测试用例

测试模型大都有其路径可循,如有向图、FSM 等,测试用例的生成主要是采用算法对其路径进行遍历,籍此来生成测试用例。根据不方向的搜索路径,分为广度优先搜索遍历和深度优先搜索遍历;同时依据不同的算法策略,分为非递归遍历算法和递归遍历算法。

2)智能算法生成测试用例

智能算法具备算法实现简单、鲁棒性好的特点,尤其是启发性智能算法,各种智能算法的作用机制不同,也都有其优缺点。随机算法[36,37]通过在软件输入域上随机生成测试输入来测试软件,算法简单、易于执行,生成效率高,但同时能够避免测试人员的主观偏见覆盖率低、会产生大量的非法或无用的测试数据,有明显的盲目性。

遗传算法(GA)是一种启发性算法,将遗传过程与达尔文适者生存原则相结合,不断进化与淘汰测试用例,减少了测试用例自动生成的盲目性,提高了软件测试的效率,但在早期迭代阶段,测试用例种群中存在大量次优解。

模拟退火遗传算将遗传算法和模拟退火有机结合,测试效率和效果优于遗传算法,但算法执行过程相对复杂。

蚁群优化算法,增强型学习系统,将被测件信息表达为某种知识,然后应用蚁群算法完成知识推理,在推理过程中寻找到合适的测试用例集。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。