测试工作中的一些心得体会

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

测试工作中的一些心得体会此文是在下从事测试工作一年以来的点滴心得和体会,一家之言或有不足之处,欢迎各位同仁批评和指导,大家也可通过百度空间或是搜狐博客给我留言:://eds5146.blog.sohu.com/也可以发送邮件至:Eds5146@163.com(如有转载,请保留以上信息——东敬谢)1.测试需要一份测试指导书测试前要明确测试目的。如:需要做哪方面的测试?具体进行测试的步骤有哪些?功能实现与否如何判定?哪些现象是允许的?而哪些现象是不允许的等等。测试目的不明确会造成测试工作的混乱,因为测试并不是简简单单地得出一个结果——测试OK,产品可用。产品凭什么判定可用?产品可用到什么程度?凭什么判定测试过程OK(或是不OK)?产品完成了哪些功能?完成度有多高?产品没完成哪些功能?没完成体现在哪些方面?产品有哪些缺陷?缺陷的严重程度?等等诸如此类的问题才是测试工作的关键所在。比如说开发一个台灯,我们都知道,台灯的重要功能是必须能照明,没有达到这个要求的产品一定是NG的。但测试并不是说,你把台灯接上电源,开开关一看灯亮了,OK,这个产品是可以用的……测试必须检测到跟重要功能配套的一些基本指标,如台灯的亮度是否可调?灯泡长时间工作发热量多大(如果使用的是钨丝灯泡)?灯泡的工作寿命是多久?等等。如果灯泡开半小时,1米范围内的温度可以达到70摄氏度,哇,有哪个用户敢用这样的产品?这不叫台灯,应该叫取暖器,再比如灯泡的寿命是10个小时,用户每天使用4小时,不到三天就要换一个灯泡,这样的产品恐怕会被归入假冒伪劣类。那么,灯泡开半小时,1米范围内的温度应该是个什么标准?开一小时,两小时后温度应该是个什么标准?0.5米内,0.2米内,灯泡的温度又是个什么标准?灯泡的使用寿命必须大于多少小时?等等等等。这些由谁来给?难道要让测试人员自己来找么?假如上述指标都给了,测试过程中发现,开台灯工作两小时零三分钟的时候,台灯居然熄灭了,当你把这现象提交开发人员报缺陷的时候,开发人员告诉你,这是因为加了定时关断功能(或是加了温控开关,当发热温度过高时会自动关灯)为什么测试之前不说?如果是加了定时关断,用十个台灯进行检测,关断时间从一个半小时到三个小时的都有,那么是不是都是正常的?不正常?那么正常应该是在什么时间?又比如,开发一个遥控器,让人测试的时候不给一个键位表,问开发人员要的时候,开发人员回答——不会自己试啊!好吧,我自己试,试过之后把功能自己做了一个表,提交给开发人员,问对不对?开发人员回答:你猜,你猜,你猜猜猜……好吧,让我猜是吧,那我猜实际遥控距离只有1米也是正常的,就不告诉你。有的人可能认为,测试就是让测试人员随便拿产品去用,把使用后的现象和结果记录下来,拿给开发人员这边判定就是了,不需要给出什么资料——这应该是用户体验测试,不是我这里所要说的,开发过程中的测试,再说了,就算是把产品卖给用户也得附上一份使用说明书吧,什么都不给就叫人测试,莫非是在考验人智商么?测试工作是产品的一个求证过程,是对设计的一个检验,需要忠实,详细,有效地记录产品在测试过程中的现象(包括已实现功能,未实现功能,所存在缺陷等),并将信息反馈至开发项目组的一个必须过程。测试的目的是为了验证产品的功能,性能,同时找出产品的BUG点,以完善产品的开发。就某种意义上而言,发现BUG点比验证功能是OK的更加重要,因为——你最好别指望客户或用户来帮你找BUG,否则代价会非常大。如果一开始有明确的项目计划,清晰的产品需求,那么可作为测试工作的前期导入,但仅靠这些还是远远不够。产品的功能,性能,可拓展性,兼容性,安全性,稳定性,这些都是测试时必须考虑到,也是必须测试到的内容(除非没有相关方面的需求),很多东西并不一定能在项目立项时就能够考虑到就能够预判到。举个例子,腾讯QQ我相信大多数人都用过,作为一款即时通讯软件,与好友及陌生人在网络上自由聊天是产品的重要功能,这个功能是必须的。视频聊天和传文件是QQ的两个拓展功能,假如现在是在产品开发过程中,开发人员让检测这两个功能。经过测试,视频聊天可在不同的两台电脑进行连接,在连接的时候,发起视频的一方在点击视频聊天后,会弹出一个确认框,问是否确认要给对方发视频——我们都知道,实际QQ上发起视频不会有这个动作,因为这个动作多余了。但是假如开发人员没有给出相应的需求,测试人员完全可以判定这个动作合理,因为计算机软件在用户作出重要操作时,弹出对话框让用户确认的动作是很正常的。又比如,在传文件的过程中,发送文件的一方点取消传送不能中断传送过程,只有接收文件的一方才能中断传送,如果是这样设计的话,发送文件的一方发错文件就很麻烦了,要么让对方取消,要么强行关断QQ进程甚至是强行重启电脑。假如开发人员在事先没有提到要测试这方面的功能,测试人员很可能会忽略此点,主要去测试文件传输的速率,稳定性,出错率等等这些指标。当产品快交付或交付后,发现这个功能缺陷,开发指责是测试的失误,居然连这个问题都没测试到,测试可以立马反驳——测试前你有要求过要测这里吗?然后就开始邮件,口水满天飞……在这里,讨论谁对谁错毫无意义,重要的是,这样的情况其实是可以避免的。怎么样去避免?事先说清楚需要测试到的内容不就OK了?作为测试人员,对于产品的测试需求,如测试方式,测试要点,测试重点等有自己的一套思路,但是,在测试之初他们并不是最了解产品的人,需要开发人员给出一定的指引,毕竟并不是所有产品的测试需求都一致,仅凭经验办事有时会走入误区,比如说:忽略掉很多本应该注意到的东西;对产品的BUG点判断失当;在不重要的测试点上花费太多精力,而在真正应该测试到的地方投入过小等。做出太多的无用功不仅浪费时间,精力,也容易使人产生倦怠,影响之后的测试工作。就像蒙着眼睛瞎抓一样,根本不知道自己在干什么,不知道自己应该干什么,甚至不知道自己干的到底有没有作用——这样的工作状况恐怕是很多人都不能接受的。所以,就跟产品开发需要一个项目计划一般,测试也需要一个测试指导。这份测试指导应该包括测试的目的,测试的步骤和预期的结果。从测试人员的角度上来讲,由工程师直接附上测试指导书虽然省事,但是并不理想,最好是由测试人员根据产品情况,列举出值得检测的地方,主动向工程师请教,双方进行讨论后再决定测试内容——如果时间允许的话。知其然也要知其所以然,才有利于更准确,更合理地进行测试,也有利于积累经验和技术,对于职业的长期发展是至关重要的。请注意,测试人员不要养成一个非常不好的习惯,就是拿到待测试的样品后什么都不考虑,直奔开发人员那里索要测试指导书,拿到测试指导书后就照本宣科地进行测试,这是非常不负责任的行为,对于测试人员以后的发展也是非常不好的。拿到产品之后先想一想,在没有任何资料的前提下先自己摸索一下这款产品的设计思路,预期功能,可能会存在的缺陷等,然后再对照项目组或工程师提供的资料进一步确认,在心中有个底之后再请教开发工程师,把测试内容给理解透彻——注意,记得要以请教的心态而不要以索要的心态。2.产品的可用与否并不仅仅是由测试人员判定的如上所述,测试是一个求证过程,检验过程,是在已有的条件下做出各种尝试,以验证产品的功能点,并挖掘产品的缺陷点。测试人员所发现的缺陷点,反馈到开发人员处后,有的或许能得到改善,有的则未必需要改善,还有的则未必能够改善——基于需求,技术,成本,市场等诸多因素的考虑,这是无可厚非的,因为开发并不是理想化的,不能因为缺陷点未改善而否决一款产品。‘这个东西不行,这样的东西简直就是垃圾!’——作为测试人员,千万不要说出类似这样的,带有自以为是意味的话。测试人员并不能决定产品的可用与否,事实上开发人员同样不能决定,做出这个判决的应该是客户,准确点来说应该是客户的需求。有一款迷你小音箱的产品,由于产品的定位是可以挂在钥匙扣上的,方便携带用的,所以结构上限制了产品的喇叭尺寸,也就限制了这款小音箱的音量和音质。当时有两位客户对这款小音箱感兴趣,其中一个客户在看过产品之后,指出音箱音量太小,要改善。于是工程师做出了改进,牺牲了部分音质,把音量给加大了一些,在改善之后我们又重新给两位客户寄出了样品。提出音量太小的客户收到样品很满意,而另一位客户却很惊异地问我们,为什么这一次送样的音箱的音质变差了?之前的那一款挺好的啊。说到这里大家应该都知道后续我们是怎么做的了——这款小音箱保留了两个方案,一款音量稍小,音质稍好;一款音量稍大,音质稍次些,然后不同的方案交付给不同需求的客户。想想,如果在开发中将音箱交给测试人员来检测,测试人员该怎么判定?这个方案的音量太小,NG;这个方案的音质太差,NG。这样的判定合理吗?本来嘛,这就是事实啊,凭什么不能这么判定呢?偷偷的告诉你,开发任何产品,咱们说了不算,客户说了才算,除非这产品是为你自己开发的——如果是这样,你不就是这款产品的客户么?还是客户说了算。发现缺陷点是客观认知,而否决产品通常是个人的主观意识决定的,个人的判断往往是片面的,也许你认为不能接受的缺陷在客户的接受范围内,反之亦然。当然,如果缺陷点严重到已经影响产品的正常使用,已经违背了客户的需求,那么,这款产品理应做出改善,作为测试人员提交一份报告,表示产品并未达到项目计划的要求即可。说出否决产品的话实际上也否决了开发人员所付出的辛勤工作,不管是有心还是无意。可能很多人认为,测试就是质检,是产品流向市场之前的最后一道关口,不过,就我个人的理解,测试着眼于改善产品,是开发流程中一个不可或缺的过程,与质检不同的是,质检是根据指标判定产品是良品还是不良品,而测试是根据指标判定产品缺陷,反馈回项目组进行改善。测试是开发流程中的环节,产品还未成型,改善产品是最重要的。质检是生产过程中的环节,产品已经定型,控制出货良品率是最重要的。对产品的缺陷进行追踪是测试人员的本职工作,至于缺陷是否需要改善,产品是否可以交付给客户或流向市场,测试人员可以提出自己的看法和建议,仅此而已。3.测试要准确而详细地记录测试过程测试是个很繁琐的事情,测试过程是非常考验人的细心和耐心程度的。问题往往就发生在未知的地方——这句话并不意味着在已知的地方就不会出现问题。有的测试人员可能会自持经验丰富,凭经验办事,这是测试工作的大忌!同样的用例,用在不同的产品上,判定的标准可能截然相反,不要想当然地凭感觉和经验办事。你可以参考之前的案例,但是每一次测试都应该当做新的测试来做,这样才能保证测试工作的准确性。以下是我亲身经历的两次案例。1.索尼的PS3主机有一次升级版本时,对未经过官方认证的蓝牙设备做出了一些限制,之前版本可以顺利使用的三款产品在主机升级版本后出现了一些问题。问题现在已经解决了——这不重要,我这里想要说的是,这三款产品依照未升级的游戏主机来测试是完全没有问题的,如果我没有及时更新我的测试环境,还是以未升级的游戏主机进行测试,那就不会发现这些问题,等产品上线生产,或者是顺利出货到客户手上再发现问题,那么补救所需要付出的代价是非常大的。2.有一款产品是用在PS3主机上的PS3手柄充电器,这款产品需要连接PS3主机上的两个USB接口进行供电。在产品的使用说明书中特别强调了一点,使用时要先连接PS3主机上的USB接口,再将另一端的DC接头接入充电器。为什么?因为如果先连接充电器,再连接PS3主机的话,充电电流很小,小到几乎可以判定为不能充电。就因为先接这头还是先接那头,就能产生截然不同的两个结果,在接触这个案例之前我都没有意识到,也是在这之后,对于自己测试过程中的每一个操作步骤,每一个细节都留上了心。细心一点,耐心一点,很多缺陷其实是可以被发现的。准确地记录测试过程这点也许大部分人都能理解,但是详细地记录则未必都能做到。其实在有的时候,相同的输入,仅仅是因为操作的细微差别,就会导致产品输出不同的结果(其实这就是测试所要找出的问题点),当你记录的时候敷衍了事,发现问题再想回放问题的时候,往往会无处下手,不得不重新进行测试,这才是费时又费力。小小地吐槽一下:测试工作

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功