希望阅读本文的朋友是做过测试并有一定经验的,不然,你明白我说的什么意思,但你对本文并不一定深有体会。

测试人员的定位

  这其实是个有趣味且值的问题,包括经常跟测试人员打交道的开发人员,甚至测试人员自己都没弄清楚自己职位到底该如何的定位。当别人问人什么是软件测试时? 噢!等等,我翻翻书,“软件测试是通过一定的测试方法和工具发现软件的中的缺陷从而来提高软件质量。”

  噢?测试发现软件中的所有缺陷么?不能!

  噢?测试真的可以提高软件质量么?这个还真不敢保证。

  询问者轻蔑的的走开了,处于礼貌,他们可能没有笑出声来,但他们的眼神已经告诉了测试人员答案,测试是个可有可无的工作。留下测试员非常的窝火,但貌似真的找不出非常有力的证据,来证明自己的存在“不可或缺”和“不可代替”的价值。

----------------------------------------------------

  软件测试人员接受专门的培训来发现并报告问题,他们通过发现和报告软件的异常问题和存在的风险,进而帮助公司、开发团队、客户和最终用户。

  那么我们可以把测试人员比作警察吗?在软件开发过程中并没铁定的“宪法”,他们并不能依照“法律”是去“逮捕”任何人,尽管软件开发的世界里完全可以制定出一定的法律。在法律的世界里,一方受到惩罚,一定有另一方面受到的伤害。但软件缺陷不是这样,也许这个缺陷会造成巨大的伤害,也许一定伤害也没有。也许我们的“法律”根本无法评估一个的伤害到底有多大。

  好吧!既然不能做警察,那来做法管好了,让测试人员来做“质量把关人”。这其实操作起来很困难,也不太公平。所谓“质量把关人”,就是在软件发布前将该软件看做一个商品。由测试人员来权衡风险、必要性、市场需求和成本开销。噢!测试人员的高度不够,评估和承担风险其实是项目管理者或公司管理层的任务。

  到后面可能测试人员已经抛弃了测试人员的本质工作(发现并提交问题),而是花费大量的时间在权衡和评估每一个问题。其实,测试人员清楚地知道不客发现和解决多少问题。软件代码里总是还潜伏着一些问题,所以,他们一般不太情愿盖那个质检合格的红印。这就是说等“质量把关人”去确定产品合格,可能要猴年马月了。

  测试人员其实更愿意做侦查取证小组或验尸法医。他们只提取证据。接下来的你们看着办吧。

  好吧!软件测试人员的工作远不至这个,以下任何要求都可能决定测试人员的使命,你(测试人员)期望的是哪种要求?

  • 快速找出重要的软件问题
  • 对产品质量提出总体评估
  • 确认产品达到某种具体标准
  • 帮助客户改进产品质量和可测试性
  • 保证测试过程能够达到可分清责任的标准
  • 帮助预测和控制支持成本
  • 帮助开发人员完成测试工作
  • 参与需求并从测试的角度提高软件的可测性
  • 为满足特定客户要求,完成所有必要的工作

  对于测试人员来说这太啰嗦(复杂)了,他们只是单纯的喜欢找缺陷(bug),并像探秘一样的把缺陷定位出来。这就像好玩的寻宝游戏。没人事先知道答案,这样对测试人员来说才是有趣的挑战。

测试人员有趣的特质

  好吧!为了完成这项有趣的挑战,测试人员应该具备什么样的特质呢?

  首先要有好奇心,想弄清楚事物是怎么运行的;其次喜欢动手试验,想知道尝试使用功能演示时不同的用户场景和试验会发生什么。

  再次,需要一点胆大精神,不害怕会破坏什么东西,不管你有多位高权重,他们也不害怕把发现的事实告诉你,他们更不害怕站出来据理力争,一定要把他们相信可能影响到产品成功的问题解决掉。

  善于分析,善于学习,事实上,测试人员一直在学习,他们的工作性质要求如此。技术总是在变化,接到的每个项目或多或少跟上一个项目不一样。有时候有很好的文档,有时候却没有,必须问出正确的问题,研究正确的问题,把谜题的各个碎片联系在一起,然后得出正确的结论。

  当然,测试人员也有不好的特质,尤其对于那些经验丰富的人为说,不容易信任人,这是从实践中历练出来的,别人总是告诉他们模块X不需要测试,或代码Y“没动过”,这种信息错的数多到数不清了。所以,就算你告诉测试人员草是绿的他们也要亲自过目才敢相信。当然了,不是所有的测试人员都具备这些特质。好吧!也许你做测试是为了一份稳定的工作来生活。也许你不是“真正的”测试员。

寻找测试的乐趣

  只懂执行其他人测试想法的人,不能算是一个真正意义上的测试人员。当一个测试人员运行一大堆已有的测试用例时,容易心生厌烦。可能会快运行这些测试,只是想让他们从眼前消失,这意味者他们可能不会非常关注执行的测试,当然也就不能像认真彻底的执行者一样找出某些问题。

  很多测试人员觉得单调乏味而不屑运行回归测试,虽然大部分测试员都理解甚至同意回归测试的必要性。

  一个“真正的”测试人员一定会把这些已有测试看作自己的职责范围,重新考虑其中的想法,提出问题,充实和改变测试,探究原来的分析没有考虑到的地方。如果原来的分析实在很棒,寻阿能他们也找不出来太多可有更新充实的内容,进而增加了无聊指数。

并非发现的所有问题都可以得到解决

  

  虽然,看到这个结果会打击测试人员的积极性,但这是真的。最有经验的的测试人员会同情地拍拍你的肩膀说:地球人都知道事情不仅仅是发现问题那么简单。他们也会充分理解、会力支持你的决定:问题A、B、C 可以不解决,并不会有人对这样的决定怪罪你。拥有多年工作经验的测试人员会说出大家都愉悦的意见,因为他们从这家公司的项目经验中学乖了,知道这样会给他们(以及他们部门)带来最好的质量结果。但是需要记住,他们之所以肯牺牲问题A、B、C ,很可能是为了说服你解决更严重的问题D 和E 。当然,大多数测试员是希望发现的所有问题都能够得到处理,现实总没希望的那么好。

测试员只喜欢有趣的缺陷

  所有的测试人员都会告诉你,缺陷是存在的,然后缺陷就真的存在了。一般来说,让事情变得好玩并非缺陷的数目。比如一个测试人员可以在大的网站应用程序中发现上千个表面错误,就是语句与错别字,给用户看的文本有语法错误,图标上的颜色不对,或都屏幕上有东西位置放得不对。

  测试人员非常讨厌这样的错误,特别是发现有很多的时候。因为记录这类错误比发现它们所花费的时间更长。而且他们一般属于低优先级,很容易得到解决。对!测试人员就是变态的喜欢让开发员束手无策的问题,这样似乎更能体验他们的能力与价值。

不要去预测问题优先级

  在IT领域经验丰富的前辈会告诉你,某个应用程序的最终用户可能会对你觉得微不足道的问题深切关注。这跟人的“烦恼因素”有很大关系,一个错别字或字体用得不恰当可能不会影响用户的使用,项目组的所有人都认为这是个小问题。但是对于每天要看两千遍的用户来说,“烦恼因素”是非常高的。

  例一个双击鼠标就可以完成的操作,我设计成了三击,只是多点了一个鼠标而已。这也许有趣,但对于每天操作几百遍的用户来说,他会破口大骂地拿起鼠标甩到地上。这太令人讨厌了。这影响的他们的工作效率,也行效率与绩效、奖金挂钩。

  测试人员报告他们发现的一切问题,其中经验丰富的人员会根据其理解来报告严重程度,但一般来说不要试图预测业务优先级。他们理解中的业务优先级通常就像开发团理解的一样,是不太完整的,并不是基于用户的个人体验做出的。经常有用户愿意“将就”使用有严重错误的代码,却在最后一刻强迫要求修改或添加看起来并不重要的东西。

测试人员的工作是寻找、发现、报告,而不是用神一样的能力去评判,测试人员应该随心所欲的提供他们的专业意见,事实上,项目组的所有人都应该随心所欲地提供专业意见。

报告你发现的所有问题

  有一个令人遗憾的现实,那就是测试人员不将他们发现的所有错误报告出来。原因可能有很多,但最常见的是他们觉得报告某一种或某一类错误没有意义,因为反正都不会被解决的。这是从实践中“学”来的,你通常会发现有这类态度的测试人员不抱幻想、厌倦、愤世嫉俗、对工作不感兴趣。他们报告缺陷的兴趣和热情已经被工作环境慢慢消磨掉了。另一个原因也许是他们相信从政治上和实际上来说,报告他们发现的一切东西是不“聪明”的,他们应该只报告那些公司在乎的东西。那么,如果公司看不到整个大局,怎么知道在不在乎呢?每个人都明白很多错误是不能(或者从财务的角度来说不应该)在产品发布前解决的。成功项目管理的“艺术和工艺”的一个要素是对推迟和解决哪些缺陷做出正确的决策。比如,项目组决定解决1 4 个缺陷,推迟另外3 2 个。但是测试人员选择不报告3 2 4 个缺陷,因为开发团队“从不解决”字段错误,这意味着项目经理和上层的管理者正在根据错误、不全面的信息作决策。在这个例子里,用户界面就不能在万众瞩目的黄金时段隆重登场。

  另外,就算是在一个并不解决某类错误的公司,报告每个错误也可能会最终改变公司的政策(或称之为“一直实行的陈规”)。如果一个测试人员报告了4 0 个错误,一个都没解决,应用程序就发布了,然后用户以紧急的优先级报告同样的错误并要求尽快地解决它们,那么开发团队和项目经理以后就会开始注意这类缺陷

测试员一直在想法破坏你的程序

  好的测试人员同时是富有创造力和想象力的。测试通常是一个破坏的过程,正因为如此,在正式产品环境下运行测试需要非常谨慎的决策。好的测试人员不必试图证明软件运行正常,他们是来证明软件不能正常运行的。这一态度差异是测试人员能发现如此多缺陷的主要原因,他们就是想发现缺陷。他们分析手上所有的信息,坐下来思考怎么才能破坏应用程序。项目组里没有其他人有这样的使命。开发人员一般甚至没有足够的时间持续写代码,更不要说试图挤出足够的时间来想怎么破坏代码了。最终用户通常只是执行日常工作的操作,如果有东西“坏掉了”,他们可能陷入恐慌和沮丧之中。另一方面,只有测试人员勇敢地参与进来,使出吃奶的劲儿去发现软件中的缺陷,他们却为发现另开发人员痛苦的缺陷而兴奋不已。

  这正好应验了妈妈一直告诉我们的话,要是你只盯人身上坏的一面,那你就只能发现坏的东西。测试人员全面地盯着系统中出错的一面找问题,顺便也就检验了运行正常的部分。但他们关注的焦点总是向着错的东西,而不是对的东西

测试角色的本质

  很久之前,就有关于测试人员的角色的争论,我们再来总结性的说说测试角色的本质。

  一些人认为测试人员的角色是保证质量,如果有人能决定到底“质量”指什么? 这个似乎很难说清。

  另一些人认为他们的角色是通过训练开发人员的寻找缺陷帮助他们编写出更好的代码----在开始编写的时候就不存在错误的编码;

  还有一些测试专家集中精研究为何以及如何找到缺陷:在不同的环境下寻找缺陷所涉及的策略、技术和术语。

  所有这些说法都很有趣,在某种意义上都是对业界有溢的。但是,从本质上来说,测试的意义就是发现缺陷。测试人员通过项目组和管理层展示缺陷、问题或瑕疵“保证质量”,进而帮助他们做出更好的决策;他们通过向开发人员展示其代码中的错误,使其知错就改引以为戒,进而帮助他们改进工作;他们学习新的策略和技术以便发现更多的(或者更重要的)缺陷,他们把工作归类到新的策略里,如游历式,进而帮助 其他人发现缺陷。如果在测试过程中没有发现(或者只发现了很少的)错误,那么这也是重要的信息。

------------------------------------------------------------------------------

注:本文内容取自《测试之美》第1章 “这对你有好处么”,这是一本很好的书,读完第1章收获颇多,但正如不少人说话,作者写得太散了,没有条理。好吧!我把这一部分的精彩抽取出来与各位分享。

测试之美---测试员的心思你不懂相关推荐

  1. 测试之美(2)对测试的几点理解----谁是利益相关者?

    测试之美(2)对测试的几点理解----谁是利益相关者? 1.测试的第一步就是要确定谁是利益相关者:(比如用户.开发人员.项目管理人员.法务人员.销售人员等等) 2.深入理解利益相关者的需求与目标,明确 ...

  2. 滴滴公司多次被下架的原因是什么,深挖测试员究竟还该不该去滴滴?

    前段时间滴滴因为涉及国家安全事件被下架,具体情况是什么样子的呢? 我们国家军事部门.国家安全要害部门.国家重要经济工程设施的坐标,都属长期秘密. 道路信息的安全核心在于这些敏感部门,一般出于保密需要, ...

  3. 特斯拉遇上 CPU:程序员的心思你别猜

    作者 | 码农的荒岛求生 来源 | 码农的荒岛求生 图源 | 视觉中国 18世纪流水线的诞生带来了制造技术的变革,人类当今拥有琳琅满目物美价廉的商品和流水线技术的发明密不可分,因此当你喝着可乐.吹着空 ...

  4. 一个测试员的工作与学习

    其实,只是想写写自己的从事测试工作与学习经历,算做回顾吧!我怕时间久了自己做了什么都不知道. 初做测试                                                  ...

  5. 她说程序员不懂浪漫,生日宴上惨变单身狗,其实,程序员的浪漫你不懂!

    css蛋糕 谁说程序员不懂得浪漫,只是程序员的浪漫你不懂!PS:人家都不懂,你再浪漫有啥用,最后还不是单身狗? 说实在的,以前也分享过一个程序员用纯CSS画的一个MAC,代码就三千多行,这个蛋糕虽然代 ...

  6. 360技术嘉年华第七季——测试之美 报名啦

    当当当当!360技术嘉年华第七季,重磅来袭! 本次嘉年华聚焦测试技术,邀请360内外部众多测试专家,畅谈"测试之美"! 活动亮点 多位行业大咖齐聚 本次活动邀请测试领域多位资深测试 ...

  7. 普通的测试员和牛逼的测试员有什么区别?完成这两次跨越,你也可以

    什么是大牛级别的测试员? 对于新人而言,大牛级别的测试员是工作中可望而遥不可及的存在,也是大多数测试员努力前行的目标. 但很多时候,其实大众口中的大牛级别测试员,并没有传说中的那么神乎其神,除去几个业 ...

  8. 测试员,你该如何面对自己30岁后的下坡路?

    下坡路? 测试员干到30岁,好不容易从测试小白混到了白领,却再也干不动了,还时时面临失业的危险.30岁,是一个测试员伤不起的年龄.明天,何去何从? 30岁现象 还有机会吗? 在官场上,曾经有一个59岁 ...

  9. 当公司辞掉85后测试员选择95后测试员后...

    小H被裁员了. 作为一名85后的单身未婚女测试员,原本正在展望升职中层领导职位的她,在公司新吸收了不少95后的新鲜血液后,一言不合竟然就被自己所在的互联网大厂要求"协议离职",一时 ...

最新文章

  1. 响应用户呼声 币安更正BCH简称
  2. hibernate连接池配置
  3. tableau实战系列(十八)-通过可视化实现购物篮关联分析( Market Basket Analysis),关联物品之间的关联关系
  4. html egg mac os 10.7,HTML Egg
  5. 某同学正为自己安装不上sqlserver数据库而愁眉苦脸,使用朋友给的方法顿时喜笑颜开,那么朋友到底出了个什么样的方法呢?...
  6. gcc编译器与g++编译器的区别
  7. android 学习链接大集合
  8. python表单_python-基于添加表单的Django编辑表单?
  9. (36)FPGA三种基本逻辑门(与门)
  10. C++之顺序性容器vector、list、deque的push_back、pop_back、push_front、pop_front、插入(insert)和删除(erase)通用操作及其变形
  11. 笔记本电脑无法进入睡眠状态_【小A问答】如何延长笔记本电脑电池的续航时间?...
  12. C#委托和事件(3)
  13. 继电保护原理7-母线保护
  14. 计算机硬盘更换图解,GHOST磁盘克隆详细图文教程,看后你也可以自己快速更换电脑硬盘...
  15. revit二次开发 IdlingExternalEvent 空闲事件与外部事件
  16. 中企海外周报 | 华为在西班牙启动Wi-Fi 6高校创新应用测试试点;爱奇艺人脸识别技术获全球学术会议认可...
  17. 用div和css制作网页,DIVCSS网页设计总结:有用的3个网页制作_css
  18. Linux中计算特定CPU使用率
  19. NB-IoT智能配电柜测温监测系统解决方案
  20. 数据结构(四)图 —— 编程作业 07 :公路村村通

热门文章

  1. js jquery 数组的合并 对象的合并
  2. Incorrect column count: expected 1, actual 5,JdbcTemplate queryForList 出错
  3. 当当架构部张亮:从码农到大牛,技术与心境的双重提升
  4. mysql中Table is read only 的解决方法小结
  5. 强制回收和IDisposable.Dispose方法
  6. 软件工程-第一次作业
  7. 利用Spring的ApplicationEvent执行自定义方法
  8. 使用NPOI导入导出标准Excel
  9. 使用OpenCV开发机器视觉项目
  10. 【SDCC 2016·杭州站】9月22日大数据实战专场精彩呈现