background image

软件自动化测试框架设计与实践

    我们这里说软件测试框架是软件自动化测试的整体解决方案,是一组自动化测试的规范、
测试脚本的基础代码,以及测试思想、惯例的集合,所有这一切的出发点是为了减少冗余代
码、提高代码生产率、提高代码重用性和可维护性,

 保证自动化测试的高效率和高收益。 

  自动化测试框架一般可以分为上下两个层次,上层是管理整个自动化测试的开发,执
行以及维护。它可以管理整个自动测试,包括自动化测试用例执行的次序、测试脚本的维护、
以及集中管理测试用例、测试报告和测试任务等。下层主要是测试脚本的开发,充分的使用
相关的测试工具,构建测试驱动,并完成测试业务逻辑。

 

  

1.1 自动化关键技术简介 

  自动化测试的核心就是对象识别技术。脚本录制的主要目的是采集对象信息并生成相应
的脚本。回放的过程就是根据这些信息进行对象的识别和执行相应的脚本。

 

  对象识别本质是根据关键属性来确认对象,然后在该对象上执行相应的操作。如下图所
示:

 

  

1.2 自动化测试框架的作用 

  

●减少冗余代码、提高代码生产率、提高代码重用性和可维护性。提高开发速度,提升测

试代码的执行效率。

 

  

●提高软件代码质量,同时引入重构概念,让代码更干净和富有弹性。 

  

1.3 自动化测试框架的主要类型 

  

●数据驱动测试框架 

  数据驱动测试是测试脚本从数据文件(数据池,

CVS 文件,Excel 文件等)中读取输

入和输出数值并载入到录制的或手工编写的脚本变量中的一种框架。在这种框架里,输入数
值和输出数值都使用变量。测试数据包含在数据文件里而不是在脚本中被硬编码。不同的数
据文件对应不同的测试用例。在这种模式下数据和脚本分离,脚本的利用率、可维护性大大
提高。

 

  

●关键字驱动或表格驱动测试测试框架 

  关键字驱动和表格驱动测试在是数据驱动基础之上,进一步提高自动化测试的灵活性
和扩展性的框架解决方案。在关键字驱动框架下,除了要设计应用程序的测试数据表,还要
生成一个关键字数据表。这个关键字包含了程序的特性,或者是有关程序的操作。

 

  基于

UI 功能的自动化测试 

  图形用户界面(

Graphical User InterFace, GUI)就是使用图像,输入的文字,带有图

标的计算机界面。

GUI 可以让用户通过图标和鼠标与计算机进行交互,而不是在命令行中输

入文本。

 一般来说,应用程序(包括桌面程序和 web 应用)有一些基本的界面控件, 如窗

口,

 消息对话框, 菜单, 按钮, 复选框, 组合框, 列表框, 文本输入框, 组选框, 树

形视图,

 浏览器, 日期选择控件等。它们有些是属于 Windows 桌面应用程序, 有些是属于

Web DOM 对象。 
  所有软件的指令都通过这些控件以事件或消息的形式传递给后台处理程序。自动化测试
脚本的开发过程就是一个工具模拟人工操作的过程。人员要通过工具去操作(录制),

 工

具要能

“学习”并掌握这个过程(对界面控件的识别能力),最终能够独立完成测试(回

放)。