关键字驱动测试(Keyword-Driven Testing)方法,测试用例以关键字的形式表示,并且测试执行引擎根据这些关键字执行相应的操作。这种方法将测试步骤和测试数据从测试用例中分离出来,以提高测试的可维护性和重用性。关键字驱动测试通常用于支持测试自动化和测试自动化框架的开发。
原则上,关键字驱动测试可以应用于所有测试级别(例如组件测试、系统测试)和各种类型的测试(例如功能测试、可靠性测试)。
关键字驱动测试的关键思想是将测试逻辑与测试数据分离开来。测试逻辑由关键字表示,而测试数据存储在外部数据表或文件中。测试执行引擎读取测试用例中的关键字,并根据关键字从数据源中提取相应的测试数据,然后执行相应的操作。这种分离使得测试用例的编写更加简洁和可读,并且可以轻松地修改和扩展测试逻辑和测试数据,而无需修改测试用例本身。
关键字通常分为两个层次:
- 在较低的级别上,每个关键字都与一组详细的操作相关联,这些操作描述了要执行的确切步骤。
- 在高层次上,使用有意义的名称来标识关键字。此关键字可能需要一组输入参数,这些参数也属于结构中的此级别。关键字和参数一起构成了与测试用例相关的操作的高级描述。
模块化帮助推广了这种方法。如果需要测试自动化,那么可以创建一个框架,将手动创建的关键字测试用例解释为可执行的测试自动化脚本。这是通过为每个关键字实现测试自动化代码(例如关键字执行代码)来实现。

关键字驱动测试步骤
典型的关键字驱动测试(Keyword-Driven Testing)通常涉及以下几个关键步骤:
- 关键字定义:确定要使用的关键字,并为每个关键字定义其操作和功能。关键字可以是预定义的,也可以是根据测试需求自定义的。
- 测试数据准备:确定测试用例所需的测试数据,并将其存储在外部数据源中,如数据表或文件。测试数据可以包括输入值、预期结果、配置参数等。
- 编写测试用例:编写测试用例,以关键字的形式描述测试步骤和操作。测试用例将关键字和测试数据结合在一起,以指定要执行的操作和相关数据。
- 测试执行引擎:开发或选择适合关键字驱动测试的执行引擎或框架。测试执行引擎负责解析测试用例,根据关键字执行相应的操作,并从外部数据源中提取相应的测试数据。
- 执行测试用例:运行测试用例并观察测试执行过程。测试执行引擎将根据测试用例中的关键字执行相应的操作,使用提供的测试数据进行测试。
- 结果验证和报告生成:在执行过程中,对测试结果进行验证和比较,将实际结果与预期结果进行对比。生成测试报告,记录测试执行的结果、错误和问题等信息。
- 维护和扩展:根据需要对关键字和测试数据进行维护和扩展。当应用程序的功能或测试需求发生变化时,可以通过修改关键字和测试数据来调整测试逻辑,而无需修改测试用例本身。
.关键字驱动测试的层次
关键字可以表示不同抽象级别的操作。例如,一个关键字可以指一组非常复杂的活动,比如创建一个合约,其中包括很多步骤,而另一个关键字可以指一个非常简单的操作,比如按下图形用户界面上的一个按钮。第一个关键字接近业务和最终用户领域,而第二个关键字更接近测试接口。在相似的细节层次上编写的关键字,与涉众的视图有相似的关系,被认为属于相同的抽象层。

关键字驱动测试案例
我们可以考虑一个简单的温度监测器的测试用例。
这个例子中的关键字驱动测试方法可以提高测试用例的可维护性和重用性。如果要测试其他类型的嵌入式设备,只需要修改启动设备和获取温度的关键字,并相应地调整验证步骤。其他操作和验证步骤可以保持不变。这样,我们可以通过修改关键字和数据来扩展和修改测试逻辑,而无需更改测试用例的结构。
|
关键字 |
参数 |
说明 |
|
启动设备 |
启动温度监测器设备 |
|
|
等待设备启动 |
超时时间 |
等待设备启动,并在指定的超时时间内完成启动 |
|
获取当前温度 |
从设备中获取当前的温度值 |
|
|
验证温度范围 |
最小值,最大值 |
验证当前温度是否在指定的范围内 |
|
关闭设备 |
关闭温度监测器设备 |