正文
实际上,不管是手工测试还是自动化测试,最核心的工作不外乎编写测试用例、执行测试用例、处理运行结果、维护用例。因此,如何提高自动化测试的效率,也就拆解成了如何提高自动化「编写、执行、维护」测
试用例上效率的问题。
目前比较常见的自动化测试方式主要分为「数据驱动框架」和「关键字驱动框架」两种。
a. 数据驱动 (DDT)
数据驱动指的是从某个数据文件(例如Excel文件、Xml文件、Json文件等)中读取输入测试数据,然后通过变量传入编写的测试脚本中。
在这个过程中, 数据文件的读取、测试状态和所有测试步骤都被编写进测试脚本里;测试数据只包含在数据文件中,而不是脚本里,测试脚本只是一个“驱动”,或者说是一个传送数据的机制。
一般用来存放数据的文件有:
-
Excel 数据文件
-
XML 数据文件
-
JSON 数据文件
-
Text 数据文件
-
YAML
数据文
件
-
数据库等
数据驱动的方法主要用于需要通过不同数据来保证测试覆盖率的场景,比如被测系统业务逻辑固定不变或变动较小,即测试用例步骤是固定的,但是所需要的测试数据是变化的情况。通常来说,数据都是保存在外面文件或数据库中,运行时自动获取。即测试框架中要支持数据与脚本分离,一个测试脚本可以驱动执行多个相似测试场景。
那么,数据与脚本分离是自动化的必要因素,如图所示:
上图是将测试数据与脚本独立,页面元素与脚本独立,测试同学只需要独立维护测试数据与页面元素,且数据与页面元素是共享的,任何测试人员均可调用,减少了编写与维护的成本。