发布新日志

  • 软件测试过程改进的内容和注意事项有哪些?

    2009-02-12 16:56:40

    转自:http://www.51testing.com/?action_viewnews_itemid_106262.html

    问题描述:很多时候,我们都经常听到“软件测试过程改进”一词,那么我想知道:软件测试过程改进的“内容”和“注意事项”有哪些?

    会员duola1119:

      正巧公司最近也是在做CMMI的过程改进,我就谈一下软件测试过程改进的看法。

      前言:

      别人的好的测试过程不是好的测试过程,真正适合自己公司的测试过程才是好的测试过程。

      不要盲目的拷贝大公司的测试过程,而是要吸取他们的经验来定义我们自己的测试过程,这样的测试过程对于我们来说才是有价值的,有改进意义的。

      要完成测试过程的改进,前提是发现目前公司的测试过程中存在的需要改进的地方,用CMMI人性化的语言来讲,就是存在的改进的机会。只有明确了自己目前存在的改进的机会,才会有目标的去改进,得到的成效才是显著的。

      软件测试过程改进的内容

      但凡测试也就是包括单元测试、软件集成测试、系统集成测试、鉴定测试、非正式验收测试、正式验收测试这么几大类。那么测试过程的改进就是围绕着这些工件而作的工作

      由于单元测试和软件集成测试一般都是由项目组内部执行,所以这里不对其进行介绍了。

      根据我自己的想法,一个标准的测试过程应该包括以下步骤:

      1.确定角色和职责

      确定测试负责人,测试设计人员,测试实施人员,测试执行人员。有独立测试部门的,测试经理担任项目测试组组长,如果没有则由项目经理组建测试小组,指派人员作为测试组长。

      2.制定相关文档

      系统需求和系统设计文档交付之后,测试负责人制定相应测试计划,设计人员设计测试用例,实施人员实施测试环境。

      3.评审会议

      测试负责人组织项目开发小组人员,PPQA参与测试计划评审会议,测试用例评审会议,并在测试小组内指定测试记录员编写《测试计划评审会议记录》和《测试用例评审会议记录》。测试负责人指定相应人员根据评审会议记录产生的不符合议题编写《不符合议题报告》。评审未通过的则另择时评审,重复上不,通过的则纳入配置管理库,允许发布。

      测试计划和测试用例的评审不一定都在一个时间内

      4.培训

      测试负责人视需要决定是否对测试小组成员进行培训,如果需要则安排时间进行培训。

      5.执行测试

      项目的集成测试完毕之后,测试小组接收第一版本程序后,执行测试用例填写测试结果,并提交BUG到专用的BUG管理工具由相关人员改错。测试执行人员编写《测试日志》、《测试总结报告》。

      6.度量

      测试人员统计测试的工作量,文档的规模,以及缺陷的个数与类型等,并将此度量数据输入测试总结报告汇报给项目经理。

      其中重复的地方比较多,在过程改进中就要特别的注意,最好是制定流程,越是重复的地方,越是要制定流程。

      需要改进的地方

      流程大致是这样的,需要改进的地方我也只想到了以下几点:

      1.规范初步流程

      至少整个流程是规范的,有一个大体流程文档。

      2.寻找现行流程中的问题

      排列出目前所有问题,寻找出、过程、技术中的突出问题加以解决。

      3.细化流程

      在规范初步流程的基础上,在根据寻找的线性流程中的问题,形成一个比较完善的符合自己的流程体系。

      需要注意事项

      1.人员的意识

      改进测试的过程,不单单是测试部门的事情,而是整个团队的事情,应当在这种改进意识在项目组成员头脑中形成一种惯性之后再进行过程的改进,有助于改进过程的成功。

      2.不要为了写文档而写文档

      过程改进中有各种各样的文档要写,大量的书写工作不免会产生抵触情绪,这个时候一定要加紧监督,确保产生的文档不是虚假的数据,而是有实际作用的。

      3.要持之以恒

      过程改进工作不是一天两天就能完成的,文档是可以在几天内完成,但是真正的让过程改进发挥其作用,一定要坚持不懈,持之以恒,让其由一种约束慢慢的成为一种习惯。

      4.少讲不负责的话

      如果你是测试组的负责人,或说话有些分量的人,或者是有点“辈份”的人,不要说那些“就是补点文档”“随便填填”之类的话,因为你的话会影响到你身边的其他人。

  • 测试如何更有效说服研发去修改bug?

    2009-02-12 16:32:13

    转载: http://www.51testing.com/?action_viewnews_itemid_106742.html

    问题描述:测试过程中一些bug会被研发认为是无效bug,但从用户角度出发,测试认为该bug需要更改,此时测试如何更有效的说服研发去修改bug?

    精彩回答:

      1. 扭转研发领导的思想,提高研发人员的响应速度:

      a). 让研发团队的领导重视缺陷:

      很多研发团队的领导都是销售出生,懂技术的很少,他们和搞技术的想法明显不一样。我在的第一家公司,发布版本时很多时候,都是没有测试结束,功能开发的差不多就把产品卖掉了,后面再对版本不断升级,结果这个公司没多久大概3年不到就散伙了。后面一家公司的领导是做质量管理出生的,明显对测试的质量要求就不一样,每次要求都特严,对以前测试结束标准都做了进一步的修改。如果领导对缺陷都视而不见,你说研发人员还愿意花大量的力气去修改Bug吗?所以说,团队的领导的想法或意识,对缺陷是否修改起到非常重要的作用。我记得以前测试高手zhuzx也在每周一问中提到过,大家也可以借鉴一下。

      b). 采用常用的缺陷管理工具(QC9.0),提高缺陷的透明度:

      我们公司使用缺陷管理工具(QC9.0),测试经理任管理员,给公司高层领导、项目经理、开发经理都分配了权限,自己可以登录系统查询相关信息。在测试后期,特别是要发布版本前后,领导们一有空,也随时上去浏览一把,无意识给开发人员施加了较大的压力。如果这个时候还有很多Open的缺陷,开发人员自然不敢怠慢。

      c). 把开发人员的修改缺陷的响应速度,记入绩效考核内容:

      由于公司总监特别关注产品质量,我们公司对缺陷修改这一点做得比较好,每次都是递交缺陷以后,开发人员响应特别快。如果有疑问,就马上和测试人员一对一交流,尽快修复或解决该缺陷。我们公司的口号是:“宁愿花出100倍的代价,也不让发现的缺陷留给客户”。还有一点就是开发人员绩效考核的时候,我们测试人员要给开发人员打分,很重要的一点就是:开发人员对测试缺陷的响应速度,如果这一项很低的话,老大要找你谈话的,问具体原因是什么?呵呵。所以,我们公司很少有测试人员追着开发修改缺陷的情况,把修改缺陷的响应速度纳入个人绩效考核,我个人觉的是一种比较好的方式,值得借鉴或推广。

      2. 组建一个合理的研发团队,规范测试规范:

      a). 关键是建立一个完善的研发机制:

      在大多数情况下,是不是软件缺陷或者需不需要修改,怎样修改不是测试人员和开发人员说了算的,应该是靠研发部门的相关制度或相关部门去约束。毕竟在国内软件的软件企业缺少这样的部门,所以说把修改缺陷相关的重任推到了测试人员的头上,其实对测试人员实在是太不公平了。要解决这个问题,最关键就是建立一个完善的研发机制,让QA等相关部门督促解决这类问题,比较好。

      b). 分清团队成员的具体责任:

      对于研发团队中的每个成员,必须责任明确,否则像督促缺陷修改这样的事情本来不是测试人员的责任,现在都推到测试人员头上了。很郁闷!!

      c). 完善测试规范,明确Bug管理制度:

      大部分的公司,都没有单独的部门来单独管理督促缺陷是否修改,都默认为是测试部门的事情。个人觉的最好是赋予项目组中相关人员一定的资质,让他们去处理这些琐事。经常碰到这样的情况,很多争议的缺陷都一直放到后面一个版本,一段时间下来,几个版本争议的缺陷就多于100个,弄得后面版本也不好发布。我们的做法是,发布前几天,对每个争议的缺陷用邮件先发给项目组成员先看,后面在召开缺陷评审会议,如果通过,毫无疑问修改,否则关闭或保留到下一个版本。

    本文出自51Testing软件测试网,感谢会员sun_0910在每周一问(08-10-27)中的精彩回答。
    http://bbs.51testing.com/forum-157-1.html

      3. 从源头上杜绝无效缺陷的递交:

      a). 测试前细化测试需求,避免递交歧义缺陷:

      很多研发不愿意修改的缺陷,大部分都是由于需求不明确或者理解歧义引起的。所以,最好的做法是在测试以前,开个项目会议,细化一下测试需求,让研发去确认或项目组成员集体Review,达成一致观点。尽量减少理解上的歧义,力争尽早消除无效或争议的软件缺陷,避免递交的缺陷成争议的缺陷。测试人员无法说服研发,让研发去修复缺陷,长期这样,测试部的威信就大大降低了。

      b). 把握不准的缺陷,递交以前最好讨论一下:

      特别是在测试初期,由于测试介入项目时间较短,有时候测试人员对业务或需求了解不深,递交错Bug也是常有的事情。这个时候,往往测试认为自己递交正确了,开发人员认为自己开发软件是对的,互不相让,如果处理不好,很容易弄僵关系,弄得大家都不是很愉快。要是项目中出现这样的Bug,是很难说服研发去修改的,还有可能成为研发抓你的“小辫子”的有力证据,要是这样以后就更难做了。个人的一些做法:所有的测试缺陷相互审核后,才递交到缺陷系统上公开,是最为保险的方法。

      c). 清楚无歧义的描述Bug,减少随机测试,带来不可重现的Bug:

      很多时候,测试人员把缺陷描述不清楚或者缺陷有歧义,开发人员看不懂,不明白具体的意思,加上开发人员任务重时间紧,很容易产生逆反心里,这就让开发人员对测试人员有看法,以后递交的缺陷认可度就大大降低了。还有就是要减少随机测试,一定要保证递交的缺陷能够重复出现,最好要有截图、图片或者用数码相机照下来,让开发人员认识到这个问题确实存在,并且更具说服力。

      d). 做好版本配置管理工作,保证测试环境的准确性:

      很多同事发现的缺陷,只有在测试环境下重现,而在开发环境下不能够重现。这样的缺陷开发人员往往是看不到的,他们很容易得出结论,说测试人员递交无效的缺陷而被拒绝,大部分情况发现是版本弄错啦!!我们唯一能做的就是做好源代码的配置管理工作,保证测试环境版本的正确性和独立性,自己编译自己部署测试环境。只有这样,才会减少无效缺陷的递交,避免“费劲周折”说服开发人员修改缺陷。

      4. 正确分析测试中的软件缺陷:

      a). 为递交的每个缺陷准备几条充足的理由:

      一般情况下,我们提到一个Bug时,开发人员都会说出很多可以不修改缺陷的理由,尽量搪塞住我们的口,要求我们关掉缺陷或者置为无效或者延期到下一个版本。如果你很牛,你可以为自己递交的每个缺陷准备很充足的理由去说服开发人员;如果你不是太强,那就可以求助部门同事,集中测试部门团队的力量,想一些好的、站得住脚理由,详细介绍给研发人员听,只要我们递交的Bug,每个都具说服力的话,我想他们也会尽快修改的。这种方法还真是不错,大家不妨试一试。

      b). 详细分析缺陷给项目带来的各种可能影响或缺陷风险:

      比如说,我们递交一个缺陷,如果研发的觉的这个缺陷可以修改或可以不修改时。我们一定要给研发分析修改这个缺陷的必要性,不修改,对客户带来哪种可能影响或存在哪些风险。要在修改缺陷的代价与修复成本的关系上去衡量。相信,当我们对缺陷分析的很详细时,研发人员一定会修改Bug的。

      5. 做一个聪明的测试工程师:

      a). 注意和研发人员的沟通技巧:

      如果测试人员没有做过开发工作,理解也许就比较片面。有的测试人员,对待问题没有耐心,性情比较急,也是常有的事。如果没有较好的沟通技巧,也许就是几句话的功夫,就和同事争吵了起来,弄得大家都比较尴尬。个人建议:谈话时,要注意沟通技巧,要有换位思维的方式,做事情对事不对人,处理事情一定要有一颗宽容的心。只有这样,才能够很好的说服研发去修改Bug。

      b). 和研发人员搞好私人关系,做研发的听众:

      比较明智的测试人员,一定要学会倾听研发人员的心生。很多时候,开发人员碰到工作困难的时候,很希望和人倾述,如果测试人员是他的听众,那么你们的关系一定会不错。搞好了私人关系,工作中你递交的缺陷,他们就不会那么斤斤计较了,毕竟关系是基础,关系好了好说话呀,在中国就是如此。如果私人关系好了,说服研发修改Bug就是很容易的事情。不过得提醒一句:不能因为关系好就把Open的缺陷给关了。

      6. 抓住时机,不要错过千载难逢的好机会:

      a). 求助公司上层领导:

      很多时候,测试到后期,开发人员把缺陷也修改的差不多了,公司领导(比如说老总、总监、项目经理或开发经理)就会随时来测试部门,找测试经理或负责人了解项目测试的具体情况。如果有一些问题都是争议问题,作为测试Leader的你不妨给领导聊聊,把更高层的人拉进来为测试部门说话,为测试部门撑腰,但是凡事都有一个度,不能太过分,否则很伤同事的和气。

      b). 要求客户代表援助:

      很多GUI的缺陷或可改可不该的缺陷,可能作为客户使用不是很方便。我们可以和客户代表聊聊这样的缺陷,如果客户代表同意这样做,那没问题,可以不修改;如果客户不同意,他自然会直接找项目经理或高层人员协调解决这个问题,这就不用我们测试人员操心了。因为客户就是上帝,这招不错吧!!!

      我目前想到的就这么多,希望同行指正!!!

Open Toolbar