51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 424|回复: 0
打印 上一主题 下一主题

[讨论] 软件测试之测试数据

[复制链接]
  • TA的每日心情
    开心
    2022-9-21 15:33
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2023-2-9 10:24:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      测试数据的准备是软件测试过程中非常重要的一个环节 ,功能测试、自动化测试、性能测试都避不开测试数据的准备工作。
      想要成长为一名优秀的测试工程师,非常有必要深入理解测试数据的准备方法,以及它们各自的优缺点、适用场景。
      测试数据准备的基本方法
      从创建测试数据的维度来看,测试数据准备方法主要可以分为四类:
      基于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 操作生成符合特殊测试需求的数据。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-24 23:54 , Processed in 0.064306 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表