inn_xwang 发表于 2010-5-14 18:22:36

自身经历对比国外软件测试

经常在网上看到有在国内从事软件测试的同行抱怨:测试不受重视,测试管理混乱,产品质量差等问题。说到底这都是管理上的问题。
我想谈谈自身的经历。
我毕业后在外包公司工作,客户是一家美国公司,产品发展前景挺好,也有一笔不菲的风险投资。我想说说他们的测试管理制度。
首先,他们有一个很好的资源共享平台,我们叫Wiki,上面包括每一个版本的任务,每一项任务的开发负责人及测试负责人,相关的Spec以及其他开放文档。而且,每当这一版本的任务快完成时,下一版本的任务的雏形就出来了。
其次,开发和测试严格按照软件生命周期执行。
第一阶段:
需求出来后,开发和测试同步进行,开发完成代码实现,测试完成test outline和test case,这些文档都会上传到Wiki上。我们在理解Spec和完成testcase的时候,会及时提出自己的问题,这些问题一般在第二天就能从开发人员得到反馈。而test outline和test case最终完成后也要经过开发人员的验证,有时他们会提出自己的意见,测试要点和一些你未曾想到的case。
第二阶段:
新功能的测试阶段,测试提交bug,开发修改bug,这一过程由JIRA管理。
第三阶段:
回归测试:
每一个版本的下半阶段都是做回归测试,这是一个比较漫长的过程,一般分两部分,一是执行所有的case(一万之多,有赶超两万之势),二是执行任意测试。在执行case的时候,我们还要同时更新case,有些是更新内容,有些是添加新的bug,有些case可能会过时。当然,新的bug也会提交到JIRA。在这个阶段,测试人员会安排在不同的平台上测试。可以说,在做回归测试的时候,测试覆盖率极高。
第四阶段:
预发布版本测试:
做完回归测试会形成一个较稳定的版本作为预发布版本,预发布版本会被部署到另一台测试服务器上。这时候需要在不同平台上做一次QL(Quick Look)及任意测试。预发布版本上一般不会再迁入changlist,除非在此之上发现了较严重的bug,就会有新的r2的预发布版本以及再一次的测试。
第五阶段:
内部测试:
新版本发布前一两天可以说是全民皆兵,公司里大大小小所有人都进行测试,包括CEO。(当然CEO不会自己来报bug,她会把问题反馈给我们的技术副总裁)。当然他们所报的bug也会成为我们的谈资。作为测试人员,我们不仅追求bug数量,更要追求bug被fix的概率。当发现一个bug时,首先我们得确定它不会成为won't fix或invalid的问题,并且它can be reproduced,然后它不会duplicate某个已有的bug,如果这个已有的bug已经被close了,就应该reopen它。而这些非测试部的人不管三七二十一,看到是个问题的就报,一天下来新加的bug数就该让相关的开发人员头疼死了。好在这些问题都会一个个地得到它们应有的解决方式。
第六阶段:
产品发布测试:
产品发布前会在和产品环境相同的服务器上做一次QL(Quick Look)和任意测试,产品发布后又会在产品服务器上做一次QL(Quick Look)和任意测试。
第七阶段:
测试整理:
这一阶段主要是整理在这一版本生成的测试文档和测试用例,新功能的用例和一些之前未覆盖的用例会被导入测试用例管理工具。
----------------------------------------------------
可以说,以上测试流程都是经过计划并且严格执行的,和大家一起分享,也许你会从中有所收获。

peag 发表于 2010-5-14 18:48:54

真希望能到这样的公司去上班

ermine 发表于 2010-5-14 19:39:10

可以借鉴,但不能盲从。
最少,国内的知识产权还不完善,类似的产品层出不穷,以抢占市场为先,而不是保证质量为先。

deanaa 发表于 2010-5-15 07:35:53

写的很用心。看得出来楼主所在的公司自上而下都有不错的质量意识,这个是很重要的。
但是这个仅仅是一个基本的测试流程,用到的也是一些基本的测试管理工具。而且看起来回归测试的一万多case好像每次都是手工执行的,这个对于项目成本是一个沉重的负担。如何用较少的时间和人力去发现最多的问题,这个是测试过程中需要考虑的问题。测试覆盖率是一个不错的指标,但是测试的最终目的是发现问题,单纯追求覆盖率是不是有点舍本逐末了呢?

zhangting85 发表于 2010-5-15 07:42:08

我和你们差不多,比你们少一个预发布测试,但是会多一个由用户参与的usability test。
另外,国外也有测试很不专业的公司,呵呵,而且也很多呢。

inn_xwang 发表于 2010-5-17 15:52:40

回复 4# 的帖子

其实本人一直在学习自动化测试。曾经和部门的Director提议引进自动化测试,就是由于这个时间人力成本未能采纳,会拖延目前的项目进度云云;而我的一些同事似乎也不愿接触代码之类的东西。。
测试的最终目的是发现问题,所以bug数和bug被fix的概率就成了考核测试人员的标准之一了。说到覆盖率,回归测试也一般也不会执行所有测试用例,而是根据优先级及其他因素挑选部分回归用例。但是对于整个用例库,覆盖率越高越好。
我能从这第一份工作里学到的就是严谨的测试流程和测试态度。自动化就只能在第二份工作中实现了。

inn_xwang 发表于 2010-5-17 15:58:38

回复 5# 的帖子

我们在平时工作生活中就使用公司的这个产品,所以大家都是产品用户。而据我所知,实际用户中也有一些“托”,他们可以免费使用产品,对产品进行评论。

yuetiantian 发表于 2010-5-17 16:17:11

写的很好,支持

yuetiantian 发表于 2010-5-17 16:20:28

这个帖子是我这几年在新手区看到的最好的一个帖子,建议版主给他加精!

inn_xwang 发表于 2010-5-17 16:27:24

回复 9# 的帖子

多谢支持,这本来是我自个儿写的一个小小总结,就拿出来和大家分享一下。

月上百合 发表于 2010-5-17 16:35:43

这个体系不错,很少有公司能做到这样。

gaha 发表于 2010-5-17 17:28:10

以前公司用sugar

peag 发表于 2010-5-19 21:17:01

要是国内的公司能做到这程度的话。。。

Ade_Huang 发表于 2010-5-19 21:50:21

国外的就是不一样,流程上走的就是完善,虽然国内在测试方面都不怎么完善,
相信不久的将来会强大起来的

8596991 发表于 2010-5-20 09:12:17

我很搞不明白的是,在外企上班,为什么就非要中文中夹带英文说话?写出来的东西,要么就全英文,要么就全中文

Jackc 发表于 2010-5-20 14:11:23

原帖由 8596991 于 2010-5-20 09:12 发表 http://bbs.51testing.com/images/common/back.gif
我很搞不明白的是,在外企上班,为什么就非要中文中夹带英文说话?写出来的东西,要么就全英文,要么就全中文

兄弟,等你在外企上班后,你就知道为什么了。

语言其实有两个基本功能:表达和获取信息。
在表达的时候,人们都喜欢用自己最熟悉的词语构建语言信息,有时会不可避免的忽视对方获取信息时的感受。

在外企接触了N多新的术语后,不一定就能很好的用母语将它们表达出来,比如LZ说的缺陷的Reopen,我就很难使用比较专业的语言来形容它,“重新提交”?反而觉得使用英文更简单易懂。

[ 本帖最后由 Jackc 于 2010-5-20 14:13 编辑 ]

qzj_test 发表于 2010-5-20 14:14:00

大棒?瀑布?螺旋?敏捷?

sam.sheng.3 发表于 2011-6-9 16:39:54

回复 15# 8596991
我在没得到我这份工作的时候,和你想法一样,总觉得这样的人很装X。后来发现,并非如此。正如乌龟说的一样,有时候真的不知道用中文怎么解释好,这也是为什么很多人建议看英文原版的著作一样。

xangtianwen 发表于 2011-6-30 15:49:54

写的很好,喜欢能到这样的公司上班啊!

愚人 发表于 2011-6-30 21:15:12

国内跟国外还有一定的距离
页: [1] 2
查看完整版本: 自身经历对比国外软件测试