软件测试之测试数据
  A1MKN3aCO59N 2023年11月02日 22 0

  测试数据的准备是软件测试过程中非常重要的一个环节 ,功能测试、自动化测试、性能测试都避不开测试数据的准备工作。

  想要成长为一名优秀的测试工程师,非常有必要深入理解测试数据的准备方法,以及它们各自的优缺点、适用场景。

  测试数据准备的基本方法

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

  基于GUI操作生成测试数据。

  通过API调用生成测试数据。

  通过数据库操作生成测试数据。

  综合运用API和数据库的方式生成测试数据。

  基于 GUI 操作生成测试数据

  是最原始的创建测试数据的方法。简单地说,它就是采用 E2E 的方式来执行业务场景,然后生成数据的方法。

  这个方法的优点是简单直接,创建的数据完全来自真实的业务流程。但是该方法的缺点也十分明显,主要体现在以下几个方面:

  创建测试数据的效率非常低。

  基于GUI的测试数据创建方法不适合封装成测试数据工具。

  测试数据成功创建的概率不会太高。

  会引入不必要的测试依赖。

  基于以上几个原因,在实际的测试过程中,很少直接使用基于GUI的操作生成测试数据。

  

软件测试之测试数据_数据

  

  通过API调用生成测试数据

  是目前主流的测试数据生成方法。在实际工程实践中,我们往往会把调用 API 生成测试数据的过程封装成测试数据准备函数。

  通过API调用生成测试数据的方法,优点主要体现在以下几个方面:

  可以保证创建的测试数据的准确性,原因是使用了和GUI操作同样的API调用。

  测试数据准备的执行效率更高,因为该方法跳过了耗时的GUI操作。

  把创建数据的API调用过程,封装成测试数据函数更方便,因为这个调用过程的代码逻辑非常清晰。

  测试数据的创建可以完全依赖于 API 调用,当创建测试数据的内部逻辑有变更时,由于此时 API 内部的实现逻辑也会由开发人员同步更新,所以我们依旧可以通过调用 API 来得到逻辑变更后的测试数据,而这个过程对使用来说是完全透明的。

  缺点主要表现在:

  并不是所有的测试数据创建都有对应的API支持。

  有时,创建一条业务线上的数据,往往需要按一定的顺序依次调用多个API,并且会在多个API调用之间传递数据,这也无形中增加了测试数据准备函数的复杂性。

  虽然相比于GUI操作方式,基于API调用的方式在执行速度上已经得到了大幅度提示,并且还可以很方便地实现并发测试,但是对于需要批量创建海量数据的场景,还是会力不从心。

  通过数据库操作生成测试数据

  这也是目前主流的测试数据生成方法。这个方法的实现原理很简单,就是直接通过数据库操作,将测试数据插入到被测系统的后台数据库中。

  常见的做法是,将创建数据需要用到的 SQL 语句封装成一个个的测试数据准备函数,当我们需要创建数据时,直接调用这些封装好的函数即可。

  通过数据库操作生成测试数据的方法,主要优点是测试数据的生成效率非常高,可以在较短的时间内创建大批量的测试数据。

  缺点也非常明显,主要体现在以下几个方面:

  很多时候,一个前端操作引发的数据创建,往往会修改很多张表,因此封装的数据准备函数的维护成本要高得多。

  容易出现数据不完整的情况,比如一个业务操作,实际上在一张主表和一张附表中插入了记录,但是基于数据库操作的数据创建可能只在主表中插入了记录,这种错误一般都会比较隐蔽,往往只在一些特定的操作下才会发生异常。

  当业务逻辑发生变化时,即 SQL 语句有变化时,需要维护和更新已经封装的数据准备函数。

  综合运用API和数据库的方式生成测试数据

  典型的应用场景是,先通过 API 调用生成基础的测试数据,然后使用数据库的 CRUD 操作生成符合特殊测试需求的数据。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
A1MKN3aCO59N
最新推荐 更多