一个会自动"失忆"的网站,成了QA圈的新宠。每周日零点UTC,所有数据清零重置,用户却乐此不疲地往里面填测试用例。
这听起来像个bug,其实是产品设计。创始人Abigail Armijo(阿比盖尔·阿米霍)做了一个反常识的决定:让练习平台保持"出厂设置",逼测试人员每周重新搭建环境。结果GitHub上相关挑战的提交量三个月涨了47%。
01 | 为什么登录测试比你想的复杂
大多数教程里的登录测试长这样:输入用户名、输密码、点登录、验证跳转。阿比盖尔在墨西哥城做了八年QA后,把这种练习称为"玩具场景"——好看,但不经摔。
她搭建的Testing Dojo(测试道场)是个应收账款仪表盘,一个企业服务器下挂着多家公司,每家公司又有不同权限的用户。管理员能注册服务器、创建公司、添加用户;普通用户只能看报表和配置参数。
同一个登录框,两种人进去看到的是两个世界。这才是真实的企业软件:权限不是开关,是迷宫。
第一个挑战要求同时覆盖两条路径。管理员账号jdoe/Admin+123能进Northwind、Contoso、Adventure Works三家公司;普通用户janedoe/User+123只能看到Northwind的仪表盘。测试脚本得验证的不只是"登进去",而是"登进去后能看到什么、不能看到什么"。
阿比盖尔把凭证直接写在挑战说明里,这不是疏漏,是设计。她见过太多新手在环境配置上卡三天,最后放弃。"我要的是测试逻辑,不是猜密码游戏。"
02 | 真实场景的"脏数据"美学
平台每周日重置的机制,源自阿比盖尔在金融科技公司的亲身经历。她回忆:"生产环境从不会等你准备好,数据每天都在变,上游系统随时抽风。"
自动重置模拟了这种不确定性。上周写的脚本这周可能失效,因为公司ID变了、用户权限调整了、或者某条测试数据被"同事"删了——其他练习者也是变量。
这种设计倒逼测试人员写出更健壮的代码。不能硬编码ID,得动态抓取;不能假设数据存在,得先校验再操作;不能一个用例跑完就完事,得考虑数据隔离。
阿比盖尔在GitHub仓库apis3445/TestingDojo里放了自己的实现,但标注得很清楚:这是参考,不是标准答案。她收到的PR里,有人用Playwright做端到端,有人用Postman串API,还有人把性能测试和 accessibility(无障碍访问)测试打包进了同一条流水线。
"我没有预设正确答案,"她在一次回复中写道,"就像生产环境不会告诉你该用什么工具。"
03 | 从练习场到职业跳板
完成挑战的人会在社交平台贴截图或仓库链接, tag上#TestingDojoChallenge。阿比盖尔会转发,偶尔点评。这种公开交付的压力,让练习有了作品集的分量。
她透露过一个细节:某拉美外包公司的技术面试,已经开始问"你有没有做过Testing Dojo的挑战"。不是看答案对不对,是看候选人怎么描述测试策略——覆盖了多少边界、如何处理动态数据、有没有考虑并发场景。
平台目前覆盖API测试、端到端自动化、性能测试、无障碍测试等模块。仪表盘、网格、多语言切换都是真实组件,不是mock(模拟)数据。阿比盖尔计划每月发布新挑战,下一个可能是"在数据重置中途执行测试,验证事务一致性"。
有用户在评论里问:能不能保留我的测试数据?阿比盖尔的回复很直接:「生产环境会为你的测试数据保留吗?」
这句话被截图转发了两百多次。有人觉得冷酷,有人觉得清醒——取决于你在QA这行待了多久。
阿比盖尔最近一条更新是询问社区:如果开放"灾难恢复"挑战,让测试人员在平台重置后验证数据完整性,会不会太残酷?评论区最高赞的回复是:「比凌晨三点被叫起来修生产bug温柔多了。」
热门跟贴