接口测试脚本自动生成

random
random
random
订阅者
10532
文章
0
评论
测试交流5235字数 332阅读1分6秒阅读模式

当前接口测试阶段已做到接口测试脚本按照模版批量生成,但应答校验和数据库全表校验自动生成目前没有成熟的解决方案,正在研究中。。。
今天的主题: 梳理代码生成之数据校验自动生成后续工作

背景:
1、单接口测试,在数据校验,处理数据库数据基本为自定义,获取数据对象和校验规则不统一

2、串场景自动化 - 数据库数据校验对象类已生成,但在贯穿整个场景上对接仍然复杂,需要简化;文章源自玩技e族-https://www.playezu.com/251060.html

3、应答参数的校验,目前仅对 code 校验自动生成、其他业务字段未解析处理;文章源自玩技e族-https://www.playezu.com/251060.html

目的:
1、解决单接口写、修改、查询数据,在应答成功后,自动拼接接口对应数据源获取模型、自动匹配应答报文和数据源字段值,达到真正的数据校验

2、自动解析应答报文 Json 格式,与实际返回接口报文做字段自动匹配;文章源自玩技e族-https://www.playezu.com/251060.html

3、简化串场景 - 全表校验 对接难度文章源自玩技e族-https://www.playezu.com/251060.html

以上是后面接口自动化提效的几个点,在敏捷研发流程里,测试时间非常紧张、看看大家有什么好的建议?文章源自玩技e族-https://www.playezu.com/251060.html 文章源自玩技e族-https://www.playezu.com/251060.html

 
评论  5  访客  5
    • feidou1113
      feidou1113 9

      谢谢回帖, 后续有点实践成果、会及时分享

      • Thirty-Thirty
        Thirty-Thirty 9

        相一致字段加入白名单,不提供黑名单,这对于后续处理是显性的。
        这个理念我在如何实现不完全字典比较的 helper贴里也有同样的回复,该贴提出了跟本贴类似的问题,可互为参考。

        • Thirty-Thirty
          Thirty-Thirty 9

          巧了,这边也是上家公司有同学做法很相似。复制你的部分回复内容并加粗标注不同点。

          增加录制/校验两种模式。录制模式时,把数据库查询到的数据统一存到用例对应的 csv 文件中(这边是存到特意为用例建的数据表中,表名是在被查询表名加后缀_t);校验模式(默认)时,校验查询到的数据和 csv 文件是否一致(对应地,两边都对表执行相同的查询,并校验查询到的数据是否一致,查表比读 CSV 会快些方便些,且不会有数据库存储硬盘文件 (CSV) 存储两种存储方式不一致问题)。
          由于有少量字段是无需校验的(比如时间相关的字段、某些自增的 id 字段),因此 csv 中提供了白名单机制(这边是提供了黑名单机制配置需忽略校验的字段,不确定你是手误还是叫法不同,作用是一样的),可以人工在里面配置需忽略校验的字段。
          后期也优化为录制模式时每条用例会重复执行 2 次,并自动把两次执行不一致字段加入 csv 的白名单(这边后期也改了,改为提供白名单,不提供黑名单,自动把执行相一致字段加入白名单,注意这里可不是叫法不同了,其实效果差不多,只是看待事物理念不同,试想下迎宾手里拿的参会人员名单)。

          优点和缺点跟你那边的相当,就不复制了。

          • 陈恒捷
            陈恒捷 9

            上家公司有同学做了个自动生成数据库几乎全字段校验的功能,分享下思路,楼主看看有没有帮助?

            背景:金融类业务,数据库需要校验的字段很多,手写效率太低,所以想自动生成。
            手段:
            增加录制/校验两种模式。录制模式时,把数据库查询到的数据统一存到用例对应的 csv 文件中;校验模式(默认)时,校验查询到的数据和 csv 文件是否一致。
            由于有少量字段是无需校验的(比如时间相关的字段、某些自增的 id 字段),因此 csv 中提供了白名单机制,可以人工在里面配置需忽略校验的字段。
            后期也优化为录制模式时每条用例会重复执行 2 次,并自动把两次执行不一致字段加入 csv 的白名单。

            优点:
            节省了很多数据库校验相关断言的编写成本
            不足:
            仅能校验等于,对于校验条件为不等于、某个范围内之类的,无法校验。(不过对于我们当时来说,已经够用了)

            这个思路,理论上对于接口 response 也是适用的,只是可能存放格式要从 csv 改为别的格式(对象可能有多层,所以 csv 格式不一定适用)

            • Thirty-Thirty
              Thirty-Thirty 9

              行百里者半九十,加油!
              等成熟的解决方案研究出来后,给社区小伙伴们分享下

            匿名

            发表评论

            匿名网友
            确定

            拖动滑块以完成验证