前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是数据驱动测试?学习创建框架

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

作者头像
用户7466307
发布2020-09-22 16:36:42
2.4K0
发布2020-09-22 16:36:42
举报

数据驱动测试

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

数据驱动框架

数据驱动框架是一个自动化测试框架,在该框架中,从数据文件中读取输入值并将其存储到测试脚本中的变量中。它使测试人员可以将肯定和否定测试用例都构建到单个测试中。数据驱动框架中的输入数据可以存储在单个或多个数据源中,例如.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和数据库。
  • 为每个数据集创建单独的测试是一个漫长且耗时的过程。数据驱动测试框架通过将数据与功能测试分开来解决了此问题。
  • 在数据驱动测试中,使用实际信息是理想的选择
  • 它允许在回归测试期间使用多组数据值测试应用程序
  • 该方法的缺点在于它取决于实施团队的自动化技能
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档