📜  数据驱动测试和关键字驱动测试之间的区别

📅  最后修改于: 2022-05-13 01:56:59.789000             🧑  作者: Mango

数据驱动测试和关键字驱动测试之间的区别

1. 数据驱动测试:
数据驱动测试或 DDT 也称为参数化测试。 DDT 是一个测试软件的过程,用于通过应用验证输入等条件来测试计算机软件。为了测试软件,使用了各种方法,并且每种方法都彼此不同以保持准确性。 DDT 专注于数据库中存在的一组数据,用于完成测试的自动化框架。基本上,这个框架解决了进行单独测试的大而耗时的过程问题。

为了更好地理解 DDT,让我们考虑一个示例,DDT 就像在巨大的数据集中搜索特定学生的详细信息一样。在那之后,我们只需要输入该学生 ID,我们就可以获取有关该学生的所有信息,例如仅用于在庞大的数据集中进行此测试,我们只需要输入经过验证的详细信息,以便我们可以正确执行。

有几种类型的数据驱动测试,其中数据以某种格式提供,例如逗号分隔值 (CSV) 文件、Excel 工作表、数据库表、脚本数组和表变量。

滴滴涕比较集中的有四种操作:

  • 在一堆数据(即数据库或文件)中组装各种数据集测试。
  • 形成可读的脚本。
  • 保留恢复的数据,然后根据需要更正数据。
  • 通过提供所需的输入来处理测试部分。

滴滴涕的优点:

  1. DDT 保留来自测试脚本的单个数据,并且类似的测试脚本可以用于各种输入测试数据集,以便我们可以自动获得结果。
  2. 它为测试脚本提供了清晰的场景。
  3. DDT 非常有效地维护所有记录并且非常易于访问。
  4. 它降低了错误发生的能力。
  5. DDT 对于我们人类创造者来说非常容易处理。

2. 关键字驱动测试:
关键字驱动测试也称为基于动作词的测试。此 KDT 还用于测试软件,对手动和自动测试都很有效。 KDT 是一种脚本技术,它恢复关键字并使用可在测试期间应用的所有数据文件。它是高级和低级关键字的组合,并具有关键字参数,然后在测试过程中使用。

在 KDT 中,我们必须首先单独找出一组关键字,然后我们必须识别功能,以便该关键字如何相应地工作。 KDT 主要用于网页中,例如网站页面的打开和关闭、光标、击键、输入信息的文本输入,所有这些都由 KDT 管理。

KDT的过程包括各种情况,例如将测试过程的文档(例如正在使用的数据和功能)分开,并在指令的帮助下进行测试。它将测试过程分为两个阶段,即设计和开发阶段和执行阶段。

为了创建 KDT 框架,我们需要明确以下几点:

  • Excel 表:首先我们必须识别关键字并将所有关键字存储在 Excel 表中。
  • 函数库:这个库包括所有的网站登录和所有的处理。
  • 数据表:用于存储测试期间可以使用的所有数据。
  • 对象存储库:它取决于关键字,基于该关键字我们可以实现对象存储库。
  • 测试脚本:根据框架的蓝图,我们可以为每个单独的测试用例提供测试脚本。

KDT 的优点:

  1. KDT 有助于减少在系统或被测软件 (SUT) 期间可能导致的小错误。
  2. 它是一个开放框架,我们可以在其中访问所有工具和数据。
  3. 通过使用它,所有测试都可以以更有效的方式编写。
  4. 测试脚本的所有细节对用户都是隐藏的。
  5. KDT 维护成本低,可长期访问。
  6. 发生的测试用例更容易阅读和理解。

数据驱动测试 VS 关键字驱动测试:

S.NO.

DDT

KDT

01.Data driven testing conduct tests by using several stored data, values and variables.Keyword driven testing conduct tests by using specific keywords.
02.DDT can store their data in many formats like CSV files, excel sheets, data base, tables and script arrays etc.KDT can store their data only in Excel sheets.
03.It is less time consuming.It is more time consuming.
04.All the test scripts are decoded from the user.All the test scripts are encoded from the user.
05.DDT can be occurred by several stages.KDT can be occurred by two different stages.
06.High level of programming and technical knowledge is required.Without knowledge of programming  also this test can be performed.