Blogs

代码健康(1):什么是易理解的代码?

什么是代码健康 良好的编码实践包含许多方面,并不是任何代码问题都能由检查工具发现。 例如,编写具有可读性和可维护性的代码,不仅仅是编写好的测试,

继续阅读

谷歌pH值:衡量软件产品的项目健康度

最近,我又读了一遍《 SRE Workbook 》,其中又一次强化我的印象的一点是:SRE 是从用户视角为出发点,来识别和设计 SLO 的。由于这些已经上线的产品已经为真实用

继续阅读

谷歌的测试工程师是如何工作,帮助开发工程师提升生产效率的

现在,越来越多的软件系统采用了「微服务架构」。尽管这种架构对于多人参与的大系统,为多个功能特性的并行开发与无停机部署提供了便利,但对整个系统

继续阅读

使用自描述性的测试方法名

在测试用例名字中可以包含测试场景和期望的结果,这有以下几个好处: 你一眼就可以看出测试意图。 如果你想了解某个类所有可能的行为,你所需要做的只是

继续阅读

如何写好端到端的自动化测试

端到端测试就是用来测试整个系统的,即:从给这个系统输入信息开始,到获取返回的输出信息,将被测系统看作一个黑盒。 端到端测试可以捕获整个系统中出

继续阅读

仅验证与其被测行为相关的方法参数!

每个测试只应该验证一个行为,这可以使测试用例更可读,更能适应变化。 下面这段测试代码为 MockUserPrompter 的所有参数指定了精确值。一旦被测试的代码发生更改,这些

继续阅读

测试用例太 DRY 了? 应该让它们 DAMP!

下面的测试用例遵循了 DRY 原则 (“Don’t Repeat Yourself”), 它是鼓励重用,消除重复的一个最佳实践,例如, 通过抽取 helper 函数 或 通过使用循环的方

继续阅读

单元测试一定要聚焦

写测试时,应该是每个场景都应该在独自的测试用例中进行验证,它的好处在于: 逻辑更容易理解,因为在每个测试方法中需要理解的代码更少。 每个测试中的

继续阅读

要测试行为(Behaviors),不要测试方法(Methods)

在编写一个method()之后,只需编写一个测试,就可以轻松地验证方法的所有功能。但是如果你认为,测试用例与 公开方法(public metho

继续阅读

自动化测试中,不得不知的替身对象

一个测试替身,是一种可以在一个测试用例中用来代替真实对象的对象,类似于特技替身代替电影中的真实演员。这些测试有时通常被称为“「Mock」(模

继续阅读