51Testing软件测试网
  • 软件测试门户
  • 软件测试培训
  • 文章资料精选
  • 软件测试论坛
  • 测试解决方案
  • 软件测试博客
  • 测试招聘求职

  • 老版网站
  • 加入收藏
  • 关于我们

  • 行业资讯
  • 业务知识
  • 软件测试技术
  • 软件测试工具
  • 软件测试管理
  • 软件开发专栏
  • 软件测试下载
  • 软件测试杂志
  • 软件测试沙龙
您的位置: 首页 >> 文章 >> 软件测试技术 >> 其他相关 >> 精选文章

月度热点

自动化不是灵丹妙药
软件测试技术基础学习之测试过程
做一个专业的测试员
接口测试在淘宝的应用
白盒测试实例之二——答案
软件测试技术基础学习之系统测试
对于公共模块的修改,如何更好的保证测试全面?
软件测试计划的内容
什么是测试?
测试的几个误区

最新更新

自动化不是灵丹妙药
熟读bug三百条,bug怎找很明了
回归测试
半年游戏测试的思考
软件测试过程中的组装测试概述
测试如何更有效说服研发去修改bug?
白盒测试实例之五——编码
历史数据迁移的测试
调试的方法
冒烟测试与随机测试方法

软件测试感悟(针对手动、黑盒)

发布时间: 2008-6-19 16:18    作者: 李守亮    来源: 网络转载

字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿  | 每周一问,答贴有奖

        编者按:这是一篇好文章,不在于他的文笔,而在于他的用" 心 " 工作,用心总结。是他的工作经验和心路历程的记录,值得大家学习。

        一直以来,总想写一写关于测试方面的文章。今天,真的接到这个题目时,却欲言又止,迟迟不能落笔。在这里,我也只将自己的实际经验介绍给大家,抛砖引玉,和大家共同探讨。

        刚开始做测试的同事会有一种感觉,认为测试实际上是在充当这个产品的第一用户。也有人认为,测试其实很简单,没有什么技术可言。

        其实,测试说易也易,因为进入门槛低;说难也难,因为测深测精不简单。黑盒测试很讲究策略,测试也是一门学问。

 初涉测试的心路历程

        对测试的认识,每个测试人员都有一个过程。我对测试的认识,在每个阶段各不相同,其中也走了不少弯路。在此,我用第三人称把自己对测试工作的认识过程写出来,希望后来的同事能从中得到启发。

 第一阶段  学习+验证

        对于新来的同事,刚刚涉及测试,往往踏不下心来。感觉测试是件没完没了地事情,并且单调重复、枯燥乏味,没有激情、没有成就感。这是很正常的现象,刚进入一个新的岗位,总有一个适应过程。

        在这一阶段,新员工需要做的事情是,先学会使用所测的软件,熟悉他的每一个功能,弄清楚每一个功能的正确效果应该是什么?然后才开始尝试着去找一些肤浅的问题。这一阶段的感觉是:"测试实际上就是验证产品每个功能的有效性"。新员工这一阶段虽然不太出成绩,但却很重要,因为这是以后工作的基础。

 第二阶段  与开发对立的误区

        当熟悉了所测产品的功能,并且找到测试的感觉后,就开始较深入地测试了。

        在这一阶段,新员工会逐渐发现一些严重的BUG。当看到自己发现的问题被解决后,才真正感觉到自己在参与产品的生产。渐渐地,渐渐地,就会感觉到测试其实也挺有趣。尤其是发现一些死机或特别严重的错误时,有时会兴奋上几个小时。这是他进入状态的必然过程。

        此时,他对测试的认识是:"测试,就是要找出产品的缺陷,是证明当前产品不可用的一种行为"。这一阶段非常值得注意!很多软件公司常说:"开发和测试的行为是对立和矛盾的",这实际上是测试工作的误区。

 第三阶段  与开发主动配合

        随着测试经验的积累,对工作的认识也逐步深入。最后,他会发现,开发和测试之间,本质上是一个合作的过程,目标本是一致的。都是为了尽量减少发布产品中的错误,达到用户可接受的程度。于是,他会更多地站在用户角度考虑问题,测试的目的也越来越明确,工作也越来越主动。

 第四阶段  责任感+验证

        当经历了产品的几个生命周期之后,从不断的需求、开发、维护、升级循环过程中,逐渐认识到,测试实际上是降低产品风险的一种行为。逐步认识到,测试介入的环节越早,风险也就越小。

        在和最终用户多次打交道,亲身体验用户的心情之后,油然而生出一种强烈的责任感,对测试的理解也随之升华为一种产品意识:测试工作和研发工作,实际上是一种荣辱与共的关系,取得的成绩和造成的失误,其荣誉和责任是同等的。此时,当他发现一个致命的错误或缺陷时,第二阶段的那种兴奋也许只会存在3秒钟。此时的他,更多考虑的是怎样帮助研发组尽快地把该问题解决掉。在这一阶段,测试工作中更注重产品的实用性和易用性。

        从学习阶段对产品的验证,到与研发的对立,到主动地和研发配合,到一种责任感使命感自发地对功能的验证,这是一个高级测试人员所必然要经历的一个心路历程。

 测试中的几种思维方式

        测试能否出成绩?以及测试工作的优劣,与个人的素质和修养有关。

        测试工作说易也易,只要认真、负责,就能做出一些成绩。但说难也难,测试讲究很多方法和策略,要测的精,问题定位的及时准确,规律找的准确有效,那是需要下一番功夫的。在此,我把测试中常用的几种思维方式共享如下:

正向思维

        在测试一个产品之前,需要做的重要事情是,熟读产品的设计文档,详细了解每个功能的正确效果。然后针对每个模块,顺着程序员的思路,逐个验证,以验证测试功能的有效性。这是以后深入测试的基础,也是做自动测试的前提。

        搞清楚每个模块是干什么的,弄清楚正确的效果,才知道什么是错误的。这是非常关键的一个环节,如果在这方面不下功夫,也就很难测试出有价值的BUG。因为,很明显的错误结果可能就在你眼前大摇大摆地经过,而你却认为这是正确的!我就曾经一度陷入这一误区,好在很快地补上了这一课。

逆向思维

        关于"逆向思维",我有两种解释,一是针对开发人员。

        开发人员在调试或自测时,总爱顺着已有的思路进行。所以,在很多情况下容易忽略自己所犯的错误,例如边缘条件检查,异常处理等等。所谓当局者迷,旁观者清,是因为你可以跳出他的思维定式,从另外的角度来思考问题。所以,只要你肯动脑筋,不按他的逻辑进行检测,就一定能找出许多破绽。

关于"逆向思维"的第二种解释,是针对具体问题。

        当发生严重问题时,首先要保护好现场,然后努力地回忆,努力地理清思路。要善于从错误现象的最后一步往前倒推。例如死机问题,仅一个现象并不能说明问题,关键要找出它的规律。规律有时是最后一步操作导致,而有时则是前几十步操作的累加,这需要我们追忆刚才的几十步操作,并大胆怀疑其中的疑点,有目的的undo、redo。这一招叫顺藤摸瓜,抓住规律的尾巴,从最后一步开始。

  跳跃性思维

          我也称它为联动思维。

        有时,一个问题表现出来的现象和问题的本质会差着十万八千里,这类问题的规律也极难准确地捕捉到。处理这类问题,需要有扎实的测试基本功,并对产品非常地熟悉,才能把表面上毫不相关,却有着千丝万缕关系的孤立的两点联系起来;才能从一处错误得到启示,联想到其他模块也可能存在类似的问题......



TAG: 测试职业发展 测试技术
21/212>
软件测试技术

查看全部评论(5) 最新评论

  • 删除 zhangfangfang46 (2008-7-19 15:16:32, 评 0 分)

    呵呵,经验很可贵,我要开始进入下一步了,要准备自动化测试的学习中.......

  • 删除 xyzwh (2008-7-19 13:59:15, 评 0 分)

    楼主的文笔很好啊.

  • 删除 zhangj8826 (2008-6-20 14:58:28, 评 0 分)

    确实不错啊,这几点我是很有体会的,走到今天这一步再回过头去看才发现要做好测试真的很不容易啊,测试同仁们继续加油啊

  • 删除 zhangtao (2008-6-20 10:56:53, 评 5 分)

    不错
    水因地而制行,兵因敌而制胜。兵无常势,无恒形,能与敌变化而取制者,谓之神。

  • 删除 cuiyafang (2008-6-20 09:17:48, 评 0 分)

    说得太好了,谢谢楼主分享经验

查看全部评论(5)我来说两句

-5 -3 -1 - +1 +3 +5

51Testing软件测试网 | 快捷面板 | 站点地图 | 联系我们 | 广告服务

建议使用IE 5.0以上浏览器,800×600以上分辨率,常年法律顾问:商建刚律师
版权所有 51testing软件测试网 Copyright@51testing.com 2003-2009, 沪ICP备05003035号
意见反馈及技术支持:webmaster@51testing.com 业务联系:service@51testing.com 电话:021-64471599