← 返回蜂巢洞察

如何使测试工作更具可持续性

通过采用可持续的测试策略,你可以跳过那些不必要的测试,确保问题能够尽快被发现,并且只运行那些会受到代码变更影响的测试。记录每次测试所消耗的能量,同时利用静态代码分析工具,可以帮助你找出效率低下的地方,从而指导优化工作。 作者:本·林德斯

通过采用可持续的测试策略,你可以跳过那些不必要的测试,确保问题能够尽快被发现,并且只运行那些会受到代码变更影响的测试。记录每次测试所消耗的能量,同时利用静态代码分析工具,可以帮助你找出效率低下的地方,从而指导优化工作。

作者:本·林德斯

相关文章

技术实践

《消毒器使用手册:内存管理、初始化机制以及竞态条件问题》

一些最为危险的“原生故障”其实是由那些看似运行正常的程序所引发的。 加密操作会生成正确的密文,解析器也会拒绝处理格式错误的输入数据,缓存机制也能通过基准测试,候选发布版本也能通过所有的单元测试和集成测试。 然而,在这些看似正确的结果背后,某些组件仍然认为自己拥有已经被转移的对象控制权;某些成功路径在运行过程中并未初始化输出字段;有些终结器还在等待释放那些实际上已经由其他运行时机制控制的对象;还有两个线程会修改相同的状态,但调度器并没有选择那种会导致竞争条件出现的执行顺序。 然而,预期的输出结果中根本没有任何迹象能够揭示这些隐藏的问题。 第一次出现可观察到的故障可能要几个小时后才会发生:比如分配

阅读全文
技术实践

如何制定一份真正能够有效预防生产事故的发生的检查清单

数一数你的部署检查清单上列出了多少项内容。如果项目数量超过了少数几个,那么这个清单的长度确实值得你再仔细考虑一下。 其中一部分原因可能是你的团队工作非常细致;而另一部分原因可能说明,你们的产品团队仍有许多基础设施相关的工作需要人工进行核查。 部署检查清单的内容会随着应用程序所面临的风险不同而有所变化——比如你的代码、数据以及部署流程可能会对用户造成哪些影响。其他一些项目,如证书、负载均衡器、镜像来源信息、自动扩展机制以及连接释放设置等,都是需要人工进行验证的环节,因为没有其他系统能够替你完成这些验证工作。 对于这些项目来说,不需要改进其表述方式;真正需要的是为它们指定负责人。值得思考的是,这个

阅读全文
技术实践

演讲主题:从人工智能代理演示到实际应用:自动化测试与评估

周宇探讨了为什么人工智能代理在演示阶段会遇到停滞现象,并介绍了如何通过基于模拟的测试来解决合规性及可靠性方面存在的问题。了解哥伦比亚大学和Arklex AI是如何利用合成用户角色、轨迹熵以及自动化的持续集成/持续部署流程来评估多轮交互式智能代理的,从而在部署之前发现潜在问题,并在生产环境中优化这些自主学习工作流程的。 作者:周宇

阅读全文
技术实践

如何在重构旧代码之前设计相应的特性测试用例

许多工程师在继承遗留代码后,首先想要做的就是改进这些代码。 你会遇到一些难以理解的函数,或者看到重复的逻辑、深度嵌套的条件语句、混合了业务规则的数据库调用,以及那些使得测试几乎无法进行的依赖关系。 你知道这些代码本可以做得更好,于是开始对其进行优化。 然而,随后就会出现问题。并不是因为新的实现方式存在明显的错误,而是因为旧的实现方式在背后做了某些人们之前根本不知道它在做的事情。 这就是在遗留代码现代化过程中最常出现的风险之一。 在修改代码之前,你需要有一种方法来回答一个简单的问题: 我是否保留了那些原本就重要的功能行为? 这时,特性测试就派上了用场。 特性测试并不是从“软件应该做什么”这个角度

阅读全文