测试数据创建的基本方法
从创建测试数据的维度来看,测试数据准备方法主要可以分为四类:
基于 GUI 操作生成测试数据;
通过 API 调用生成测试数据;
通过数据库操作生成测试数据;
综合运用 API 和数据库的方式生成测试数据。
基于 GUI 操作生成测试数据
很少直接使用基于 GUI 的操作生成测试数据。
通过 API 调用生成测试数据
通过 API 调用生成测试数据,是目前主流的测试数据生成方法。
为了规避在创建测试数据时过于在乎实现细节的问题,在实际工程实践中,我们往往会把调用 API 生成测试数据的过程封装成测试数据准备函数。
如何了解前端操作调用了哪些后端 API?
直接询问开发人员。
直接阅读源代码。
在一个你可以独占的环境上执行 GUI 操作创建测试数据,与此同时监控服务器端的调用日志,分析这个过程到底调用了哪些 API。
通过数据库操作生成测试数据
通过数据库操作生成测试数据,也是目前主流的测试数据生成方法。
见的做法是,将创建数据需要用到的 SQL 语句封装成一个个的测试数据准备函数,当我们需要创建数据时,直接调用这些封装好的函数即可。
如何知道前端用户通过 GUI 操作修改了哪些数据库的业务表?
直接向开发人员索要使用到的 SQL 语句。
直接阅读产品源代码。
在一个你可以独占的环境上执行 GUI 操作产生测试数据,与此同时,监控独占环境的数据库端业务表的变化,找到哪些业务表发生了变化。
通过数据库操作生成测试数据的方法,主要优点是测试数据的生成效率非常高,可以在较短的时间内创建大批量的测试数据。
综合运用 API 和数据库的方式生成测试数据
在实际的工程实践中,很少使用单一的方法生成测试数据,基本都是采用 API 和数据库相结合的方式。最典型的应用场景是,先通过 API 调用生成基础的测试数据,然后使用数据库的 CRUD 操作生成符合特殊测试需求的数据。
总结
基于 GUI 操作生成测试数据是最原始的方法,但是效率很低,而且会引入不必要的依赖;通过 API 调用以及数据库操作的方式生成测试数据是目前主流的做法,通过 API 调用的方式具有数据准确度高但是创建效率较低的特点,而通过数据库的方式具有创建效率高但是维护复杂度也高的特点。
所以,在实际项目中,业界往往会综合采用 API 和数据库的方式生成测试数据,即通过 API 调用生成基础数据,然后使用数据库的 CRUD 操作进一步生成符合特殊测试需求的数据。
来源于 极客时间 茹炳晟 软件测试52讲