1.先说下目前公司自动化情况:现在只有一个测试 dev 环境.开发,手工测试都是使用这个 dev 环境调试,测试 2.现在接口自动化做了一个初始版本,但是用的都是 dev 现存的数据, 3.ui 自动化刚开始搞.
这样的问题: 跑接口自动化时:会经常因为数据原因导致接口报错 (因为其他手动功能测试会改数据,开发也会用 dev 环境调试)
调接口造数据,然后参数化;UI 也是一样的道理
自动化应该要有自己的环境,自动化要求的是数据稳定。
对于公司目前的自动化情况,我了解到你们只有一个测试环境,开发和手工测试都使用这个环境进行调试和测试。目前,你们已经实现了一个初始版本的接口自动化,但是使用的是现有的测试环境中的数据。同时,UI 自动化还处于刚开始阶段。
针对你提到的问题,接口自动化经常因为数据原因导致接口报错,这可能是由于其他手动功能测试或开发人员在调试过程中修改了数据导致的。为了解决这个问题,我有几个建议可以提供给你:
数据隔离:考虑将接口自动化所需的数据进行隔离,不与其他手动测试或开发调试共用。可以使用独立的测试数据或创建专用的测试环境,确保接口自动化的数据稳定性。
数据回滚:在接口自动化执行之前,确保测试环境的数据处于一个可控的状态。可以在每次执行前进行数据备份,并在测试完成后对数据进行还原或回滚,确保测试环境的数据一致性。
数据监控:建立一个数据监控系统,及时发现和排查数据异常问题。可以通过监控工具或自动化脚本定期检查测试环境中的数据完整性和准确性,确保数据符合预期。
自动化流水线:考虑构建自动化流水线,将接口自动化集成到持续集成/持续交付 (CI/CD) 流程中。这样可以确保接口自动化在每次代码提交后自动执行,并保持与最新代码的一致性,减少因为数据变化引起的问题。
当考虑实施上述建议时,以下是一些具体操作步骤,帮助你更好地解决接口自动化中数据相关的问题:
数据隔离:
数据回滚:
数据监控:
自动化流水线:
通过以上的实施步骤,你可以更好地管理数据,在接口自动化过程中减少由于数据原因导致的报错问题。这样可以提高自动化测试的稳定性和可靠性,同时减少手动干预的需求。
先说个最简单的做法, 手工测试怎么改的数据,可以用代码实现,加在用例 setup 阶段,如果要减少自动化数据的影响,可以再 teardown 阶段做一下清理和恢复
很难,你这个算是简单的,当你再涉及到上下游的数据,简直是一场灾难。
比如,我需要绑定会员领取权益,我们下游会涉及到会员,获客,那需要他们分别协助造数。但是你是谁,人家凭什么花时间给你造数,凭什么帮你搞个造数接口给你。
无解。