嵌入式黑盒自动化测试工具的一些想法与思路

发表于:2009-06-26来源:作者:点击数: 标签:工具自动化嵌入式思路
说到嵌入式软件的自动化工具,大家都会摇头,要么是白盒的工具,要么就是太专用。 嵌入式做 白盒测试 ,如果是平台级的软件还是有必要的,但是如果是产品级的测试,基本上投入太大,得不偿失。 有没有简单一些的 黑盒 自动测试 工具呢? 我是这么看待 自动化
说到嵌入式软件的自动化工具,大家都会摇头,要么是白盒的工具,要么就是太专用。

  嵌入式做白盒测试,如果是平台级的软件还是有必要的,但是如果是产品级的测试,基本上投入太大,得不偿失。

  有没有简单一些的黑盒自动测试工具呢?

  我是这么看待自动化测试工具的,输入、输出、预期结果。简单而言,自动化测试就是自动输入数据,然后记录输出数据,与预期结果进行比较,得到测试结果。

  不管针对什么产品,在构建自动化测试工具时,都可以使用这个流程。

  对嵌入式产品而言,难点在于,输入输出数据的载体该如何选择?

  以手机测试为例子,大家可以想到的是,利用GSM标准或扩展AT命令进行输入/输出/比较。这种方案使用AT命令作为数据载体,但是需要软件支持,比较麻烦。

  手机的功能测试,基本上是使用键盘输入,屏幕输出。能不能在这上面想想办法?

  使用键盘作为输入载体,使用屏幕作为输出载体,构建一个自动化测试工具,可行否?

  制作一个键盘模拟板,与测试手机的连接接口与实际键盘与手机的接口一致,同时将键盘模拟板接入PC,使用PC控制键盘按键命令作为输入数据。

  将屏幕与手机的连接取下,制作一个连接线装置,使用同样的接口连接手机与PC,这样原来在手机屏幕上显示的内容可以在PC上显示(当然,需要开发驱动)。

  测试时使用PC控制键盘输入数据,记录屏幕输出数据,在完成第1次正确操作后,将屏幕输出数据置为预期结果,后续的回归测试不是都可以使用PC自动完成(当然,在需求发生变化造成界面重新设计后需要重新录制脚本)?

  这种方案的好处是脱离了对软件的要求,即使软件平台发生变化,依然可复用。

  同样的,其他的嵌入式软件测试,也可以使用相同的思路。GPS可以使用触摸屏作为输入数据载体,同样使用屏幕作为输出数据载体。MP3可以使用按键作为输入数据载体,屏幕与音频接口可作为输出数据载体。

  开发难度与复用率?

  测试团队可以编写一个工具框架,项目组的硬件成员可开发相关硬件,手机上的键盘与屏幕都设计出来了,转到PC上应该不难吧?软件成员既然在手机上定义了驱动,在PC上写个驱动不难吧?只要输入输出数据的载体不发生变化(出于采购以及成本的考虑,我想没什么公司会天天变吧),这些驱动可以一直沿用。可复用性还是可以接受的。

  大家的意见呢?

原文转自:http://www.ltesting.net