跑完测试后开发库里多了一堆测试账号,列表页全是假数据。日志里能对上时间点,这种反而好排。
用例直接操作真实数据库且自动提交,结束后没有清理。这一点先确认清楚,后面就不用反复试。
with engine.begin() as conn:
tx = conn.begin()
run_case(conn)
tx.rollback()
「测试数据污染」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
处理上按这个顺序:用例包在事务里执行并回滚;使用独立的测试库;固定测试数据前缀便于清理。
结果对不对很好判断,测试结束后数据库行数与执行前一致,无残留数据。