基于遗传算法的嵌入式软件测试用例生成系统研究
随着科技水平的不断提高,嵌入式计算机、大规模可编程逻辑器件等数字设备已越来越多地应用于武器装备之中,起着逻辑控制和大规模数字计算的作用,控制这些硬件运行的软件称为实时嵌入式软件。由于所处运行环境和所要完成任务的特殊性,实时嵌入式软件与一般应用软件相比,有其自身的特性。这些特性主要表现为实时性、反应性和嵌入特性,其对实时嵌入式软件的测试提出了许多新的挑战[1]。
嵌入式软件也应用于我军装备的方方面面,其中不少软件起着核心控制作用。嵌入式软件可靠性的问题是关系到武器装备可靠性的重要一环,软件测试则是保证软件可靠性的主要实施手段。
目前,对嵌入式软件测试一般可采用以下2种方法:其一是将嵌入式软件的代码剥离出来,然后用数学平台进行测试;其二是直接将整个系统(包括硬件平台和嵌入式软件)和其交联的物理设备真实地建立连接,形成闭环测试[2]。在测试中由于工作量过大,一般不采用穷举测试,目前国内对实时嵌入式软件测试用例生成的研究甚少,尤其嵌入式软件测试用例的自动筛选更是软件测试自动化的难点,因此,手工、低效、高花费已经成为软件测试过程中不可忽视的问题[2]。
笔者利用遗传算法,综合考虑了嵌入式软件的特点,设计并实现了软件测试用例自动生成系统,通过计算机仿真,分析了不同参数对系统性能的影响,改进了部分算子,提高了嵌入式软件测试用例生成的效果。
1 嵌入式软件测试用例生成系统设计
对于可靠性要求高的软件,测试一定要满足某种路径或逻辑覆盖准则,以保证至少满足语句覆盖准则,对于某些重要装备软件甚至需要做到路径覆盖达到100%。鉴于这样的要求,随机产生的测试用例显然不满足要求,恰好生成覆盖制定路径的测试用例概率较小[3]。
1·1 遗传算法
遗传算法是一种基于自然选择原理和自然遗传机制的搜索寻优算法,按照基于种群和个体的设计方案,加入自然选择、交叉和变异操作,进行问题的优化求解。通过进化过程中的遗传操作,改变个体基因,并根据个体适应度的大小进行优胜劣汰,选择最优个体[4-5]。整个过程导致种群像自然进化一样产生的后代种群在适应度的评价上更加适应于环境,可以作为问题近似最优解。
基本遗传算法使用3大算子:选择、交叉、变异,流程图如图1所示。
主要工作步骤如下:
1)选择编码策略,把参数集合X域转换为位串空间结构S。
2)定义适应值函数F(X)。
3)确定遗传策略,包括确定群体大小M,选择、交叉、变异方法,以及确定交叉概率pc、变异概率Pm等遗传参数。
相关文章
- 2024-01-26常压储罐声发射及漏磁检测技术
- 2023-12-21基于SolidWorks的深孔件冷挤压工艺设计
- 2023-12-26基于EdgeCAM的数控加工技术在模具加工中的应用
- 2024-09-17一种索支撑柔性结构轨迹跟踪控制方法
- 2023-10-27光电跟踪测量系统中调光机构的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。