每次发布前的人工点检总有遗漏,历史事故用例化后自动回归才是正解。用例管理器把四十二条历史事故案例转成可执行用例,发布前一键回归,五分钟跑完,历史错误不再重演。
用例登记名称、前置步骤、期望结果,执行器逐条跑并记录通过状态。actor上下文由测试号提供。
local CASES = {
{ name = "重置券日限2张", pre = "use_two_tickets", expect = "reject" },
{ name = "红名阈值200触发", pre = "kill_200", expect = "redname" },
{ name = "传 стойк—", pre = "", expect = "" },
}
local RESULTS = {}
local function runCase(idx)
local c = CASES[idx]
if c == nil or c.pre == "" then
RESULTS[idx] = "skip"
return false
end
local ok = callscript("case_" .. idx)
RESULTS[idx] = ok and "pass" or "fail"
return ok
end
全量跑完后生成报告,通过率低于百分之百即发布拦截,失败用例清单直达负责人。
local function regressionGate()
local pass, fail = 0, 0
for idx, st in pairs(RESULTS) do
if st == "pass" then pass = pass + 1 else fail = fail + 1 end
end
setsysvarex("REG_PASS", pass, 1)
setsysvarex("REG_FAIL", fail, 1)
return fail == 0
end
用例库注入三个已知缺陷版本,回归必须全部拦截;用例平均耗时控制在五分钟内。监控回归拦截率趋势,连续一个月零拦截不代表质量变好,先确认用例库还跟得上玩法迭代。
用例的前置步骤依赖固定测试数据,测试号装备变动会让前置失败连锁全红,用例自带数据准备段。callscript的用例脚本名按编号拼接,插入新用例会错位编号,改用语义化命名加映射表。回归结果只写变量不落文件,发布复盘时无据可查,报告同时落盘。用例库的维护责任人要明确到人,过期用例跑通了也没价值,每季度清理一轮。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 悬赏捕杀把玩家之间的恩怨变成可托付的系统行为:仇家难以亲自复仇时,花费金条发布悬赏,全服玩家接单击杀目标…
实战应用:用在哪里 策划改表是日常动作,漏填字段、引用了不存在的编号、数值越界这三类问题占了配表故障的绝大多数。等玩家报错再…
实战应用:用在哪里 行会擂台给中小行会提供了固定的对抗出口:挑战方击败守擂方后接管擂台,连胜次数决定每日结算奖励档位。接口层…
实战应用:用在哪里 世界首领战里玩家最关心的是伤害前十名:榜单要求随时插入、随时能按序取出,每来一条伤害记录都重新排序一次太…
实战应用:用在哪里 百人同屏的攻城战里,把每条移动、施法消息广播给全地图是最常见的性能失误。九宫格视野的做法是把地图切成等大…
实战应用:用在哪里 留言板、行会招募语、邮件标题这类字段会被玩家自由填写,并写入角色变量或转发给持久层。拼接式的写法一旦遇到…