原文英文,约500词,阅读约需2分钟。
📝
内容提要
程序员应该相信自己的能力,不要过分依赖云计算和SaaS操作。测试系统的目的是增加信心,而不是确定性。没有100%的测试覆盖率。
🔎
延伸解读
“我的机器”与“那台机器”并无本质区别
文章指出,开发者常认为云端或数据中心的机器更可靠,但那些机器同样是普通计算机,也会依赖未声明的环境因素。将测试放在多台机器上运行,反而能暴露隐藏的依赖,帮助构建更健壮的系统。因此,不必因“在我的机器上能跑”而自卑,也不应盲目信任远程环境。
测试追求信心,而非绝对确定
文章强调,测试系统的目的是增加信心,而不是提供100%的确定性。任何复杂系统在生产环境中都无法完全按预期工作,追求有意义的100%测试覆盖率既不现实,也容易导致过度复杂的流程。开发者应接受信心的程度,并在可靠性与成本之间做出权衡。
云操作者并非更聪明,只是不透明
程序员对自身能力缺乏信心,容易认为云或SaaS的操作人员更优秀。但文章指出,这些操作者往往并不更聪明,只是被不透明的流程隐藏了。这种不透明错误地暗示了更高的能力。认识到这一点,有助于开发者相信自己的能力,不再将云计算视为魔法。
❓
Q&A
程序员为什么对他人操作的计算机更有信任感?
程序员往往因为冒名顶替综合症而对他人操作的计算机更有信任感,认为他人管理的系统更安全、更优秀。
开发者机器与云计算机器有什么区别?
开发者机器与云计算机器本质上没有区别,都是计算机,运行的都是相同的潜在故障。
测试系统的主要目的是什么?
测试系统的主要目的是增加信心,而不是提供绝对的确定性。
为什么没有100%的测试覆盖率?
因为没有任何复杂系统能够在生产环境中完全确定地工作,100%的测试覆盖率既不现实也不可实现。
程序员如何看待云计算和SaaS操作?
程序员常常认为云计算和SaaS操作的人员更聪明或更优秀,但实际上他们也只是普通的操作人员。
在测试中使用多个机器有什么好处?
在多个机器上运行测试可以帮助发现未声明的依赖关系,从而提高系统的韧性。
🏷️