APP下载

嵌入式软件单元测试研究探析

2020-10-20谢晓丽吴曦

数码设计 2020年9期
关键词:嵌入式软件单元测试软件测试

谢晓丽 吴曦

摘要:嵌入式系统的应用越来越广泛,但仍然存在着许多缺陷,而单元测试则是检验嵌入式软件最有效的方式。单元测试对于嵌入式软件的检测主要体现在编码阶段,对每一个软件单元的性能、功能、接口等进行测试,发现单元内可能存在的软件缺陷,以保证软件质量。

关键词:嵌入式软件;测试环境;单元测试;软件测试

中图分类号:TP311.53 文献标识码:A 文章编号:1672-9129(2020)09-0041-01

近年来我国嵌入式技术得到了很大的发展,但嵌入式系统具有一定的复杂性,仍需要进一步进行完善。在嵌入式软件测试研究中,单元测试是最有效的一种测试方法,本文着重对嵌入式软件单元测试研究进行探讨。

1 嵌入式软件测试分析

1.1嵌入式软件测试环境分析。真实环境是一种最有效的测试环境,但在实际应用中存在着很多弊端,如消耗的资金较大,测试人员的安全也不能得到全面的保障。因而仿真环境在这样的背景之下发展得越来越迅速。仿真技术主要包括以下几个种类:其一,全实物仿真测试环境;其二,半实物仿真测试环境;其三;全数字仿真测试环境。

所谓全实物仿真主要指的是,在完全真实的环境之中对软件进行测试,设备与嵌入式软件建立起真实的连接,这属于一种闭环测试,其实最大的优点是对于测试环境的要求比较低。

所谓半实物仿真系统主要指的是,测试的环境为仿真模型,测试的对象为真实系统,属于一种非侵入性闭环测试。半实物仿真系统与全实物仿真相比有更高的要求;

而全数字仿真系统主要是指通过数字化硬件环境模型进行测试,测试的对象为相关的硬件和软件,与上述两种方式相比对测试环境的要求更高。

嵌入式软件测试环境中还存在另一种交叉开发环境,面临着以下几种主要问题:

第一,目标机与主机之间通信如何连接;

第二,主机对目标程序的控制如何顺利展开;

第三,目标机对于主机测试信息的反馈如何能够更加直观、高效。

1.2嵌入式软件测试技术分析。嵌入式软件测试技术具有更强的针对性和特殊性,因此在进行测试的过程中,测试人员需要使用专业的测试工具和软件。嵌入式软件测试需要更专业的技术进行支撑,如果测试工具和软件过于单一、通用性差,那么测试的执行工作有可能无法顺利展开,测试的结果也会因此受到影响。

嵌入式软件测试工具主要包括以下三种:硬件测试工具、软件测试工具以及综合测试工具。软件测试工具是在主机上通过软件仿真技术,对目标机进行测试。软件测试工具具有很强的优势,因此被广泛使用,Host/Target是具有代表性的软件测试工具。软件插桩技术是上述测试软件的主要测试技术,对待测软件运行存在的问题会随时进行检测。

嵌入式硬件测试工具通常运用在测试工作以及硬件设计之中,硬件测试工具不能对内存进行检测和分配,因而得到的结果也并没有很强的客观性和确定性。

嵌入式软件测试工具综合兼具了硬件和软件两种测试的优势,但是对于硬件有很强的依赖性。

2 单元测试用例方法

单元测试用例主要包括以下几种测试方法:(1)模块接口测试,主要指的是,利用测试软件,通过对被测模块的数据流进行全面测试,详细对各种输入的参数进行统一的测试。(2)所有局部数据结构检验,主要指的是数据的一致性,例如变量之间的配备,以及全局数据的正确性。(3)所有模块路径测试,主要是一种循环性的测试,将各种各样的路径和循环进行针对性测试,针对计算的准确性进行控制,发现错误及时纠正。(4)错误处理测试,主要指的是当出现检验错误的时候,要对错误进行处理,处理之后的结果还要进行测试,只有这样才能够使软件的缺陷定位更加准确,使软件的使用性进一步增强。(5)边界检验测试,主要是对数据流进行测试,并且通过比较值来判断是否可能存在错误。在程序设计过程中,要对边界数据进行详细的测试。虽然测试的过程相对复杂,但是单元测试能够很好的对其进行检验。并对这些数据进行分类检测,创建相对应的函数,对函数产生的数值范围进行分析,确保软件的正常运行。(6)逻辑覆盖测试,主要是针对待测代码的逻辑结构的各种执行代码进行测试,还要对驱动被测代码进行测试,其中主要包括语句覆盖、条件覆盖、判定覆盖等主要部分。(7)路径覆盖,就是对覆盖过程中可能存在的多种路径进行详细的分析,具有很强的优势,但是仍然存在着一定的缺陷。由于路径覆盖需要对模块所有的路径进行测试,则需要设计大量的用例,这就容易在循环测试的过程中产生数据的误差。单元测试的主要方法包括以下几种:

(1)功能分解。单元测试功能分解主要指的是,按照规则与标准对待测单元中的每一个性能和功能进行分解检查,全方面覆盖所有功能,是最常用的一种单元测试方法。

(2)等价类划分。单元测试功能等价类划分主要指的是,按照测试规则和目标,对待测程序进行不同部分的输入域划分,通过选择具有代表性的数进行测试的方法。

(3)边界值分析。单元测试功能边界值分析主要指的是,对待测程序进行边界值的測试,是一种相对模糊的范围测试。

(4)判定表。单元测试功能策略表又称之为判定表,以策略表为测试的主体,具有极强的严密性,因此能够更好的保证测试结果的客观性与准确性。该测试方法可以对复杂的待测系统进行测试,并且可以自动对测试结果进行合并与优化,使策略表更加清晰准确。

(5)正交实验法。所谓正交实验法主要指的是,通过对实验点进行分析与选取,对实验进行合理安排的一种规范性设计方法。

结语:主机是嵌入式软件的开发主体,嵌入式软件单元测试的研究已经逐渐受到了相关学者的重视。仿真测试方法已经广泛使用到嵌入式软件测试之中。单元测试工作虽然比较复杂,但是能为嵌入式软件进行最优化的检测,通过单元测试可以更早的发现软件缺陷,缩短开发周期,降低软件的开发成本。

参考文献:

[1]卫征.嵌入式软件测试自动化技术研究[D].北京工业大学,2019.

[2]盛晓彦.嵌入式软件测试技术的研究[D].贵州大学,2019.

[3]栾图.嵌入式软件测试方法的研究[D].大连理工大学,2019.

猜你喜欢

嵌入式软件单元测试软件测试
基于ARM7TDMI架构的嵌入式软件逆向工程分析方法
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
浅析嵌入式软件技术的现状与发展动向
关于 Web 应用系统的软件测试的研究
基于模型检查的嵌入式软件构件化分析与验证
嵌入式软件在计算机软件开发过程中的运用
一年级上册第五单元测试
软件测试发展现状及前景的探讨
一年级上册一、二单元测试