Skip to content

Latest commit

 

History

History
25 lines (16 loc) · 1.96 KB

TESTING.md

File metadata and controls

25 lines (16 loc) · 1.96 KB

测试原则(防过拟合)

本项目一切测试活动的最高准则。测试是为了验证代码能否跑通,不是为了适配测试目标。 如果这套平台只能在某个场景、某个站点跑通,那它毫无意义。

三条铁律

  1. 代码只为通用 bug 而改,不为具体目标而改。 测试中暴露的问题,修复前必须先回答:"这个改动对任意目标都成立吗?"——回答不了"是"就不进代码。目标特异的信息(IP、域名、凭据、页面结构、特定 CMS 的打法)永远属于情报和语料,不属于逻辑。

  2. 不追靶标。 打不通一个目标时,默认假设是"平台通用能力不够",而不是"需要针对这个目标写点什么"。允许的唯一"适配"是:补充的武器库工具、签名库(带来源的公开指纹)、提示词中的通用纪律。禁止把靶场特征写进代码、提示词或签名。

  3. 靶场要换着打。 单一靶场验证不了通用性。测试矩阵应尽量覆盖不同结构:纯 Web 入口、Linux 单机、Windows 单机、多层内网/域环境、纯 CTF 逻辑题、接近真实企业的综合环境。每换一个环境,先观察"哪些通用能力失效了",那才是最有价值的输入。

验证与汇报纪律

  • 任何"测试通过"的结论必须说明:目标类型、人工干预了什么(喂凭据/喂 wp/手动放行),不修饰成"全自动打通";
  • 复盘的产出分两类清楚标记:通用机制修复(进代码)与目标特情记录(进复盘文档,不进代码);
  • 新增代码里出现具体环境特征(内网段、域名、凭据、特定目标指纹)即视为过拟合事故,必须清除——本原则的执行情况可用一条 grep 随时审计(靶场特征串在生产代码中应零命中)。

判断标准

一个功能算不算通用,不看"它在红日靶场 3 能不能跑",看"换一个从未见过的环境,它的行为是否仍然合理"。