designing-distributed-system-tests
在为分布式或有状态系统设计测试计划时使用 - 任何具有持久性、复制、共识、重试、幂等性、异步消息传递、多租户或部分故障的系统。计划是索赔驱动的;首先调查产品声称的保证,然后设计假设和场景,试图伪造这些有过错的声明。处理变更范围的计划(特定的提交/PR/功能)和项目范围的计划(具有现有测试清单和差距分析的整个系统的整体计划)。 当要求编写稳定性计划、故障矩阵、发布验证计划、耐久性测试计划、分区测试计划、升级测试计划、崩溃恢复测试计划、线性化测试计划、确定性模拟计划、租户隔离测试计划、authz/边界测试计划、命名空间隔离计划、多协议访问计划、公平性测试计划、嘈杂邻居测试计划、“足够覆盖的测试计划”、“我们应该测试什么”或“进行整体测试”时,也可使用计划”。即使用户只是说“我们应该针对此更改测试什么”、“为该项目设计测试计划”、“我的租户实际上是隔离的”或“如何测试租户/分片/队列之间的公平性”,也会触发。 生成一个结构化的 Markdown 计划文件,其中包含从策划的技术目录(Jepsen+Elle、确定性模拟、混沌/故障注入、模糊、形式方法、属性+变形、性能、崩溃恢复+升级)中提取的假设驱动场景,并且对于涉及一致性/持久性/幂等性/隔离/排序/成员资格的声明,模型+历史+检查器规则(§7.M);对于涉及边界语义(租户隔离、授权、命名空间、路由、多协议)或公平性的声明,表面分解规则 (§7.M.S) 将场景分成具有独立裁决的每个表面部分。
更新日志: Source: GitHub https://github.com/shenli/distributed-system-testing
评论加载中...