接口测试 大佬们请问下开展 ui 和接口自动化,对于数据这一块如何处理

Senegal · 2023年08月07日 · 最后由 Barry250 回复于 2023年08月09日 · 4546 次阅读

1.先说下目前公司自动化情况:现在只有一个测试 dev 环境.开发,手工测试都是使用这个 dev 环境调试,测试
2.现在接口自动化做了一个初始版本,但是用的都是 dev 现存的数据,
3.ui 自动化刚开始搞.

这样的问题:
跑接口自动化时:会经常因为数据原因导致接口报错 (因为其他手动功能测试会改数据,开发也会用 dev 环境调试)

共收到 5 条回复 时间 点赞

调接口造数据,然后参数化;UI 也是一样的道理

自动化应该要有自己的环境,自动化要求的是数据稳定。

对于公司目前的自动化情况,我了解到你们只有一个测试环境,开发和手工测试都使用这个环境进行调试和测试。目前,你们已经实现了一个初始版本的接口自动化,但是使用的是现有的测试环境中的数据。同时,UI 自动化还处于刚开始阶段。

针对你提到的问题,接口自动化经常因为数据原因导致接口报错,这可能是由于其他手动功能测试或开发人员在调试过程中修改了数据导致的。为了解决这个问题,我有几个建议可以提供给你:

  1. 数据隔离:考虑将接口自动化所需的数据进行隔离,不与其他手动测试或开发调试共用。可以使用独立的测试数据或创建专用的测试环境,确保接口自动化的数据稳定性。

  2. 数据回滚:在接口自动化执行之前,确保测试环境的数据处于一个可控的状态。可以在每次执行前进行数据备份,并在测试完成后对数据进行还原或回滚,确保测试环境的数据一致性。

  3. 数据监控:建立一个数据监控系统,及时发现和排查数据异常问题。可以通过监控工具或自动化脚本定期检查测试环境中的数据完整性和准确性,确保数据符合预期。

  4. 自动化流水线:考虑构建自动化流水线,将接口自动化集成到持续集成/持续交付 (CI/CD) 流程中。这样可以确保接口自动化在每次代码提交后自动执行,并保持与最新代码的一致性,减少因为数据变化引起的问题。

当考虑实施上述建议时,以下是一些具体操作步骤,帮助你更好地解决接口自动化中数据相关的问题:

  1. 数据隔离:

    • 创建一个独立的测试数据库或者测试环境,专门用于接口自动化测试。
    • 确保该数据库或环境与其他手动测试或开发调试过程中使用的数据相隔离,不发生冲突。
  2. 数据回滚:

    • 在接口自动化执行之前,首先备份当前的测试环境数据。
    • 执行接口自动化测试,自动化脚本完成后,可以选择还原备份数据或者进行数据回滚,确保测试环境的数据保持一致性。
  3. 数据监控:

    • 设置监控脚本或使用监控工具,定期检查测试环境数据。
    • 编写脚本或利用工具,验证数据的完整性和准确性,发现异常情况,如数据丢失、数据错误等。
    • 在发现异常情况时,及时报警或通知相关人员进行处理和修复。
  4. 自动化流水线:

    • 集成接口自动化脚本到持续集成/持续交付 (CI/CD) 流程中。
    • 在代码仓库中设置触发器,当有新的代码提交时,自动触发接口自动化脚本的执行。
    • 在自动化流水线中,确保每次执行都是在独立的测试环境中进行,使用已备份的数据或回滚至最后一次正常状态的数据。

通过以上的实施步骤,你可以更好地管理数据,在接口自动化过程中减少由于数据原因导致的报错问题。这样可以提高自动化测试的稳定性和可靠性,同时减少手动干预的需求。

先说个最简单的做法, 手工测试怎么改的数据,可以用代码实现,加在用例 setup 阶段,如果要减少自动化数据的影响,可以再 teardown 阶段做一下清理和恢复

很难,你这个算是简单的,当你再涉及到上下游的数据,简直是一场灾难。

比如,我需要绑定会员领取权益,我们下游会涉及到会员,获客,那需要他们分别协助造数。但是你是谁,人家凭什么花时间给你造数,凭什么帮你搞个造数接口给你。

无解。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册