使互操作性成为可重复的比较
接收器支持更新的声明 DMARC 不是互操作性结果。有用的问题是,在给定受控等效输入的情况下,确定的实现是否会产生预期的发现, 结盟、政策和报告行为。比较需要保留这些阶段,而不是将实验简化为两条消息是否到达收件箱。
从版本化的案例目录和指定的测试所有者开始。记录接收器软件或服务、配置、可访问的版本信息和任何未知信息。托管服务不得公开其实现版本;该限制属于矩阵。请勿使用源自产品公告或最近报告时间戳的采用声明来替换缺失的信息。
冻结可能改变结果的输入
对于每种情况,保留消息字节、信封和连接源假设、相关DNS数据、观察时间和配置文件。使两次测试运行之间的差异有意且可见。如果一条路由修改了签名消息或使用不同的信封域,则比较不再仅仅与DMARC实现行为有关。
仅使用授权域、接收者和受控非敏感消息。将虚构的设计案例与可执行装置和实际交付样品分开。在运行测试之前写下预期结果及其规范参考;否则,令人惊讶的结果可以追溯性地描述为预期的。未运行的案例应明确保持不运行,不接收从文档推断的通行证。
发件人库存也很重要。在决定实验室覆盖范围是否与生产变化相关时,包括代表性的合法途径,尤其是间接和定期服务。协议案例可以是正确的,同时忽略实际会受到影响的业务流程。
在处置前比较发现和对齐
RFC 9989第 4.10 节 描述了DNS树遍历行为,而早期的实现可以使用其支持的遗留发现方法。案例应涵盖明确的作者域政策和受控的后备安排。仅在明确指定DNS条件的情况下添加适用的子域和不存在域策略案例;表示子域的标签不足以定义预期的策略。
捕获所选记录和用于对齐的经过身份验证的标识符。然后记录所选的p、sp或np策略和测试状态。 RFC 9989第 4.4 节 定义对齐关系。通过 SPF 或者 DKIM 对于不相关的身份,不得仅仅因为接收者最终接受了该消息而将其错误地标记为成功的DMARC 。
最后将本地覆盖和实际处置记录为单独的结果。即使普通DMARC计算一致,内容过滤、路由和本地决策也可能会产生不同的传送结果。诊断最早的不同阶段,而不是将每个邮箱差异归因于策略发现。
包括测试转换而不假设等效性
一个有用的案例比较了确定的实施过程 一个记录 含有 p=reject 且t=y.在下面 RFC 9989第 4.7 节,对失败邮件的测试处理是低一级的,即隔离。无法识别的遗留实现可能遵循不同的支持逻辑。这是一个需要测量的预期兼容性问题,而不是将该记录部署为通用安全开关的原因。
将历史 pct 案例与 t 案例分开。一个曾经请求采样的计划不应该仅仅因为更新的接收器忽略旧的控制而没有语法错误而被声明为兼容。预期的业务效果、指定的机制和观察到的结果都需要有自己的字段。
将未知标签、缺失策略和格式错误的输入案例保留在受控测试范围内。不要使用生产域作为故意模糊记录的实验目标。测试设计本身应在任何操作执行之前确定相关的批准和恢复要求。
测试报告作为一项单独的功能
RFC 9990 定义聚合报告结构,包括可选的 discovery_method 和测试上下文。包含这些字段的报告可以支持对该报告的观察;省略的可选字段并不能证明遗留行为。保留原始报告和解析器配置文件,因为即使接收者正确生成信息,消费者也可能会丢失信息。
报告期可能包括政策转变,因此一个汇总并不总是单个冻结政策的记录。在使用计数来解释特定消息之前,请调整比较的时间窗口和来源证据。重复数据删除和架构兼容性属于报告测试计划,而不是隐藏在仪表板中。
故障报告是另一个独立的维度。 RFC 9991 让一代人受到接收者意愿和隐私限制。不 故障报告 不足以证明互操作性测试失败。记录报告是否被请求、支持、授权、接收和解释,而无需收集不必要的消息内容。
没有观察到结果细胞的虚构矩阵
虚构的工作表将接收器 A 命名为当前语义参考,将接收器 B 命名为旧配置文件。为p=reject;分配了相同的发明消息和DNS快照; t=y情况。 A 的预期策略列源自规范。 B的执行情况和一切实际效果还需要证据;没有任何产品被认为具有与标签相同的行为。
计划的矩阵还包括直接对齐控制、不相关的认证域案例、后备发现案例和聚合格式案例。每个执行单元仍然不运行。这使得工作表变得有用,无需制造一致性证明或接收器采用。
保留确切的发布要求
最初的证据门是:保留具有相同输入案例和完整观察结果的版本化互操作性矩阵。调试要求是:验证当前的主要规范并在起草之前保留一个工作示例。保留的虚构矩阵既不能满足实时观察,也不能满足生产准备。指定的实施证据、受控结果、中小企业审核、业务推出批准和发布授权仍然开放。本手稿未进行接收器测试、 DNS更改或消息传输。