1引言随着信息化、智能化进程的逐步加深,智能技术逐渐广泛应用于各类终端设备。嵌入式系统是智能化终端设备的核心,能够实现设备的自动运行、控制和管理。嵌入式软件作为嵌入式系统的重要组成部分,也日益受到人们的关注。嵌入式软件测试在保障终端设备功能完备、可靠稳定上发挥着至关重要的作用。覆盖率测试是对嵌入式软件开发设计质量的一种有效衡量手段。一般来说,在用例设计完整的情况下,软件覆盖率的高低能够较好地反映软件中存在的问题,软件覆盖率越高说明软件程序设计较为完整;软件覆盖率低说明软件程序中存在未被覆盖的代码和分支,可以帮助软件开发设计人员对代码进行分析,未被覆盖的代码是冗余无用的还是由于逻辑缺陷未被执行的,进而有针对性地进行缺陷整改,优化代码,提升嵌入式软件的设计质量,也提高了终端产品的可靠性和稳定性。2相关理论概述2.1嵌入式软件测试嵌入式软件测试一般是指对终端等智能设备中能够执行某种或某些特定功能的软件开展功能、性能、接口、逻辑覆盖等内容的测试。与应用软件测试存在着一定的差异性,嵌入式软件的测试与硬件的依赖性较强,不能脱离硬件设备,单独开展测试[1]。具体存在如下区别:(1)嵌入式软件的功能测试与硬件关联性强,对于软件、硬件模块的缺陷定位耗时较长,尤其是对性能的探索性测试需要很大的时间、精力消耗,定位性能的瓶颈比较困难。(2)嵌入式软件测试不具有通用性,测试的环境需要指定硬件平台,并且测试往往发生在宿主机上,受运行环境的影响,因此,嵌入式软件测试不仅需要在开发环境中开展测试,还要在运行环境中开展测试,这就增加了测试的难度,提高了测试的成本。(3)嵌入式软件具有特定性,给嵌入式软件的自动化测试带来了技术上的难题。2.2嵌入式软件覆盖率嵌入式软件覆盖率测试是对嵌入式软件的代码逻辑和功能结构的正确、适用性进行验证的必要环节。在进行覆盖率测试时需要对软件代码按照功能模块进行插桩,并依据相关的设计架构和需求进行用例的设计,用例设计的原则是尽可能覆盖更多有效的代码语句、函数、分支条件等,能够贯穿软件的内部逻辑结构,只有这样才可能发现更深层次的代码设计缺陷和问题[2]。嵌入式软件覆盖率测试一般在单元测试阶段进行,通过覆盖率测试可以检查出嵌入式软件代码是否至少执行一次,也可以发现用例的设计是否完整有效。在测试过程中,要求覆盖尽可能多的代码语句、代码的分支条件和路径、代码的重要函数等,保障覆盖率测试的有效...