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

2020-09-22 16:36:42 浏览数 (1)

数据驱动测试

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

数据驱动框架

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

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

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

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

要对此进行测试,可以采用以下不同方法:

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

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

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

在给定的三种情况下,前两种情况既费力又费时。因此,遵循第三种方法是理想的。

因此,第三种方法就是数据驱动框架。

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

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

步骤1)确定测试用例

输入正确的用户名和密码-登录成功

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

输入正确的用户名和错误的密码-登录失败

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

测试用例

描述

测试步骤

测试数据

预期结果

1

检查登录以获取有效凭证

启动应用程序输入用户名密码单击确定检查结果

用户名:有效密码:有效

登录成功

2

检查登录以获取无效的凭证

启动应用程序输入用户名密码单击确定检查结果

用户名:无效密码:有效

登录失败

3

检查登录以获取无效的凭证

启动应用程序输入用户名密码单击确定检查结果

用户名:有效密码:无效

登录失败

创建测试脚本

如果您遵守3个测试步骤,则“测试步骤”仍然很常见。您需要创建一个测试脚本来执行这些步骤

代码语言:javascript复制
//这是伪代码

//测试步骤1:启动应用程序
driver.get(“应用程序的URL”);

//测试步骤2:输入用户名
txtbox_username.sendKeys(“ valid”);

//测试步骤3:输入密码
txtbox_password.sendKeys(“ invalid”);

//测试步骤4:检查结果
If (Next Screen) print success else Fail

使用输入测试数据创建excel / csv

步骤修改凭证以循环输入测试数据。输入命令也应参数化

代码语言:javascript复制
//这是伪代码
//循环3次
(i = 0; i< = 3; i   ){
    //从Excel读取数据并将其存储到变量
    int input_1 = ReadExcel(i,0);
    int input_2 = ReadExcel(i,1);

    //测试步骤1:启动应用程序
    driver.get(“应用程序的URL”);

    //测试步骤2:输入用户名
    txtbox_username.sendKeys(input_1);
    //测试步骤3:输入密码

    txtbox_password.sendKeys(input_2);
    //测试步骤4:检查结果是否
    If(Next Screen) print success
    else Fail
    }

以上只是3个测试用例。仅通过将测试数据值附加到Excel,即可使用测试脚本来循环以下测试用例

  • 输入错误的用户名和错误密码–登录失败
  • 输入正确的用户名和密码为空白–登录失败
  • 输入空白的用户名和密码–登录失败

数据驱动测试的最佳做法:

下面给出的是数据驱动测试的最佳测试实践:

  • 理想的是在数据驱动的测试过程中使用真实的信息
  • 测试流程导航应在测试脚本中编码
  • 利用有意义的数据来驱动虚拟API
  • 使用数据来驱动动态断言
  • 测试正面和负面结果
  • 重新利用数据驱动功能测试的安全性和性能
  • 数据驱动测试的优势

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

  • 允许在回归测试期间使用多组数据值测试应用程序
  • 测试数据和验证数据只能组织在一个文件中,并且与测试用例逻辑分开。
  • 基于该工具,可以将测试脚本存储在单个存储库中。这使文本易于理解,维护和管理。

动作和功能可以在不同的测试中重复使用。

  • 一些工具会自动生成测试数据。当需要大量随机测试数据时,这很有用,这有助于节省时间。
  • 数据驱动的测试可以执行开发的任何阶段。数据驱动的测试服务通常在单个过程中合并。但是,它可以在多个测试案例中使用。
  • 允许开发人员和测试人员清楚地将测试用例/脚本的逻辑与测试数据区分开。
  • 相同的测试用例可以执行多次,这有助于减少测试用例和脚本。
  • 测试脚本中的任何更改都不会影响测试数据

数据驱动测试的缺点:

  • 测试的质量取决于实施团队的自动化技能
  • 测试大量数据时,数据验证是一项耗时的任务。
  • 维护是一个大问题,因为数据驱动测试需要大量编码。
  • 需要高级技术技能。测试人员可能必须学习全新的脚本语言。
  • 将有更多文档。主要与脚本管理测试基础结构和测试结果有关。
  • 需要使用诸如记事本之类的文本编辑器来创建和维护数据文件。

结论:

数据驱动的是一个测试自动化框架,以表格或电子表格格式存储测试数据。

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

0 人点赞