数据驱动测试
数据驱动测试是创建测试的一种方法,其中测试数据、输入和输出值都从外部文件中读取。通过这种方式,测试人员可以更有效地测试软件对大量数据的反应。一些外部文件可以是以下类型:
- Excel文件
- ADO对象
- CSV文件
- ODBC数据源
- 文本文件
什么是数据驱动测试?
数据驱动框架是一种将测试用例与数据集分离的框架。此外,它还提供了对同一测试用例使用多组数据进行运行的功能。
阅读更多: Selenium数据驱动框架
数据驱动测试的优点
在数据驱动测试中,代码中使用的各种函数、方法、操作等可以重复使用多次。将来,如果软件行为发生变化,只需要修改代码,而无需更改存储在单独文件中的测试数据。类似地,如果需要更改测试数据或创建新的测试数据集,只需更新存储数据的外部文件,而不会影响代码。
在数据驱动测试中,测试数据不会嵌入到代码中。大多数情况下,大量测试数据是使用不同的自动化工具生成的,并且可以通过简单地将数据导出到具有xls、xlsx、csv、xml、txt等格式的文件中来获取。因此,可以在短时间内创建大量数据,并且不需要太多的维护工作。
数据驱动测试的另一个优点是,无需开发三个不同的测试用例来测试需求的正面、负面和边缘情况。但是,可以使用一个测试用例,该测试用例使用存储在外部文件中的不同数据集进行馈送。因此,它有助于消除冗余的测试用例。
数据驱动测试的缺点
为了创建数据驱动测试框架,需要较高的技术技能。参与其中的团队需要具备脚本语言以及Apache POI等其他第三方API和库的知识。这里,需要构建两个实体(数据和逻辑)之间的集成系统。因此,在项目中采用数据驱动测试,很大程度上依赖于既能解决技术问题又能测试软件的自动化测试人员。
数据驱动测试的实际示例
让我们以一个处理在线销售汽车的应用程序为例。让我们看看一些正面、负面和边缘情况:
- 用户输入姓名、电子邮件、电话号码、正确的汽车价格金额,然后点击购买。应该成功购买。
- 用户输入姓名、电子邮件、电话号码、负数的汽车价格金额,然后点击购买。应该抛出错误,提示金额无效。
- 用户输入姓名、电子邮件、电话号码、低于汽车价格的金额,然后点击购买。应该抛出错误,提示金额过低。
- 用户输入姓名、电子邮件、电话号码,不输入汽车价格金额,然后点击购买。应该抛出错误,提示金额无效。
- 用户将姓名留空,然后输入电子邮件、电话号码、正确的汽车价格金额,然后点击购买。应该抛出错误,提示用户无效。
为什么使用数据驱动测试?
在数据驱动测试中,可以对单个测试用例运行多组数据。因此,可以使用最少的代码对同一软件进行广泛的数据范围测试。因此,开发一次的代码可以重复使用。
数据驱动测试框架允许多次运行测试用例而无需增加其数量。有时,测试数据会自动生成,这允许软件针对随机输入进行测试。测试此类场景可确保软件更加健壮和高质量。
不同的数据驱动测试方法
下面列出了不同的数据驱动测试方法:
- Excel中的数据 - 在这种类型的数据驱动测试中,多组测试数据保存在Excel工作簿中。
- Excel 中的关键字驱动 − 这里使用了由关键字驱动的测试数据。关键字代表要对软件执行的操作。这主要是为了将编码与数据分离。将来,如果数据发生变化,则无需修改代码,反之亦然。
- XML 中的数据 − 在这种类型的测试数据驱动测试中,多组测试数据保存在 XML 文件中。
结论
本教程全面介绍了软件数据驱动测试。我们首先介绍了什么是软件数据驱动测试、数据驱动测试的优点、数据驱动测试的缺点、数据驱动测试的实际示例、使用数据驱动测试的原因以及不同的数据驱动测试方法。
这将为您提供软件数据驱动测试的深入知识。明智的做法是不断实践您学到的知识,并探索与软件测试相关的其他知识,以加深您的理解并扩展您的视野。