软件自动化测试技术与工具

技术分类: 测试与测量  | 2008-04-30
孟成彬,莱迪思半导体有限公司

  运行所有case

  首先读取runlist文件,runlist是一个包括了所有运行例子的文件名的文件,每一行对应一个例子的文件名,程序逐行读入,参考图1示的代码。

图1读取运行测试例子的代码


  接下来整个代码运行的流程可以表示为:最小化VT窗口->在桌面上找到ispLEVER的图标并运行->进入工作目录->处理一些弹出的窗口信息->打开需要运行的例子->清除项目以前运行的信息 ->保存项目->运行布线->保存当前的项目->把运行完的例子复制到统一的备份目录中->关闭当前运行的项目 ->运行下一个例子 ……,直至运行完所有的测试例子。

  以上所有的菜单和窗口操作都是由VT执行代码完成操作。接着测试工具将会按照代码包含的子程序运行。

图2自动打开项目子程序open


  图2所示的打开项目程序所进行的操作依次为,选中ispLEVER为当前窗口,定义窗口的尺寸,打开File下拉菜单的第二行命令,也就是open project命令,接着用play命令输入工作目录和项目名,接着点击open来打开项目。

  此外VT中还有例如点击窗口中的关键字操作,在当前窗口中寻找关键字,坐标定位等指令,灵活运用这些命令极大的丰富了VT自动化测试的内容。

  运行完所有的例子后,所要进行的就是提取所需的各种参数,也就是重要的测试数据。

  运行完的例子都会备份在一个统一的目录中,现在VT所要做的就是在这些对应的目录中找到.log和.twr文件,这两个文件是最后运行完case的输出信息文件,里面包含了测试所要提取的一些参数信息。

图3log文件中的一段参数信息


  图3是在.log文件中的一段信息,红圈指示的内容是需要提取的信息之一,log文件是运行完后软件所生成的日志,里面包括了布线完后的一些资源信息,在这里VT所要做的提取的是PIOs信息,也就是输入输出端口数量的信息,可以用下面的代码实现。  

图4逐行读取信息


  图4实现的是把log文件中逐行输入到tempstring中,在这些输入的信息中找到所需信息并处理,则需要在VT中用以下代码实现。

图5提取文件中相关信息


  图5实现的是在字符串tempstring中寻找关键字"Number of external PIOs:”,也就是I/O口端口数量信息的那行。如果找到的话,用LTRIM$实现从这行第29个字符开始的内容放入tempstring2中。由于所要的有用信息只包括”out of”之前的数字,所以还需要用LEFT$来提取左面的信息,也就是158,这就是使用的I/O端口数量的信息,最后再用TRIM$ 去掉空格即可得到。

  类似的可以在特定的时序文件中得到最大频率,所用综合工具,器件封装,所用到的资源等等信息,把这些参数信息提取出来与之前版本的ispLEVE软件所运行得出的结果相比较,得出测试的结果。

  从上可看出,对于测试所要运行的例子比较多,如果采用手工的话,工作量相当大,而且极不精确,容易出错。现在采用自动化测试工具将简化测试的繁琐程度,所有操作由自动化测试工具完成,而且代码可以移植,只要稍微改动几个参数,代码适用于每个版本的测试,给测试工作带来极大方便与准确性。

  自动化测试工具的比较

  目前同类的主流自动化测试软件还有Mucury公司的QuickTest Professional。

  它也是一款测试自动化软件,与Visual Test有类似之处,都是用于创建功能和回归测试,能自动捕获、验证和重放用户的交互行为。QuickTest Professional的特点是易于操作,可以通过软件中所集成的录制能力来捕获测试步骤,产品用简单的英语以文档形式记录每个步骤,并通过活动屏幕将文档与一个集成截屏相结合。传统的脚本记录工具所生产的脚本不易修改,不同的是,在QuickTest中的关键词驱动方式能便捷地插入、修改数据驱动和移除测试步骤,灵活性较强。

表1使用VT与QT占用内存对比表


  下面的数据表格是在PC上运行VT和QT这两个工具,分别关于内存占用以及打开ispLEVER工具的时间,两者对比之下的结果。其中Open project ,Fit Design是指打开设计和最后生成下载文件,Simulation是仿真,Design Planner、EPIC、IPexpress、ispVM、Power Calculator等都是ispLEVER开发环境下的工具,主要用于底层的交互式编辑,调用ip以及下载程序,分析功率等功能(表1,表2)。

表2使用VT与QT打开工具所用时间对比表


  根据上面两个对比结果,从内存占用情况来看VT占用的资源要远小于QT;从打开工具所用时间来看,VT打开绝大多数ispLEVER的工具的时间也要小于QT。虽然QT具有较强的录制修改脚本的特点,但从实际应用来看,运行的速度和占用资源对于软件测试更为重要,所以自动测试工具VT要优于QT。 

  结论

0
0
(请您对文章做出评价)
1】【2】【3
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

  • 博客推荐

  • 论坛推荐

  • 在线研讨会