51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7781|回复: 33
打印 上一主题 下一主题

[原创] 好文章,适合测试新人和步入工作不久的同行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-29 19:03:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
其实,测试说易也易,因为进入门槛低;说难也难,因为测深测精不简单。黑盒测试很讲究策略,测试也是一门学问。
初涉测试的心路历程
        对测试的认识,每个
测试人员都有一个过程。我对测试的认识,在每个阶段各不相同,其中也走了不少弯路。在此,我用第三人称把自己对测试工作的认识过程写出来,希望后来的同事能从中得到启发。
第一阶段学习+验证
对于新来的同事,刚刚涉及测试,往往踏不下心来。感觉测试是件没完没了地事情,并且单调重复、枯燥乏味,没有激情、没有成就感。这是很正常的现象,刚进入一个新的岗位,总有一个适应过程。
在这一阶段,新员工需要做的事情是,先学会使用所测的软件,熟悉他的每一个功能,弄清楚每一个功能的正确效果应该是什么?然后才开始尝试着去找一些肤浅的问题。这一阶段的感觉是:"测试实际上就是验证产品每个功能的有效性"。新员工这一阶段虽然不太出成绩,但却很重要,因为这是以后工作的基础。
第二阶段与
开发对立的误区
   当熟悉了所测产品的功能,并且找到测试的感觉后,就开始较深入地测试了。
在这一阶段,新员工会逐渐发现一些严重的BUG。当看到自己发现的问题被解决后,才真正感觉到自己在参与产品的生产。渐渐地,渐渐地,就会感觉到测试其实也挺有趣。尤其是发现一些死机或特别严重的错误时,有时会兴奋上几个小时。这是他进入状态的必然过程。
此时,他对测试的认识是:"测试,就是要找出产品的
缺陷,是证明当前产品不可用的一种行为"。这一阶段非常值得注意!很多软件公司常说:"开发和测试的行为是对立和矛盾的",这实际上是测试工作的误区。
第三阶段与开发主动配合
   随着测试经验的积累,对工作的认识也逐步深入。最后,他会发现,开发和测试之间,本质上是一个合作的过程,目标本是一致的。都是为了尽量减少发布产品中的错误,达到用户可接受的程度。于是,他会更多地站在用户角度考虑问题,测试的目的也越来越明确,工作也越来越主动。
第四阶段责任感+验证
   当经历了产品的几个生命周期之后,从不断的
需求、开发、维护、升级循环过程中,逐渐认识到,测试实际上是降低产品风险的一种行为。逐步认识到,测试介入的环节越早,风险也就越小。
在和最终用户多次打交道,亲身体验用户的心情之后,油然而生出一种强烈的责任感,对测试的理解也随之升华为一种产品意识:测试工作和研发工作,实际上是一种荣辱与共的关系,取得的成绩和造成的失误,其荣誉和责任是同等的。此时,当他发现一个致命的错误或缺陷时,第二阶段的那种兴奋也许只会存在3秒钟。此时的他,更多考虑的是怎样帮助研发组尽快地把该问题解决掉。在这一阶段,测试工作中更注重产品的实用性和易用性。
   从学习阶段对产品的验证,到与研发的对立,到主动地和研发配合,到一种责任感使命感自发地对功能的验证,这是一个高级测试人员所必然要经历的一个心路历程。  
测试中的几种思维方式
   测试能否出成绩?以及测试工作的优劣,与个人的素质和修养有关。
测试工作说易也易,只要认真、负责,就能做出一些成绩。但说难也难,测试讲究很多方法和策略,要测的精,问题定位的及时准确,规律找的准确有效,那是需要下一番功夫的。在此,我把测试中常用的几种思维方式共享如下:  
正向思维  
         在测试一个产品之前,需要做的重要事情是,熟读产品的设计文档,详细了解每个功能的正确效果。然后针对每个模块,顺着
程序员的思路,逐个验证,以验证测试功能的有效性。这是以后深入测试的基础,也是做自动测试的前提。
         搞清楚每个模块是干什么的,弄清楚正确的效果,才知道什么是错误的。这是非常关键的一个环节,如果在这方面不下功夫,也就很难测试出有价值的BUG。因为,很明显的错误结果可能就在你眼前大摇大摆地经过,而你却认为这是正确的!我就曾经一度陷入这一误区,好在很快地补上了这一课。  
逆向思维  
         关于"逆向思维",我有两种解释,一是针对开发人员。
开发人员在调试或自测时,总爱顺着已有的思路进行。所以,在很多情况下容易忽略自己所犯的错误,例如边缘条件检查,异常处理等等。所谓当局者迷,旁观者清,是因为你可以跳出他的思维定式,从另外的角度来思考问题。所以,只要你肯动脑筋,不按他的逻辑进行检测,就一定能找出许多破绽。  
关于"逆向思维"的第二种解释,是针对具体问题。
当发生严重问题时,首先要保护好现场,然后努力地回忆,努力地理清思路。要善于从错误现象的最后一步往前倒推。例如死机问题,仅一个现象并不能说明问题,关键要找出它的规律。规律有时是最后一步操作导致,而有时则是前几十步操作的累加,这需要我们追忆刚才的几十步操作,并大胆怀疑其中的疑点,有目的的undo、redo。这一招叫顺藤摸瓜,抓住规律的尾巴,从最后一步开始。  
跳跃性思维  
         我也称它为联动思维。
有时,一个问题表现出来的现象和问题的本质会差着十万八千里,这类问题的规律也极难准确地捕捉到。处理这类问题,需要有扎实的测试基本功,并对产品非常地熟悉,才能把表面上毫不相关,却有着千丝万缕关系的孤立的两点联系起来;才能从一处错误得到启示,联想到其他模块也可能存在类似的问题......  
关于测试技巧  
黑盒测试,尤其是手工黑盒测试的业绩,有七成决定于个人因素。
测试需要有高度的责任心和使命感,要有主人翁精神。任何工作只有敬业才能做出成绩,工作主动了,自然会得到回报。  
在很多情况下,问题的现象出现了,但规律却不明显。当问题提交后,在开发那里却死活不能重现,这种情况是很尴尬和无奈的。所以,作为一个出色的
测试工程师,仅仅捕获到问题的现象是远远不够的,还要找到其规律,甚至弄懂它更深层次的原因。
遇到这类问题怎么办?很多人可能就此放弃了,因为说他是"无规律或不能重现事件"。在我看来,这种说法是错误的。我认为,一定要树立起一个观念,那就是:"任何错误的出现,都绝不是偶然的。每个错误现象背后都隐含着一个必然的规律,不管是肤浅的,还是深奥的。"而测试的目的,就是要把这个规律挖出来。因为,规律总结得越准确,对问题的定位和解决帮助就越大。  
         做好测试工作必须要做到几条:首先,要努力培养起对测试的兴趣;要培养对所测产品的感情,要像对待自己孩子一样去热爱它,呵护它。其次,要胆大并心细。要有游走于高山峡谷边缘的那种"如临深渊,如履薄冰"的胆量和谨慎。要敢于怀疑,大胆假设而小心求证。再次,要有耐心,戒骄戒躁,心要安静。  
如果说测试有技巧的话,也仅占到三成:
         1、对待问题要锲而不舍,并善于总结经验。
         举一个案例,对于"方正飞腾(报社专用排版软件)自动勾边死机问题"规律的发现,我现在还记忆犹新。我1997年刚接触这款软件时就遇到了该问题,但问题变化无常,当时找不到一点儿规律:有时,在关键位置点一下鼠标就死,有时点100多次才死,有时怎么点都不会死。该问题整整困扰了我一年,直到有一天,我盯着屏幕发呆,发现鼠标变成了漏斗,我随便点了一下<调整>按钮,程序立刻死机。当时灵机一动,莫非跟"自动存盘"有关?判断是正确的!一年来的谜终于被解开了,而受此启发,后来遇到"非法字体窗口"、"自动翻页"、以及"删除表格"所引发的死机,不到1秒的时间,我就准确定位与自动存盘有关。  
         对于疑难问题,不妨先放他一放,过几天再去想,说不定就会有新思路冒出来,有新灵感被激发出来。对于每一个解决的疑难问题,都要认真分析它的原因,总结定位经验,并推演联想到其他模块。
测试过程是一个循序渐进的过程,是一个经验积累的过程。以一年的摸索换来若干个一秒钟的思索,值!还有很多典型案例,限于篇幅,不便罗列。  
         2、善于推理,善于运用逆向思维。善于换位思考,变换角色对待问题;
         3、善于和别人共享经验,站在别人已有的思路上进一步深入,多动脑筋,多动手。
         4、简化问题规律的步骤,弄清楚问题产生的原因,总结程序员的教训,对类似问题可以触类旁通。
         5、不断地怀疑,不断地推翻怀疑。突破跳出思维定式,大胆假设,小心求证。  
将军围猎  
曾经在文字所和测试中心流传一句话:"软件里的
bug如同海绵里的水,要想挤总会有的"。旧bug的修改往往会引发新bug的产生,所谓"按下葫芦起来瓢"。  
如何培养测试人员的对测试工作的兴趣呢?不妨把bug比作藏匿在深山丛林中的猎物,把自己比作围猎的将军。程序中的bug变化莫测,要有将军指挥作战的气度,怎样更快更准更有效地定位它们,捕获住它们?围追堵截之中,尽显英雄本色。  
兵法上说,水因地而制行,兵因敌而制胜。兵无常势,无恒形,能与敌变化而取制者,谓之神。仅仅通过黑盒测试,你就能知道程序员做了什么改动?怎样做的改动?还存在什么缺陷?并快速准确地把它定位出来。若能达到这种境界,让你的思维能力受到如此的锻炼和考验,难道还不会有成就感么?  
当你全身心地投入在测试中,你会感觉到测试,实际上是一场智力
游戏。所谓"气痴者技精",因为一进入状态,坐下来就会忘记时间的流逝。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-4-29 21:03:36 | 只看该作者
呵呵
感谢分享。。。
受教。。。
呵呵。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-4-29 23:31:30 | 只看该作者
谢谢楼主的分享啊!
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-4-30 03:46:11 | 只看该作者

回复 1# 的帖子

把测试当作一种游戏
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-4-30 09:06:00 | 只看该作者

回复 4# 的帖子

游戏也需要方法,也需要规则
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-30 09:55:39 | 只看该作者
谢谢 楼主的 分享~~~~  学习~~~
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2016-10-21 09:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2010-4-30 10:17:54 | 只看该作者
    不错,前一节,深有感受 ,后几节有点想法,新人就要不断的磨合自己
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-4-30 11:10:06 | 只看该作者
    太好了,多谢分享!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-4-30 12:35:39 | 只看该作者
    谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2010-4-30 15:14:08 | 只看该作者
    略有所悟
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2010-4-30 15:49:46 | 只看该作者
    收藏了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2010-4-30 16:54:58 | 只看该作者
    ::ybaojc:::
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2010-4-30 17:23:24 | 只看该作者

    受教

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2010-4-30 19:03:29 | 只看该作者
    听君一席话 胜读十年书啊!!! 很有收获。。。。


    新人入行 多多指教  
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-4-30 22:50:19 | 只看该作者
    说的真好,受益匪浅!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-5-1 09:42:52 | 只看该作者
    谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2010-5-1 18:49:23 | 只看该作者
    学习~~~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-5-2 12:23:36 | 只看该作者
    quote :搞清楚每个模块是干什么的,弄清楚正确的效果,才知道什么是错误的。这是非常关键的一个环节,如果在这方面不下功夫,也就很难测试出有价值的BUG。因为,很明显的错误结果可能就在你眼前大摇大摆地经过,而你却认为这是正确的!我就曾经一度陷入这一误区,好在很快地补上了这一课。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2010-5-5 08:56:20 | 只看该作者

    回复 18# 的帖子

    不知道18#看懂了文章没~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2010-5-10 10:28:13 | 只看该作者
    cool nice
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-28 10:44 , Processed in 0.077361 second(s), 31 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表