什么是数据驱动测试?学习创建框架

数据驱动测试

数据驱动测试 是一种软件测试方法,其中测试数据以表格或电子表格格式存储。数据驱动测试允许测试人员输入单个测试脚本,该脚本可以对来自表的所有测试数据执行测试,并期望测试输出在同一表中。它也被称为表驱动测试或参数化测试。

数据驱动框架

数据驱动框架 是一个自动化测试框架,其中输入值从数据文件读取并存储到测试脚本中的变量中。它使测试人员能够将正面和负面测试用例构建到单个测试中。数据驱动框架中的输入数据可以存储在单个或多个数据源中,如 .xls、.xml、.csv 和数据库。

数据驱动框架

为什么要进行数据驱动测试?

数据驱动测试 这一点很重要,因为测试人员通常需要为单个测试准备多个数据集,而为每个数据集创建单独的测试可能非常耗时。数据驱动测试有助于将数据与测试脚本分开,并且可以针对不同的输入测试数据组合执行相同的测试脚本,并且可以高效地生成测试结果。

示例:

例如,我们要用 1000 个不同的数据集来测试具有多个输入字段的登录系统。

为了测试这一点,您可以采取以下不同的方法:

方法 1) 为每个数据集创建 1000 个脚本,并逐个单独运行每个测试。

方法 2) 手动更改测试脚本中的值并运行几次。

方法 3) 从 excel 表导入数据。从 excel 行中逐行获取测试数据并执行脚本。

在以上三种情况下,前两种方法既费力又费时。因此,最好采用第三种方法。

因此,第三种方法只不过是一个数据驱动框架。

如何创建数据驱动的自动化框架

数据驱动自动化框架

考虑一下您想要测试应用程序的登录功能。

步骤1) 确定测试用例

  • 输入正确的用户名和密码 – 登录成功
  • 输入错误的用户名和正确的密码 – 登录失败
  • 输入正确的用户名和错误的密码 – 登录失败

步骤2) 为上述 3 个测试用例创建详细的测试步骤

测试用例# 描述 测试步骤 测试数据 预期成绩
1 检查登录凭证是否有效
  1. 启动应用程序
  2. 输入用户名密码
  3. 点击“确定”
  4. 检查结果
用户名:有效 密码:有效 登录成功
2 检查登录凭据是否无效
  1. 启动应用程序
  2. 输入用户名密码
  3. 点击“确定”
  4. 检查结果
用户名: 无效 密码: 有效 登录失败
3 检查登录凭据是否无效
  1. 启动应用程序
  2. 输入用户名密码
  3. 点击“确定”
  4. 检查结果
用户名:有效密码:无效 登录失败

步骤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
  • 使用数据驱动动态断言
  • 测试正面和负面结果
  • 重新利用数据驱动的功能测试来提高安全性和性能

数据驱动测试的优势

数据驱动有很多优点,其中包括:

  1. 允许在回归测试期间使用多组数据值测试应用程序
  2. 测试数据和验证数据可以组织在一个文件中,并且与测试用例逻辑分开。
  3. 基于该工具,可以将测试脚本放在一个存储库中。这使得文本易于理解、维护和管理。
  4. 动作和函数可以在不同的测试中重复使用。
  5. 有些工具会自动生成测试数据。当需要大量随机测试数据时,这很有用,有助于节省时间。
  6. 数据驱动测试可以执行开发的任何阶段。数据驱动测试用例通常合并在单个流程中。但是,它可以用于多个测试用例。
  7. 允许开发人员和测试人员明确区分测试用例/脚本的逻辑和测试数据。
  8. 相同的测试用例可以执行多次,这有助于减少测试用例和脚本。
  9. 测试脚本中的任何更改都不会影响测试数据

数据驱动测试的缺点

数据驱动自动化测试方法的一些缺点是:

  1. 测试质量取决于实施团队的自动化技能
  2. 测试大量数据时,数据验证是一项耗时的任务。
  3. 维护是一个大问题,因为数据驱动测试需要大量的编码。
  4. 需要高水平的技术技能。测试人员可能必须学习一门全新的脚本语言。
  5. 将会有更多文档。主要涉及脚本管理测试基础设施和测试结果。
  6. 需要像记事本这样的文本编辑器来创建和维护数据文件。

结语

  • 数据驱动是一个测试自动化框架,它将测试数据存储在表格或电子表格格式中。
  • 在数据驱动的测试自动化框架中,输入数据可以存储在单个或多个数据源中,如 xls, XML、csv 和数据库。
  • 为每个数据集创建单独的测试是一个漫长而耗时的过程。数据驱动测试框架通过将数据与功能测试分开来解决此问题。
  • 在数据驱动测试中,使用现实信息是理想的选择
  • 它允许在测试期间使用多组数据值测试应用程序 回归测试
  • 这种方法的缺点是它依赖于实施团队的自动化技能