嵌入式软件测试的结构体系和研究方法

工程论文 2021-03-12 点击:

  软件测试论文范文二:
 

  题目:嵌入式软件测试方法与技术

  摘要:本文主要论述了嵌入式软件测试的方法与相关技术。

  关键词:嵌入式系统; 测试; 技术;

  嵌入式系统由于其发挥的重要作用, 所以对此系统的测试要及其严格, 不断测试确认。嵌入式系统有本身的特征, 例如实时性, 储存功能不强大以及开发工具成本高等, 嵌入式系统还与硬有十分密切的联系, CPU的类别很多, 嵌入式系统发生漏洞也不容易被修复。过去的软件测试理论对于嵌入式这一特殊系统并没有很好的作用, 所以, 想要严格准确的测试此系统, 要深入研究相关方法与技术。这同时也可以不断提高嵌入式软件的质量。
 

软件测试技术

  1、测试嵌入式软件的基本措施

  嵌入式基础需要以计算机技术为基本, 以相关应用为核心, 对各方面都要求十分严格的专业计算机系统。并且在这一系统中软硬件之间的区分并不明显, 相比于一般的PC软件, 嵌入式系统的测试要更为复杂, 可以有以下几点:

  (1) 测试软件功能依靠不要编码的硬件作用, 很难快速准确的定位软硬件;
  (2) 强壮性和可知性的相关测试通过编码的手段不能进行;
  (3) 交叉测试平台的测试用例、测试结果上载困难;
  (4) 基于消息系统测试的复杂性, 包括线程、任务、子系统之间的交互, 并发、容错和对时间的要求;
  (5) 性能测试、确定性能瓶颈困难;
  (6) 很难实现测试技术的自动化, 通过对许多资料的研究, 软件测试的工作量很大, 甚至有时会达到所有软件开发工作量的一半, 偶尔会有非常特殊的状况, 一些关系到人们生命安全的软件测试消耗的成本非常大, 是其他步骤的几倍。

  同时在进行测试过程中, 也要考虑到软件自身的相关因素以及软件和相匹配的硬件与操作系统的因素。除此之外还有要求很严格的时间约束与实时约束, 以及所有与性能相关的因素。

  2、全数字模拟测试

  这一测试方法是指通过数学平台的手段, 把嵌入式系统单独割裂开来成为一个独立体, 然后开发CPU指令、I/O、以及时钟等模拟器在开发主机上进行测试。全数字模拟测试步骤简单, 对软件的功能测试很适合, 是一种常见的一般软件的测试手段。但是这一测试手段也有其劣势, 嵌入式软件是用多种不一样的语言所编写出来的, 因此也就需要多种的仿真程序来进行工作, 所以实时性与准确性差的测试手段不能完全反映出嵌入式软件的具体状况, 如果并发时间需要一些同步关系时, 维持协调、准确的系统时钟、整理好时序关系非常难。所以, 全数字模拟不能成为嵌入式系统软件测试的主要措施, 否则所付出的代价过大。

  3、交叉测试 (Host/Target测试)

  在高级语言出现以来, 嵌入式系统所开发与运行的环境并不是完全相同的, 开发的环境被定义为主机平台, 运行环境则被定义为目标平台, 对应的测试是Host Target测试。在进行测试的过程中, 可以很好的利用高级语言可移植性的特点, 把工作系统中和目标环境没有关联的工作放在P/C上去进行, 在硬件环境没有做完整或者调试工具缺乏的情况下就可以进行, 这种情况下就能使用一般的软件测试手段。在系统中和硬件联系密切的步骤在Target上进行, 所涉及到的测试工具要支持目标环境。最后一步在目标环境中来测试检验。交叉测试这一手段比较适合高级语言, 并且测试成本不高, 使用简单, 但是也由于受到调试环境的限制, 进行测试检验时会占据一定程度上的资源。

  4、嵌入式软件测试方法类别

  按照步骤来区分可以主要分为四种测试, 分别是单元测试、集成测试、确认测试以及系统测试。

  4.1 单元测试

  是指对最小的软件设计单元进行测试, 只有单元测试完成之后才可以进行下来的步骤。主要运用白盒测试手段, 一次来保障单元最大程度的覆盖率以及及时发现其中的缺陷错误。单元测试手段通常情况下可以在宿主环境中工作。对嵌入式系统进行测试通常会分为几个单元:预处理和词法语法分析单元、插桩单元和测试信息分析和显示单元以及测试用例单元。

  被测试的程序要第一实行预处理, 主要工作是进行宏观替换以及把短跳改编成远跳转。其次再惊醒语法研究, 扫描好整体程序之后得到一些联系密写的链表, 目的在于找到插桩函数的位置, 在一些较为重要的地方插桩, 再进行编程成为目标文件。在不断运动的集成环境里, 用户可以选择测试类别, 由此产生一个记录文件, 在这个文件中会记载此测试类型中全部的函数位置, 最后生成对应的测试用例。按照插桩来找文件中对应的函数。在系统进行工作时, 把得到的一些数据回馈给数据机就可以把测试的相关结果保存在开始确定的文件里。测试人员就可以依照测试结果和期望值进行对比来看结果有没有达到标准, 如果没有达到相应标准, 就要利用相关工具进行研究分析。

  4.2 集成测试

  这是在单元测试的基础上进行的, 把这些模块根据软件的结构组合成一个整体成为一个单独的系统来整体进行测试。目的在于发现程序框架与结构上的缺陷和问题。虽然在保证路径覆盖率上通常会使用白盒测试, 但是在集成测试这一步骤中黑盒测试也比较常见。集成测试这一步骤通常会在宿主环境中进行工作。

  白盒测试, 又叫做机构测试, 进行白盒测试相关人员可以对原始程序的代码进行观测, 从而探究其内部形态, 其次再根据这些信息, 来设计相应的实例。

  图1:预处理相关流程

  图2:嵌入式测试系统框图

  4.3 确认测试

  这一测试方法是将软件系统看作一个独立的执行整体来进行的测试手段。主要作用在于检查软件的所有功能是不是完备, 各种行为和执行命令能不能进行, 这一步骤中主要运用的是黑盒测试。

  4.4 系统测试

  这一测试是把系统的测试软件与其他的资源例如硬件等结合起来构造成一个计算机应用系统, 之后再进行测试。主要目的在于保障系统的性能和执行的强度都达到所规定的标准。因此在系统测试中要与硬件联系起来, 也就是说和目标板同时进行测试, 在目标环境下工作。

  5、总结

  本文主要论述了嵌入式软件测试的相关概念和基本测试手段技术, 除此之外还提出了一种有用的嵌入式软件系统测试的结构体系。接下来的工作就是依照这一工作体系来完成嵌入式系统软件的相关测试工作。

  参考文献

  [1]孙昌爱, 金茂忠.基于程序插装的动态测试技术实现[J].小型微型计算机系统, 2015, 22 (12) :11-12.

  范文一:软件测试论文
  范文二:嵌入式软件测试的结构体系和研究方法
  范文三:软件测试与提高产品质量的考虑
  范文四: 软件自动化测试探讨
  范文五:基于遗传算法的软件测试用例自动生成研讨

嵌入式软件测试的结构体系和研究方法

http://m.rjdtv.com/gongchenglunwen/5076.html

相关推荐

猜你喜欢

大家正在看