基于上面测试自动化框架,可以购买第三方软件测试工具,或自己开发软件测试工具。为了选择软件测试工具或指导自己开发软件测试工具,有必要了解一下软件测试自动化的原理。
软件测试自动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编泽系统那样对计算机程序进行检查。软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术利测试管理技术。
1代码分析
代码分析类似于高级编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则等;在分析时对代码进行语法扫捕,找
出不符合编码规范的地方;根据某种质量模型评价代码的质量,生成系统的调用关系图等。
为了更好地进行代码分析,可以在代码中插八一些“断点”t即向代码生成的可执行文件中
插八一些监测代码,随时了解这些关键点,关键时刻的某个变量的值、内存,堆栈状态等。
2捕获和回放
代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。
首先将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或
程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化、或属性
变化。所有的l己录转换为种脚本语言所捕述的过程,以模拟用户的操作。
回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录
下米同预先给定的标准结果比较。这司以大大减轻黑盒测试的工作量,在迭代开发的过程
中,能够很好地进行回归测试。
3脚本技术
脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式a脚本可以通过录
制测试的操作产生,然后阿做修改,这样ur以减少脚术编程的工作量。当然,也tu以卣接用脚本语言编写脚本。测试工具脚奉中l;】:『以包含数据和指令,并包括下而一些信息:
· I刮步(何时进行下一个输入L
· 比较信息(比较什么、如何比较以及利准比较)。
· 捕获何种屏幕数据及存储在何处。
· 从另一个数据源读取数据时从何处读取。
·控制信息等。
文章来源于领测软件测试网 https://www.ltesting.net/