有时候,程序员为了一个bug苦恼好几天,最终发现改错了文件。
此文是由茹炳晟老师的直播整理文,主题为“去 QE 时代,测试开发者该如何迎难而上?”。简单介绍下茹炳晟老师,他是 eBay 中国研发中心测试基础架构技术主管,有着 16 年的测试经验,而且有着从开发转型测试的奇妙经历,算是国内第一批做自动化测试的工程师
网上有《What Test Engineers do at Google》的原文翻译,以及相关中文书籍《google软件测试之道》。今天不会在这里搬内容,写一些读书笔记和感悟。
测试指标应该始终是有意义和可执行的。问题是有些测试指标无法达到这一目标。许多指标都是误导,有些只是无价值的指标,而有些则毫无意义。
测试指标应该始终是有意义和可执行的。问题是有些测试指标无法达到这一目标。许多指标都是误导,有些只是无价值的指标,而有些则毫无意义。下面这些无用的测试指标的例子可以帮助你更好地理解测试指标是否提供了所需的洞察力。
更小,更严格的单位测试在失败时提供更有价值的信息。通常,运行超过0.1秒的测试不是单元测试。单元测试可以提供更具体的错误信息,关于单元测试实践一本不错的书是Gary Bernhardt的Fast Test, Slow Test。
近些年来,越来越多的人开始向我咨询测试驱动开发(TDD)的好处。所谓TDD,就是在将代码进行部署之前,利用各种自动化测试来确保代码能够正常工作。在进行测试的时候,你需要寻找测试失败的地方,然后不断修改,必要的时候还需要对代码进行重写。实践证明,TDD是软件开发过程中必不可少的一环。而且它还能够帮助企业和员工节省大量的时间。
然而,靠着程序员的良心和素质,对代码或软件质量的维系,对于上面说的软件质量会影响人生安全的情况,却又显得远远不够了。
我曾经是一个不测试主义者,因为我看不到测试的价值。然后,我试了一段时间,变得对它深信不疑。我收集了一些经验,当然还远远不够。这篇文章总结了一些我知道的以及我认为我知道的内容。
本文就从新趋势来分析一下给软件测试带来了哪些影响。
在看本文时,切记测试不是为了提高质量。提高质量的唯一方式是修改产品,测试不会改变产品。
应该还能用
【外评】谷歌:从源头消除内存安全漏洞
【外评】在 RiSC-V 上运行《巫师 3》游戏
【外评】法官驳回大部分 GitHub Copilot 版权索赔要求
谷歌内部推出 SQL 中的管道(Pipe)语法
你们干扰不了我写开源代码
【外评】FreeBSD 将 Rust 纳入基本系统
【外评】电脑从哪里获取时间?
【外评】为什么 Stack Overflow 正在消失?
有时