
Tinycast 模糊测试与语料测试calc-fuzz 与 launcher-corpus 如何守护搜索排序【免费下载链接】tinycastTinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history.项目地址: https://gitcode.com/GitHub_Trending/ti/tinycastTinycast 是一款轻量、完全原生的 macOS 启动器与剪贴板历史工具。它的输入几个字母就命中的体验由两组自动化测试默默守护模糊测试fuzz-test.swift与语料测试launcher-corpus二者共同锁死搜索排序的每一层规则让任何一次评分改动都无法悄悄打乱结果顺序。为什么搜索排序需要两套测试来守护启动器的一次查询要同时面对 7 类条目应用、内置命令、扩展命令、系统操作、窗口命令、代码片段和设置面板。每个条目还带着别名、Bundle ID、拼音读法、本地化名称等字段——评分表里任何一个数值调错都可能让chrome排到Chess后面。项目的设计原则很直接测试编译的是线上真实源码而不是评分器的一份副本。这意味着评分逻辑一旦回归构建会直接失败不存在副本没同步的侥幸。这一套约定记录在 docs/testing.md 与 docs/features/launcher.md。fuzz-test20 条命名准则 10 万次随机属性循环fuzz-test.swift 内置了一组高难度应用清单中文的微信、网易云音乐西里尔的 Телеграм带重音的 Café Noir被改名成 Work Chat 的 Slack以及一个故意设置的陷阱条目 Code Explorer名称里藏着一串 c-o-d-e-x 子序列。固定断言覆盖六个维度L136-L149维度守护的规则显示名排序前缀、词首、子序列的层级顺序字段优先级用户别名 显示名 厂商别名 扩展名 技术标识符用户别名别名必须排在最上层内部命中不能越级命名准则20 条真实诉求weixin/wx/wyyyl等拼音变体Spotlight 垃圾清洗.app后缀、ALTERNATE_NAME_1占位符必须被丢弃边缘输入Emoji 查询、RTL 查询、不可见格式符、500 字符查询不崩不陷阱真正的模糊部分在随机化属性循环用固定种子生成 10 万个查询真实片段、乱序子序列、纯垃圾各占三分之一对全部字段并行扫一遍验证五条性质——每个分数都落在某个评分格 形状分内不越格学习加成永远跨不过防火墙评分确定性重复运行结果一致排序稳定性同一段文本放在更弱的字段里分数必须更低再随机 2 万对字段做穷举对比。固定种子是关键细节失败不会下次运行就消失可以精确复现。launcher-corpus282 条合成索引与 59 个排序用例corpus.json 是一个故意合成的密集索引282 个条目按类型分布为 93 个应用、33 个内置命令、28 个扩展命令、29 个系统操作、32 个窗口命令、15 个代码片段、52 个设置面板。难度来自名称碰撞的密度而不是谁的 Mac 上装了这些应用。59 个用例中每一条都钉死一个具体规则criterion 字段文档口号是每来一个新投诉就在这里加一个新用例。corpus-test.swift 用四组门槛验收L44-L57验收项门槛含义可匹配≥ 58/59选中项必须能匹配上其查询冷启动 Top-1≥ 39/59零历史的新用户也能排对冷启动 Top-5≥ 55/59最坏情况也在前五行内可达性≥ 55/59多用 20 次就应能排到第一语料测试最精彩的是防火墙检查把所有竞争条目的学习历史拉到饱和值 2999再逐一把每个条目自己的显示名当作查询——用户完整打对了名字的结果无论对手习惯多深都必须排第一。语料中仅 3 个用例被允许不可达search、zed、notes都被同名条目挡住了且每一条都必须书面声明逃生通道用户别名。两套测试如何协同评分模型与三条不变式评分公式只有一行见 SearchRelevance.swifttotal quality usage其中 quality cell(角色, 层级) 形状分usage ∈ [0, 2999]fuzz-test 验证结构每个分数都是一格 形状弱字段永远低于强字段corpus-test 验证结果真实形态的冷启动准确度、学习可达性、防火墙。两者在公开常量上断言同一组不等式P1 防火墙6500 6198 —— 精确名字命中任何习惯都压不过它P2 格键最小相邻格差100 形状分上限99——形状分只在格内排序P3 可达性3599 3199 —— 最弱的可见匹配也能被学习提到池顶。同一批 Model/ 源码还驱动着计算器侧的确定性测试calc-test/calc-performance——这就是标题里 calc 一侧的含义所有 harness 通过 Scripts/run-tests.sh 并行执行整套约 15 秒。一键运行本地跑起模糊测试与语料测试不需要任何额外环境在项目根目录执行./Scripts/run-tests.sh # 全部 harness 并行跑 ./Scripts/run-tests.sh fuzz-test # 只跑模糊测试 ./Scripts/run-tests.sh corpus-test # 只跑语料测试run-tests.sh 是 harness 名单的唯一权威来源fuzz-test与corpus-test都以slow -O注册编译 EntryNaming.swift、LauncherOrder.swift 等线上源文件。看到满屏PASS和结尾的ALL PASSED就说明搜索排序的 10 万次随机探测与 59 个排序用例全部守住了各自的规则。️ 一句话总结fuzz-test 用 10 万发随机子弹打结构corpus-test 用 59 个真实场景考结果——启动器的每一次秒懂背后都是这两道防线在值夜班。【免费下载链接】tinycastTinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history.项目地址: https://gitcode.com/GitHub_Trending/ti/tinycast创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考