[FZH] 被Abiword 坑了一下

Qian Hong fracting at gmail.com
Mon May 5 06:15:52 UTC 2014


2014-05-05 12:11 GMT+08:00 Szopen Xiao <chopins.xiao at gmail.com>:
> 先抛开我没有提交BUG问题来说,软件部分测试工作,有没有可能由发行版出版商或者打包人来完成呢,特别是对于那些小型项目来说。还是测试了但是无法达到产品质量控制标准?
> 用户提交BUG除非用户对这个软件十分关注并且十分熟悉BUG提交流程,并且用户十分热衷干这个事,并且用户时间比较宽,有没有什么办法改善这些问题?

赞同Felix的回答,再补充一下:
测试其实是个世纪难题。图形界面程序的自动化测试是难题中的难题。

https://www.ohloh.net/p/compare?project_0=Mozilla+Firefox&project_1=Chromium+%28Google+Chrome%29&project_2=Midori
看一个开源软件项目的活跃程序,比较直观的方法是看30天内的代码提交人数和commit数(其实用git管理的项目和用svn管理的项目区别很大,不是重点,暂时忽略)

Chromium每月有600多个开发者,Firefox每月有300多个开发者,Midori每月有5个开发者。测试人员的数目没办法统计出来,但是
我们可以观察一下bugzilla上bug的数量:

https://bugzilla.mozilla.org/show_bug.cgi?id=990000
https://bugzilla.mozilla.org/show_bug.cgi?id=1000000
从上面两个链接可以看出,从3月31号到4月23号,在20多天内,Mozilla社区成员累计报了大约1万个bug。
Mozilla社区包含多个开源项目,我找不到简单的方法单独过滤出Firefox的bug。Mozilla多个开源项目之间共享了大量的代码,单独过滤出一个项目并没有带来更精确的统计效果,所以这个研究没办法做得很细致。

再看看Chromium项目:
https://code.google.com/p/chromium/issues/detail?id=345940
https://code.google.com/p/chromium/issues/detail?id=354940
2月21日到3月21日增加了9千个bug。这个数据不需要过滤,实打实的数据。

最后看Midori项目:
https://bugs.launchpad.net/midori/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=OPINION&field.status%3Alist=INVALID&field.status%3Alist=WONTFIX&field.status%3Alist=EXPIRED&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.status%3Alist=FIXRELEASED&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on

Midori项目这么多年来累计才一千多个bug,还比不上Firefox/Chromium一个月的bug数量。

看到这些数据,应该会明白,一个开源项目,(用户/测试志愿者报的)bug越多,其实质量才越好 :)
项目bugzilla上看起来bug少的项目,不是没有bug,而是没人报。。

Google是有全职的Chrome测试工程师的,但他们做的不是低级的手工测试,而是写自动测试。Selenium项目就是Google的自动测试工程师发起的一个开源项目。
https://www.ohloh.net/p/selenium
Mozilla想必也有做自动测试的工程师。某种意义上,软件质量是砸人力砸出来的,而人是要吃饭糊口的,你懂的 :)

测试工程师再怎么测试,最终还是离不开用户的测试的。用户的需求和用法各不相同,即使是全职测试人员,也没办法做到覆盖到各种各样的情况,如果把软件的功能点当作输入,把测试行为当作搜索重现用户可能执行的任务序列,那么这个问题的时间复杂度至少等于NP问题。
一个开源项目如果没有中国人参与,那么一般来说出现中文问题的几率就比较大,这已经直接超出了大部分不懂中文的开源软件开发者/测试者的能力了。如果你来写软件,你会考虑阿拉伯文这种从右向左排版的文字的显示效果吗?反过来,不用中文的人很难想象中文用户会碰到什么问题。现实中还有更多使用情况可以轻易地超越任何一个单独的开发者或测试者的想象力的边界,超出边界的东西已经很难被测试覆盖到了。

测试真的很不容易,测试真的很重要。如果你遇到一位异性,是一位测试工程师,或者是一位开源项目的测试志愿者,那就娶/嫁了ta吧。。。(纯属娱乐。另,我不是测试工程师
:p)


-- 
Regards,
Qian Hong

-
http://www.winehq.org


More information about the Chinese mailing list