35 | 如何准备测试数据?

测试数据创建的基本方法

从创建测试数据的维度来看,测试数据准备方法主要可以分为四类:

  • 基于 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讲

posted @ 2020-08-01 09:44  捷后愚生  阅读(354)  评论(0编辑  收藏  举报