什么是数据驱动测试?学习创建框架
数据驱动测试
数据驱动测试 是一种软件测试方法,其中测试数据以表格或电子表格格式存储。数据驱动测试允许测试人员输入单个测试脚本,该脚本可以对来自表的所有测试数据执行测试,并期望测试输出在同一表中。它也被称为表驱动测试或参数化测试。
数据驱动框架
数据驱动框架 是一个自动化测试框架,其中输入值从数据文件读取并存储到测试脚本中的变量中。它使测试人员能够将正面和负面测试用例构建到单个测试中。数据驱动框架中的输入数据可以存储在单个或多个数据源中,如 .xls、.xml、.csv 和数据库。
为什么要进行数据驱动测试?
数据驱动测试 这一点很重要,因为测试人员通常需要为单个测试准备多个数据集,而为每个数据集创建单独的测试可能非常耗时。数据驱动测试有助于将数据与测试脚本分开,并且可以针对不同的输入测试数据组合执行相同的测试脚本,并且可以高效地生成测试结果。
示例:
例如,我们要用 1000 个不同的数据集来测试具有多个输入字段的登录系统。
为了测试这一点,您可以采取以下不同的方法:
方法 1) 为每个数据集创建 1000 个脚本,并逐个单独运行每个测试。
方法 2) 手动更改测试脚本中的值并运行几次。
方法 3) 从 excel 表导入数据。从 excel 行中逐行获取测试数据并执行脚本。
在以上三种情况下,前两种方法既费力又费时。因此,最好采用第三种方法。
因此,第三种方法只不过是一个数据驱动框架。
如何创建数据驱动的自动化框架
考虑一下您想要测试应用程序的登录功能。
步骤1) 确定测试用例
- 输入正确的用户名和密码 – 登录成功
- 输入错误的用户名和正确的密码 – 登录失败
- 输入正确的用户名和错误的密码 – 登录失败
步骤2) 为上述 3 个测试用例创建详细的测试步骤
测试用例# | 描述 | 测试步骤 | 测试数据 | 预期成绩 |
---|---|---|---|---|
1 | 检查登录凭证是否有效 |
|
用户名:有效 密码:有效 | 登录成功 |
2 | 检查登录凭据是否无效 |
|
用户名: 无效 密码: 有效 | 登录失败 |
3 | 检查登录凭据是否无效 |
|
用户名:有效密码:无效 | 登录失败 |
步骤3) 创建测试脚本
如果您发现测试步骤在 3 个测试步骤中保持通用。您需要创建一个测试脚本来执行这些步骤
// This is Pseudo Code // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys("valid"); // Test Step 3: Enter Password txtbox_password.sendKeys("invalid"); // Test Step 4: Check Results If (Next Screen) print success else Fail
步骤4) 使用输入测试数据创建 excel/csv
步骤5) 步骤修改脚本以循环输入测试数据。输入命令也应参数化
// This is Pseudo Code // Loop 3 Times for (i = 0; i & lt; = 3; i++) { // Read data from Excel and store into variables int input_1 = ReadExcel(i, 0); int input_2 = ReadExcel(i, 1); // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys(input_1); // Test Step 3: Enter Password txtbox_password.sendKeys(input_2); // Test Step 4: Check Results If(Next Screen) print success else Fail }
以上只是 3 个测试用例。只需将测试数据值附加到以下位置,即可使用测试脚本循环执行以下测试用例 Excel
- 输入错误的用户名和密码 – 登录失败
- 输入正确的用户名和密码空白 – 登录失败
- 输入空白用户名和空白密码–登录失败
等
数据驱动测试的最佳实践
下面给出了数据驱动测试的最佳测试实践:
- 在数据驱动测试过程中使用现实信息是理想的
- 测试流程导航应在测试脚本中编码
- 利用有意义的数据驱动虚拟 API
- 使用数据驱动动态断言
- 测试正面和负面结果
- 重新利用数据驱动的功能测试来提高安全性和性能
数据驱动测试的优势
数据驱动有很多优点,其中包括:
- 允许在回归测试期间使用多组数据值测试应用程序
- 测试数据和验证数据可以组织在一个文件中,并且与测试用例逻辑分开。
- 基于该工具,可以将测试脚本放在一个存储库中。这使得文本易于理解、维护和管理。
- 动作和函数可以在不同的测试中重复使用。
- 有些工具会自动生成测试数据。当需要大量随机测试数据时,这很有用,有助于节省时间。
- 数据驱动测试可以执行开发的任何阶段。数据驱动测试用例通常合并在单个流程中。但是,它可以用于多个测试用例。
- 允许开发人员和测试人员明确区分测试用例/脚本的逻辑和测试数据。
- 相同的测试用例可以执行多次,这有助于减少测试用例和脚本。
- 测试脚本中的任何更改都不会影响测试数据
数据驱动测试的缺点
数据驱动自动化测试方法的一些缺点是:
- 测试质量取决于实施团队的自动化技能
- 测试大量数据时,数据验证是一项耗时的任务。
- 维护是一个大问题,因为数据驱动测试需要大量的编码。
- 需要高水平的技术技能。测试人员可能必须学习一门全新的脚本语言。
- 将会有更多文档。主要涉及脚本管理测试基础设施和测试结果。
- 需要像记事本这样的文本编辑器来创建和维护数据文件。
结语
- 数据驱动是一个测试自动化框架,它将测试数据存储在表格或电子表格格式中。
- 在数据驱动的测试自动化框架中,输入数据可以存储在单个或多个数据源中,如 xls, XML、csv 和数据库。
- 为每个数据集创建单独的测试是一个漫长而耗时的过程。数据驱动测试框架通过将数据与功能测试分开来解决此问题。
- 在数据驱动测试中,使用现实信息是理想的选择
- 它允许在测试期间使用多组数据值测试应用程序 回归测试
- 这种方法的缺点是它依赖于实施团队的自动化技能