一、简介
数据驱动本质上是高级的参数化。它是指测试数据的改变驱动自动化测试的执行,从而产生不同的测试结果。对于测试数据,我们可以将其存放在代码的数据结构中(比如数组、集合),也可以存放在外部文件(比如json、csv、yaml、Excel)或数据库中,通过相应的读取技术得到测试数据从而实现数据驱动测试。各大语言测试框架都有对应的功能,比如Python的Unitest,Java的TestNG/Junit,如TestNG有提供DataProvider注解实现数据驱动测试。
二、数据驱动测试的优点?
1、相似的测试步骤只需要编写一条用例,可以直接通过多条测试数据驱动执行,提高了测试脚本的复用性;
2、测试数据和测试脚本分离,提高后期脚本可维护性测试数据即可以保存在代码和文件中,有可以保存在数据库中。具体保存在何处取决于测试数据量大小和使用场景。对于少量的数据,比如账号相关的信息,可以直接写入代码中进行维护。若数据的量级在几十到几千之间,可以通过外部的文件进行管理,比如Excel。在数据量级特别大的情况下,通过数据库这样方式的管理数据会比较高效。
数据驱动本质上是高级的参数化。它是指测试数据的改变驱动自动化测试的执行,从而产生不同的测试结果。对于测试数据,我们可以将其存放在代码的数据结构中(比如数组、集合),也可以存放在外部文件(比如json、csv、yaml、Excel)或数据库中,通过相应的读取技术得到测试数据从而实现数据驱动测试。各大语言测试框架都有对应的功能,比如Python的Unitest,Java的TestNG/Junit,如TestNG有提供DataProvider注解实现数据驱动测试。
二、数据驱动测试的优点?
1、相似的测试步骤只需要编写一条用例,可以直接通过多条测试数据驱动执行,提高了测试脚本的复用性;
2、测试数据和测试脚本分离,提高后期脚本可维护性测试数据即可以保存在代码和文件中,有可以保存在数据库中。具体保存在何处取决于测试数据量大小和使用场景。对于少量的数据,比如账号相关的信息,可以直接写入代码中进行维护。若数据的量级在几十到几千之间,可以通过外部的文件进行管理,比如Excel。在数据量级特别大的情况下,通过数据库这样方式的管理数据会比较高效。