技术开发 频道

MCU软件测试

【IT168 技术文章】

  在MCU上,常用的测试步骤如下
  1架构平行移植(跨平台).重建.修复后的,架构测试.
  2专用硬件测试程序的,硬件测试.
  3模块移植.修复.虚拟.填充后的,模块测试.(包括的内容最多,最啰唆)
  4数据结构重建后的,动静态数据测试.(工业级编程,最繁杂的过程)
  5程序结构完成后的,软时序测试.(主要测试软件实时性,包括各模块之间的协调性及资源冲突, 工业级编程的重点)
  6程序及系统稳定性测试.(最残酷的环境模拟测试包括EMC.EMI)
  7软件整体性能评估.
  8软硬件配合性能评估.
  9a版本完成后的,整体功能测试.
  10客户意见.
  不太详细,感觉一下说不完,这是一个很大的话题,跟项目开发过程关系密切.
  各级测试工作并非一次性完成,重复性大,3.4.5是编程测试重点.第6项是工程测试重点.具体测试方法,请参阅软件工程的测试方法.
  分功能性测试和可靠性测试!

  测试前先做软件结构的评估!
  测试时,分功能性测试和可靠性测试!
  我们还做代码冗余度测试!要求代码尽量简练!
  PC上那一套不适合MCU,那个好象没有EMCEMI的测试把!
  这才是MCU测试的精华所在!
  正在考虑如何实现软件功能的自动测试

  初步想法 在软件内部嵌入测试模块,PC通过串口输入测试命令.测试模块将其转换成相应的输入 如键盘输入,串口输入,信号输入等,以此驱动程序运转.同时监测程序的反应(即输出) 显示,打印,控制等. 并发送结果给PC.在PC软件上,根据待测设备实际运行情况,预先设置好测试序列,并设置运行正常时的输出.这样,即可由PC自动判定测试结果.

  设想情形下,随着程序的开发进程,测试序列也不断增长,直至可以完成全部功能的自动测试.这样, 即使程序重构多次,或者多次修改,也可以随时测试,不必耗费大量的人工和时间.

  同样思路,也可以实现单元测试.
  PC上那一套……,那个好象缺EMCEMI的测试
  EMCEMI的测试是硬件测试
  程序的测试,是个好话题

  我的观点;不属于所长的大型MCU程序范围

  对于大部分的MCU系统来说,最终给用户提供的不是软件本身,而是一个实物化的产品。
  纯粹的软件测试大概应属于软件工程的领域,而对于MCU应用系统来说,应该是介于软件行业和电子行业之间的东西。实际上,MCU应用系统都表现为一种电子产品的形式。它最终可能都归到电子类行业标准的认证和测试上。和纯粹的软件行业的软件测试差别可能很大。

  但是就MCU程序本身的测试,我认为基本上就是以功能测试为主,应该属于黑盒测试吧。
  至于程序内部结构等方面的测试,可能没有太大必要,估计很多电子企业也没有这样做。

  是不是可以说“自适应”阿关系程序测试,我想是不是该先分类一下。

0
相关文章