版权归原作者所有,如有侵权,请联系我们

[科普中国]-资料驱动测试

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

数据驱动测试Data-driven testing)是一种软件测试的方式,数据驱动测试会配合一个有许多测试输入及对应的验证输出值的表格,而其测试环境设定及控制不会固定在程式码中。最简单的数据驱动测试会将表格的某一栏作为输入,同一列的另一栏则是预期的测试输出。表格内一般会对应输入值的边界或是输入值分组的边界。在有些测试中,会从数据库中读取测试组态。

简介在软件测试中,有许多不同的方法可以应用。这些方法并存的原因是它们在初始建立及维护时所需要的努力程度不同。数据驱动测试的优点是易于增加新的输入,在产品或是被测系统的输入值发现新分组时格外方便。以成本的观点来看,数据驱动测试配合自动化测试的成本很低,但配合人工测试的成本则相当高昂。数据驱动测试和关键字驱动测试看似相同,后续会再说明二者的不同之处。1

方法概述数据驱动测试是创立一些测试脚本,和框架中有关的数据集一起执行。框架提供可复用的测试逻辑,以减少维护成本,并提高测试的覆盖率。输入及结果(测试准则)的数据可以存放在一个或多个中央数据源或数据库中,其格式及组织可以依实作方式而不同。

数据驱动测试的数据包括输入变数及用来确认结果的输出变数。在较先进的自动化环境中,可以用一些客制化的工具或嗅探器(sniffer)来发掘相关的数据。数据驱动测试的框架播放发掘到的数据,可形成一个自动化的回归测试工具。测试脚本中包括在被测系统中的浏览,读取数据来源,记录测试状态及资讯等。1

数据驱动在数据驱动测试中,任何可能会变动的东西(也称为变异,包括环境、结束点、测试数据、路径等)都会和测试逻辑(脚本)分开,成为“外部资产”(external asset),可能是组态或是测试的数据集,而脚本中执行的逻辑则由数据内容来决定。关键字驱动测试和数据驱动测试类似,不过关键字驱动测试的测试用例是包含在数据的组合中,而不是嵌入在测试脚本中。

数据驱动测试所用的数据库可以包括1:

数据池

ODBC来源

CSV档案

Excel档案

数据存取物件

ADO物件

关键字驱动测试关键字驱动测试keyword-driven testing),也称为表格驱动测试table-driven testing)或行动字驱动测试action-word testing),是针对自动化测试的软件测试方法,它将创建测试程序的步骤分为规划及实现二个阶段。

关键字驱动测试也可以用于人工测试,但其特性较适合进行自动化测试。自动测试的好处是可复用性,测试程式已在高度抽象化的层级下创建,减少维护的成本。2

测试驱动开发测试驱动开发(英语:Test-driven development,缩写为TDD)是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。测试驱动开发始于20世纪90年代。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。

测试驱动开发是戴两顶帽子思考的开发方式:先戴上实现功能的帽子,在测试的辅助下,快速实现其功能;再戴上重构的帽子,在测试的保护下,通过去除冗余的代码,提高代码质量。测试驱动着整个开发过程:首先,驱动代码的设计和功能的实现;其后,驱动代码的再设计和重构。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所