5.1节前忙测试

最近公司的产品一直忙于测试,看着每天的Bug不断的增加和修正,真是痛并快乐着,痛苦是因为Bug不断的出现,快乐是看着Bug一个一个的被消灭,把这些天的测试开发过程总结一下。

1、测试要尽早

公司的产品已经修订一段时间了,但是由于任务繁忙和人手不足,因此测试一直拖后,因此当进行集中测试的时候Bug集中爆发,因此感觉更加的繁忙,另外由于很多功能和修订,都已经修改了很长的时间,因此程序员再次进入修改的时候,往往需要重新分析和理解,造成Bug的修复周期延长了很多。

建议当完成功能修订后,要尽快进入测试状态,以缩短Bug的存在时间,降低程序员修订成本。

2、使用好的缺陷管理工具

之前公司只是使用一个BBS作为缺陷的跟踪和管理工具,但是,效果很不理想,虽然缺陷管理的工具很多,但是都有自己的长处和短处,后来使用了TD,效果的确好的多。

3、缺陷描述要准确

很多测试人员反馈的缺陷,程序员读起来十分的费劲,甚至比理解缺陷本身还要难懂,因此,如果缺陷后,在登记的时候,一定要尽量描述准确和清晰,以免造成错误的理解,反而更加干扰缺陷的修订。如果缺陷的确很难描述,可以将缺陷的发生过程录制下来,或者干脆手工给程序员演示一遍,效果就更好了。

4、缺陷描述不完整

很多缺陷都是有前世和今生的,因此把缺陷产生的出发条件描述的完整,对解决缺陷起着很重要的作用。

5、缺陷要分等级

缺陷都是要优先级别的,严重的当然要尽快解决,低级别的放一放。

6、开发和测试最好不同步

公司是早上8:30上班,一般是9:00左右才能给测试部一个新的测试版本,而如果Build出现意外,则新的版本发布就会推迟,因此开发和测试一定要有个时间差,开发部最好在早上第1时间给测试部一个最新的测试版本。一种是开发部早点来,一种是晚点走,最后我们的约定是下午4:30分开发部Build版本给测试部明天使用。

7、优先验证Fixed状态的缺陷

测试部每天最优先的任务就是验证新版本中Fixed状态的缺陷是否正确,这个很主要,因为开发部刚刚修正,如果没有验证通过,程序员可以立刻进行修订,如果过了很长时间才通知没有通过,那么可能程序员还得重新理解和分析代码。

8、一个缺陷报告包含多个缺陷

有些时候测试人员在一个测试报告中,包含N(N>=1)个缺陷,结果程序员修订了其中一个,另一个需要拒绝掉,结果缺陷的状态就失去效果了,因此一个缺陷记录只能包含一个缺陷,如果存在多个就是测试人员的责任了。

9、交叉测试的重要性

我们最初安排测试的时候,是某个测试人员只测试其中一部分,另外的测试人员测试另外一部分,过了几天后发现,每个测试人员的Bug检测数量都下降了,原来,测试人员对自己部分已经发现不出来缺陷了,后来采用了交叉测试的方式,就是测试人员交换测试工作,结果不同的人从不同的角度进行测试,结果一些缺陷又发现了,因此交叉测试很重要。

10、测试经验的总结

测试的过程很枯燥,而测试过程中发现的测试经验是十分重要的,不断的调整测试的策略、流程,多总结和借鉴别人的测试经验,会更好的提高测试质量。

posted on 2007-04-28 09:16 Duiker 阅读(2356) 评论(22)  编辑 收藏 所属分类: 技术

评论

#1楼  2007-04-28 09:37 缘易姿姿      

测试好耍啊!
我看作测试的人都耍的膘肥体胖的!   回复  引用  查看    

#2楼  2007-04-28 09:40 装配脑袋      

有了自动的daily build,测试开发就可以同步了。   回复  引用  查看    

#3楼  2007-04-28 09:50 小鬼 [未注册用户]

TD是什么东东?   回复  引用    

#4楼  2007-04-28 09:52 乔疯      

开发部早点来或者晚点走!!!加班就那么理所当然吗?   回复  引用  查看    

#5楼  2007-04-28 10:04 Robert Lee      

做好计划,自动Build

@乔疯
如果不是Boss拍脑门定出的Dead Line,理论上可以不用加班,当然前提是计划合理,具备执行性,项目组成员高效工作。为之努力中:D   回复  引用  查看    

#6楼  2007-04-28 10:11 乔疯      

@Robert Lee
计划总是不合理的,进度安排总是会出问题的.
第一遍匆匆看完了<<人月神话>>,就是这个感觉.   回复  引用  查看    

#7楼  2007-04-28 10:16 Robert Lee      

@乔疯
确实是这样。目前在做的这个项目,计划完全是在不合理的工期要求下被迫制定的,自己定计划时也觉得有些无奈。在项目开发过程中,经常会有成员被临时调配做其他工作,郁闷之余,也觉得对于项目的组织管理能力还需要强化。
准备在五一节后开始新的团队建设工作:D   回复  引用  查看    

#8楼  2007-04-28 10:23 乔疯      

现实永远达不到理想的情况.所以总是会出各种各样的问题的.

我想这就是<<人月神话>>在问世30年后仍然有意义的主要原因吧.   回复  引用  查看    

#9楼  2007-04-28 10:30 dudu      

建议使用摘要方式发布。   回复  引用  查看    

#10楼  2007-04-28 10:31 我是阿呆      

请问你们开发多少人,测试多少人?我们没有专门的测试人员,郁闷。。。
缺陷管理工具TD是什么?我们使用微软的TFS
TFS不能截屏上传附件,或者能上传附件不大方便,这点不好

一个缺陷报告包含多个缺陷
我们不是这样,一般一个人测试一个功能的所有bug记录在一起,否则会有很多很多bug,而且标题一样,修复时关联很难找。最主要是标题一样,难区分
  回复  引用  查看    

#11楼  2007-04-28 10:35 Huacn Lee      

哈哈,我们公司这段时间也是开始做改Bug
前段时间测试部的都提交了好多,一直都还没处理,现在一起搞定
  回复  引用  查看    

#12楼  2007-04-28 10:39 预备役中尉 [未注册用户]

我们现在也在做测试哦.都进入第四轮组合测试了.累哦.我们用的是汉星天 Butterfly 还好吧.不错.   回复  引用    

#13楼  2007-04-28 11:19 Icebird      

TD = Mercury TestDirector

Defect Tracking System: Axosoft OnTime, Bug Tracker, BugTrack.net, Bugzilla, Dev Hound, JIRA, Mantis, SourceGear Dragnet, TestTrack Pro, URTracker, ClearQuest, etc.   回复  引用  查看    

#14楼  2007-04-28 14:44 yunhuasheng      

学习....   回复  引用  查看    

#15楼  2007-04-28 16:52 有些伤感 [未注册用户]

这么基本的东西也能发出来   回复  引用    

#16楼  2007-04-28 16:55 乔疯      

@有些伤感
可以看一下你的不基本的东西不?

我的博客千万不要看了,全是基本的东西,笨如我的人才看的.   回复  引用  查看    

#17楼 [楼主] 2007-04-28 17:02 Duiker      

to 有些伤感

只是把这几天的感受记录一下,因为公司的测试部门有很多新人,他们还不太理解一些基本的东西,记录一下,以后也可以翻看翻看。

另外我记录的一些东西,有些是不全面或者不正确的,也希望大家可以指正一下。   回复  引用  查看    

#18楼  2007-04-29 08:47 有些伤感 [未注册用户]

1 不知道是想表达什么,如果是由于任务繁忙和人手不足,因此测试一直拖后,那么不知道lz有什么好办法来解决这个问题.
2 大部分软件公司还是有缺陷管理工具的,最不济自己也会搞个网站什么的.如果连这个都没有,就不用说什么了.不知道你们公司是什么规模的,如果不大,用TD有点浪费了,况且估计也不是正版的,这个就不多说了.优秀的开源缺陷工具很多.
3 良好的表达沟通能力是对一个测试人员最基本的要求,不然测试人员除了添乱还能对项目有什么用.如果一个测试人员不知道一个缺陷描叙的基本要求,那么他可以走人了.
4,5同3.
6 看的出来你们公司的软件开发流程很混乱,不过大部分也都是这样.但是你的建议(早来晚走)不敢苟同.
7 这个随意.我建议是缺陷优先等级高的优先验证.
8 不觉得这是问题,难道开发除了修改缺陷状态不用写反馈的?这些测试人员都会去看.
9 如果测试人员做的稍微规范一点点,这样的情况就不会发生.你们有测试用例吗?还是就靠几个人照着一份不完整的需求随便点点.
10 看到这里不知道lz是做测试还是开发.去借鉴别人的经验有点搞笑了,因为目前来说国内的测试人员水平很次.水平和规范有很大的关系.如果测试经理想搞好部门工作,首要的问题是拿出一套合理的流程来,而且要保证可以实施.测试的技巧性东西不多,对一个项目来说技巧性的东西尤其没用.

  回复  引用    

#19楼 [楼主] 2007-04-29 09:39 Duiker      


To有些伤感

1 不知道是想表达什么,如果是由于任务繁忙和人手不足,因此测试一直拖后,那么不知道lz有什么好办法来解决这个问题.

答:就是测试和开发要同步,测试人员要尽早进入测试状态。人手不足肯定是没办法解决的,那就是要重视测试部门,尽早建立专职的测试部门,从无到有,慢慢来,重视就好。

2 大部分软件公司还是有缺陷管理工具的,最不济自己也会搞个网站什么的.如果连这个都没有,就不用说什么了.不知道你们公司是什么规模的,如果不大,用TD有点浪费了,况且估计也不是正版的,这个就不多说了.优秀的开源缺陷工具很多.

答:公司规模不大的,用过一些测试工具,都不错,但是还是感觉TD好一些,用起来比较顺手。

3 良好的表达沟通能力是对一个测试人员最基本的要求,不然测试人员除了添乱还能对项目有什么用.如果一个测试人员不知道一个缺陷描叙的基本要求,那么他可以走人了.

答:的确如你所说,但是很多新手,都是需要培训和教育的,刚毕业或者刚开始作这个行业的,如果没有好的指导,也会蒙的。我遇到很多公司的测试,都是A告诉B而已,这个在国内也是常见的。

4,5同3.
6 看的出来你们公司的软件开发流程很混乱,不过大部分也都是这样.但是你的建议(早来晚走)不敢苟同.

答:嗯,我们也在不断的改进,人手不够,一直在招人,用户的需求和缺陷,压的喘不过气来,由于产品牵扯面比较多,自动编译一次也要1个小时左右,所以希望打一个时间差,晚来早走的事情我们这也没有,现在是每天定时编译了。

7 这个随意.我建议是缺陷优先等级高的优先验证.
8 不觉得这是问题,难道开发除了修改缺陷状态不用写反馈的?这些测试人员都会去看.

答:当然有了,开发人员会把缺陷的修改情况,做出反馈的,我的希望是如果能够完全有TD实现一些不必要的文档,效果会更好一点。

9 如果测试人员做的稍微规范一点点,这样的情况就不会发生.你们有测试用例吗?还是就靠几个人照着一份不完整的需求随便点点。

答:我们也在向规范方向努力。

10 看到这里不知道lz是做测试还是开发.去借鉴别人的经验有点搞笑了,因为目前来说国内的测试人员水平很次.水平和规范有很大的关系.如果测试经理想搞好部门工作,首要的问题是拿出一套合理的流程来,而且要保证可以实施.测试的技巧性东西不多,对一个项目来说技巧性的东西尤其没用.

答:我是开发的了,但是国内的确重开发,轻测试,我们建设测试部门,也是先建制度,并且不断调整的,希望可以剪裁出一套适合我们的流程。

多谢指点。   回复  引用  查看    

#20楼  2007-04-29 09:41 YAO.NET℡      

很现实的问题.
在小公司,连专业的测试组(部门),人员都没有,测试工作很难推进.

  回复  引用  查看    

#21楼  2007-04-29 11:36 oscarxie      

看来还有很多人不了解测试也不重视测试啊,上面提到的应该是一个测试部门或是测试组的基本工作。不知道贵公司有没一套很好的测试流程。   回复  引用  查看    

#22楼 [楼主] 2007-04-29 11:37 Duiker      

什么是Daily Build

 顾名思义,Daily就是每天的意思,Build除了编译之外,还延伸到测试、测试数据收集、测试数据分析和生成报告,这整个过程都是自动化的。科泰世纪的Daily Build实际上还是与CVS相结合的,可以更方便地根据不同的需要去选择不同的条件进行Daily Build。我们使用windows的定时任务,每天凌晨(0点10分)开始整个Daily Build测试。

Daily Build的大概流程
1、 启动Daily Build任务,删除Daily Build服务器上有关的所有源代码,以保证当前Daily Build服务器的环境是干净的
2、 把CVS服务器上的最新代码更新到Daily Build服务器上,以保证当前代码是最新的
3、 创建相关目录,编译这些最新的代码,并且把编译过程中的所有输出信息都保存到一个文本文件中(重定向到指定的文件)
4、 在所有编译完成后,开始执行自动测试(包括与内核有关的性能测试以及用户程序测试),并且将有关的输出信息都记录在对应的文件中,这些文件将用于后面的数据分析,为生成的测试报告提供依据
5、 收集所有自动测试的数据并进行分析
6、 根据分析结果绘制图表
7、 生成测试报告,并且把分析结果和图表插入报告中
8、 发送测试报告给相关人员

Daily Build工具及其用途
1、 Daily Build服务器(普通PC,安装WINDOWS2000),主要用于自动更新代码,编译源代码,启动有关的测试过程,收集测试数据,对测试数据进行分析,根据测试数据绘制图表并生成测试报告
2、 测试用的单板机(Celeron 433, 64M, 10G, 安装DOS),主要用于运行测试程序,配合Daily Build服务器进行工作
3、 其他外设(串口线等),主要的物理传输介质
4、 批处理、PERL脚本一起其他一些小工具,主要用于控制流程、后期数据分析和生成报告

根据功能划分Daily Build流程
1、 代码的更新
2、 编译最新代码,保存所有版本的编译信息
3、 运行内核功能测试和性能测试,并收集数据
4、 运行用户程序测试,并保存用于记录测试数据的文件
5、 对所有收集的数据和保存的文件进行分析比较
6、 根据分析比较结果生成HTML格式的测试报告并插入相关图表   回复  引用  查看    

导航

公告


简简单单,享受生活,让代码充满阳光,让使用者感到快乐,把软件开发看作是一种沟通游戏。

message


bookmark


搜索

最新随笔

最新评论