51Testing软件测试论坛

标题: 一个测试菜鸟的X项目总结 [打印本页]

作者: xuben    时间: 2009-1-12 17:04
标题: 一个测试菜鸟的X项目总结
[attach]49215[/attach]
(作者:许奔 引用请注明出处)
作者:许奔
博客地址:http://www.cnblogs.com/xuben
邮箱:3231435@163.com
QQ420524900


X项目的测试工作到今天算是全部结束了,除了后期维护必要的一些回归测试和用户使用手册的撰写外,整个测试阶段告一段落。
从10月底进入项目,在测试经理的帮助下开始学着写项目测试文档,到根据文档的每日功能测试及回归测试,再到整个项目进行迭代后对测试文档的重新架构及整体回归测试,直至最后的统一交付测试,我个人提交总BUG数为244个。
在这244个BUG的提交和回归过程中,在测试文档的写作及修订中,我对整个项目的逻辑及架构逐步清晰,对项目之间所需的复杂交互的认识也越发深入,对项目功能逻辑上的测试如何进行也更加明晰。
下面我简单谈谈对项目的认识、经验和教训,以及对未来改进的一些建议!


一、对项目的认识
进入这个项目是在今年十月底,当时测试经理和C已经把Setting(当时是Admin)部分的测试结束了,所以我直接开始接着D的测试文档继续往下写(当时是从Revenue的Report部分开始,即现在的Report模块)。因为跳过了逻辑部分,所以对整个项目逻辑理解很不够,开始写的测试文档也非常浅显,就是描述了一下页面布局。这里我的感觉是,测试人员进入项目初期,项目经理有必要指派专门人员与测试人员沟通,帮助其理清整个项目的顺序逻辑。当时C简单地跟我介绍了一下整个项目,我的感觉是沟通不够,对逻辑理解比较欠缺。

Report部分写完,就直接开始测试——用自己刚写完的文档进行测试,效果显然不够理想。因为测试人员刚进行该模块测试文档的编撰,再让他对该模块进行测试,这样做的一个后果就是,测试人员会先入为主地觉得自己不需要按部就班地照着文档进行测试(因为文档就是自己写的)。还有一个很大的问题就是,倘若测试人员在文档撰写上存在严重漏洞的话,他在测试时仍然不可能发现自己的漏洞所在。所以我建议测试文档撰写人员与测试人员最好不要是同一个人,这样有助于发现测试文档构建的漏洞。
测试完Report后,紧接着开始进行Expense模块测试文档的撰写。这时我开始接触到一些逻辑,即Expense与Setting部分联系的逻辑。这时遇到的问题最多最杂,随时随地都需要与C,甚至项目经理进行沟通。由于之前对主功能(Setting部分)的不熟悉,这种一边沟通一边撰写的测试文档可以说是漏洞百出。由于项目时间也比较紧,我需要在一周内完成整个Expense模块的测试文档,所以最终完成的文档很不理想。这里我觉得还是之前沟通不到位的问题,应该有一个对整个项目非常熟悉的人来帮助测试人员理清整个项目逻辑再进行测试文档撰写,而不是一开始就撰写测试文档。
接着就是根据自己撰写的Expense文档对Expense模块进行测试,效果也不够理想。这里我还有一个建议就是,如果测试人员在初始进入项目时没有得到及时沟通,至少需要给他一周时间先对主功能(即Setting部分)进行完整测试,对照需求手册及主功能发现的BUG,对主功能进行深入理解。

Expense测试完成后,开始对整个项目进行回归测试。在这个过程中,我逐渐理清了整个项目的逻辑,也开始试图修改以前的文档。但由于文档量太大,文档结构不够清晰,时间也比较紧,修改难于进行。大部分原因是我经验不足造成的,之前撰写测试文档时,思路过于混乱,想到哪里写到哪里,导致最后文档难于维护和修改。
回归测试结束后,整个系统逻辑已经比较清晰。这时项目进行新一轮的迭代,用户需求改了很多,其中包括增加、修改大量功能、名称,以及对整个系统结构进行重构。这对测试文档而言改动点非常多(包括结构顺序改变、测试编号订正、功能模块名称修改等),而且需求文档并未因此变化,造成最后测试文档与需求文档的不匹配。这是一个协调的过程,系统迭代后,需求文档应及时随着系统进行修改。

迭代开发过程中,测试基本上是项目改到哪就测到哪,这里面最大的问题不是发现修改模块的BUG,而是发现修改该模块后牵涉到的其它模块出现的BUG。这种连带BUG的产生可以说是防不胜防,让测试人员苦恼不已。到现在我也没想出解决办法,只能说对模块之间的联系及交互逻辑理解仍需加深。
迭代开发后期,开始对整个系统从头回归一遍,这时候又发现了许多以前从未出现的BUG。这个时期大家都很烦躁困惑,曾经运转良好的页面,突然出现存储问题;曾经更新正常的功能,突然无法更新;曾经显示正常的Excel,突然显示错误… …这些都让人苦恼,当然,这些应该都是正常现象。测试人员在测试后期尤其需要提高警惕,不能漏过任何一个功能点,更不能忽略任何一次貌似无用的查询、翻页、按键。
最后,是大家一起进行的交付测试,人员包括了所有的编程人员及测试人员。这期间,除了对基本功能的回归测试外,还包括了并发测试及性能测试(这主要是编程人员在做),除此之外,我将过去提交修正过的所有BUG重新验证了一遍。在并发测试中,我们发现了很多之前单人测试难以发现的并发问题(包括多人一起提交,一起选择,一起修改等等),并发问题可以说层出不穷,甚至包括了同一台电脑打开两个页面分别进行修改的问题(由于我从一开始就是打开两个页面来测,一个为用户本人,一个为该用户代理人delegator,所以有些问题在早期已经暴露),这是测试中的一个重点,也是比较严重的漏洞,需要在以后多加留意。

在验证过去修正过的BUG时,仍然发现不少问题,有些是BUG本身的问题,有些是BUG附带问题,还有很多验证时联想到的问题。这一验证过程效果非常明显,所以我建议在项目末期有必要将过去修正的BUG重新认真验证一遍,可以在短时间内收到奇效。

至此,整个项目的测试算是告一段落。用户过来测试后提出一些BUG,经过分析,绝大部分属于用户的一些想法,与测试漏洞无关,整个测试算是圆满结束。

二、经验和教训
这个项目是我接手的第一个项目,也是一个理论联系实际的过程,回想起来,收获颇丰。
经验主要如下:
1、            学会如何将书中的理论与实践相结合;
2、            学会如何根据项目Demo及需求文档撰写测试文档;
3、            学会如何根据项目变更修改测试文档;
4、            学会如何用英文撰写文档,提交,验证问题;
5、            学会如何理清项目逻辑,如何更深入地撰写文档并进行测试;
6、            学会如何与编程人员沟通交流,获得解答,以便正确提交BUG;

教训如下:
1、            撰写测试文档前没有理清业务逻辑,导致前期测试深度不够;
2、            撰写测试文档时结构不清晰,导致后期难以维护和修改;
3、            测试过程中心态有些浮躁,有些急于求成;
4、            还没有形成测试思维,测试过程思维显得有些混乱;
5、            对BUG轻重缓急界定不够,导致有时测试难以继续进行(对一些影响进度的低级别BUG优先级定得太低);

三、对未来改进的一些建议
经过这次完整的项目测试,学到了很多,也发现了很多问题。对于未来项目的测试,我如下几个不太成熟的建议:
1、            在测试之前项目经理有必要对测试人员进行项目培训,让测试人员对整个项目心中有数,在撰写测试文档时有的放矢;
2、            在测试文档撰写之前需要定义一个撰写规范和标准,大家按照同一个标准撰写,有利于日后文档的维护;
3、            同一个项目功能测试至少应有两人,可以交叉编写模块测试文档,交叉检查文档,交叉进行回归测试,交叉验证BUG,这样有利于避免单人测试考虑不足的漏洞,也能产生更多新的想法,还能相互督促完善文档,提高测试进度;
4、            从一开始就高度重视并发问题,并发问题暴露得越早越易于修改;
5、            项目后期除了不留死角、轮番地扫遍每一个角落(多人协作)外,还需要将过去所有解决的BUG全部验证一遍,会发现不少难以预见的BUG;
6、            对于本项目,目前还有32个延迟(Pending)的BUG,里面大部分为性能和并发问题,还有一些光标、排序及空数据遗留问题,这些看似无关紧要或暂时难以解决的问题都是未来亟需解决的关键所在;



[attach]49216[/attach]

[ 本帖最后由 xuben 于 2009-2-18 18:17 编辑 ]
作者: hjjlearning    时间: 2009-1-12 17:09
恩,总结的不错,测试就是需要多多总结才有提高,,
作者: xuben    时间: 2009-1-12 17:12
对了,我的博客是:
http://www.cnblogs.com/xuben
作者: xuben    时间: 2009-1-13 12:00
希望大家多给点意见!
作者: 阿七    时间: 2009-1-13 15:23
    总结的很好哈
作者: lg1318617    时间: 2009-1-13 15:55
学习下
作者: xuben    时间: 2009-1-13 16:31
呵呵,读书的时候看过许多经典的测试书籍,真正到用起来才发现,要么不适用,要么不会用,现在一个项目做下来,才发现自己真正懂的这么少,真是做一次项目,胜过读书十本!~
希望各位牛人不吝赐教!~
学习中。。。。。。
作者: xuben    时间: 2009-1-14 10:07
继续求教!
等待牛人建议!

作者: xuben    时间: 2009-1-14 14:28
漏掉一个最重要的:测试文档一定要让开发人员根据自己所负责的模块分别重新REVIEW一遍,确保测试文档的覆盖度,这点很多公司都忽略掉了,其实对整个项目的质量而言,是很严重的失误!~
作者: xuben    时间: 2009-1-14 17:53
刚收到BOSS的回信,又提到了两点体会,拿出来分享下:

第一,如果项目是个“完整的系统”——无论它有多么小,主测试人员一定要在需求阶段开始介入——不是全职没有关系,但是一定要早介入。这样即使测试人员没有对系统了解到100%深入,也能保证把握住大部分的功能,减小后期case设计时的沟通成本。

第二,维护一张需求-设计-测试用例的mapping表。
一个简单的excel表,能够保证测试cover所有的需求,即所有的需求都是可验证的。这个工具看起来老土,但是有效。
作者: xuben    时间: 2009-1-16 09:46
做测试这一行,关键是要悟,大家都处于摸索的阶段,互相分享与讨论是不可或缺的一环,真心希望大家与我分享自己的经验!
作者: xuben    时间: 2009-1-18 13:24
奋力一顶!!!!!!!!!!!!!!
作者: mysun    时间: 2009-1-18 19:45
楼主的方法很值得学习
作者: traning    时间: 2009-1-19 10:24
谢谢分享
作者: xuben    时间: 2009-1-19 16:22
一起努力,一起进步!
作者: Mr_Jo.    时间: 2009-1-19 17:50
深深受教...感谢.
作者: 落墨    时间: 2009-1-20 11:41
你的总结写的很实在
比较有深度
很真实
向你学习!
作者: sun2004    时间: 2009-1-23 11:16
标题: 写的不错
这个测试总结写的不错,很实际啊,应该向这位测试人员学习啊
作者: xuben    时间: 2009-2-9 09:24
刚回来上班,谢谢大家的鼓励!
一起努力吧!
作者: 76537658    时间: 2009-2-9 09:46
写的太好了
作者: xuben    时间: 2009-2-10 16:55

作者: huiguiziran111    时间: 2009-2-13 09:34
标题: 回复 1# 的帖子
3、            同一个项目功能测试至少应有两人,可以交叉编写模块测试文档,交叉检查文档,交叉进行回归测试,交叉验证BUG,这样有利于避免单人测试考虑不足的漏洞,也能产生更多新的想法,还能相互督促完善文档,提高测试进度;


现在我们公司就是我一个来负责测试了,我都提出要两个人来一起交叉测试的。但是领导没有同意。心里郁闷。工作的步伐就停下来了。
作者: gracewan    时间: 2009-2-16 17:06
标题: 測試,文檔一個人
我們公司就是我一個菜鳥做測試,寫文檔。我感覺自己什么都不太會,是不是好可悲啊!
作者: 月上百合    时间: 2009-2-18 17:12
真是感受颇深啊,还是参与项目能学东西
作者: xuben    时间: 2009-2-18 18:00
呵呵,没想到沉下去的帖子还有起来的一天,大家一起努力啊!~
建议没被采纳,别郁闷,继续争取;
只有一个人做测试,正好锻炼自己啊;
大家一起努力,经验共分享,保持良好心态,天天都有新的进步!~
作者: xiaogan    时间: 2009-2-19 23:55
我去你博客上看了的!


不错,我也知道我现在的学习目标了!
作者: xiaogan    时间: 2009-2-19 23:55
希望

我毕业以后也能够一个人先测试一段时间来锻炼自己!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2