2

软件测试方法之意念力法

 3 years ago
source link: https://yihui.org/cn/2018/05/mind-test/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

软件测试方法之意念力法

谢益辉 / 2018-05-29


上周有 TinyTeX 用户报告说安装失败,我放狗一搜,发现已经有人在 TeX.SE 上报告过。接下来的事情就比较有戏剧性了,也让我对 LaTeX 这个项目多少又失去了一些信心,因为我一直感到核心开发者似乎并不在乎测试他们的代码。

书说简短。TeX Live 的安装包坏了,但核心开发者自己并没有发现,这也就罢了(说明他们没有自动化测试);当用户报告出来时,各位可以掰着手指头数数这位开发者在答复中说了几遍“should be fixed”但结果是安装包仍然是坏的。我特么追问都快追疯了。但凡有一点靠谱,当用户第二遍报告同样的问题仍存在时,总该自己亲自测试一下了吧(第一遍修正时不测试我就原谅你了),然而并没有,伊仍然只用伊的意念力去测试,于是我得第三遍、第四遍、第五遍测试并回复说安装包仍然是坏的。

我在第一个评论中就建议伊可以用 AppVeyor 云端测试,中间伊诉苦说 SVN 库太大,等等。然而最终呢,还是用了我的建议。其实很简单,几分钟就能搞定基本配置,而且千秋万代都可以用,这种一本万利的事情为何不能早点做。开发者仅仅依赖在脑子里靠意念力测试一下就完事,着实让我等用户心累。

理想情况下,软件发行应该有一个前提条件,就是首先得通过测试。比如这个 TeX Live 安装包是每日自动编译更新的,而更新时并不管它是否真的能用,只是盲目编译。我不知道现代软件开发者里还有多少人用这种盲目的发布方式。如果软件本身是坏的(通不过自动测试),那就先不要自动发布,这难道不是很浅显的道理么。就算盲目发布吧,当出现问题时,是不是该把每日自动更新临时改为手工更新呢?每次修正都又要等至少二十四小时,而且一测再测还是坏的,实在心焦。

当然,写测试是一件体力活儿,并没有什么乐趣,我自己也不是很爱写测试(欢迎用户们帮忙给我的各种 R 包贡献测试),所以我有时也理解为什么别人的软件没有测试,但在这个例子里,这种错误实在太低级了:安装包不能安装,我要这安装包有何用,这样的问题应该是非常容易用自动化方式检测出来的。

顺祝 SVN 早日灭亡。

高射炮打蚊子 郑在成

Disqus Utterances Preferences

© Yihui Xie 2005 - 2020

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK