功能测试的经验总结

2010-05-30  岳帅 

  测试准备:

  1、实际测试总比你预想的要花更多的时间,遇到更多的麻烦,所以要尽量争取足够的测试时间,不要不加思索的说这个东西我一星期肯定可以测完。还要尽可能考虑到测试过程中的风险,比如测试环境的问题、部署失败的问题、开发延期的问题、人员变动的问题等等。

  2、实际上从来都没有过完善的需求,可惜的是教科书从来也没讲过如何应对不完善的需求。我曾不止一次的想如果让做需求的和编程人员都来做两个月的测试,他们的工作能力肯定会有质的飞跃,可惜这只是我的梦想。需求说明书中总会遗漏很多细节,通常需求人员认为那些地方都是理所当然无需赘言的,但开发人员却会有不同的理解,所以测试人员要尽可能的在开始编程之前找出需求中所有不明确、有遗漏的地方。如果能在讨论需求的时候就提出问题那比从已经写好的需求说明书中挑错要好的多。问题越早发现越容易解决。

  3、测试人员最好能在开发开始之前,总结出一个列表,列表中列出需要开发人员统一处理的一些细节,比如表单中表头和表内容用什么字体字号;是左对齐还是居中;翻页控件是放在表单左下角还是右下角还是居中;标点符号是用中文半角还是全角;选择框和下拉菜单中的内容按什么排序;搜索结果是否需要排序;错误提示是弹出窗口还是显示在原界面;错误提示语也应尽量统一风格;查询后是否要保存查询条件;浏览器的前进后退是否需要限制等等。项目经理最好统一给开发人员讲一下这些规矩,这样会在测试时省很多事。

  测试用例:

  1、测试用例要因人而异,如果自己已经很熟练了,测试用例可以只是简单的提示,不需写出详细的执行步骤和测试数据,以免因为无谓的文档浪费太多时间。如果很可能别人还要复用你的测试用例而且有充足的时间,这时就可以把测试用例写详细点。

  2、至于测试数据需不需要在设计测试用例时就写出需要根据实际项目情况来定,我一般认为最好把测试用例都写完之后,再准备测试数据,一条数据可以覆盖多个测试用例,这样很可能四五条数据就可以覆盖十几个测试用例,这样可以提高效率。教科书通常认为一条测试数据最好对应一个测试用例,这样测试执行失败时就容易定位问题出在哪里。但实际情况是只有极少数的测试会执行失败并因此发现bug,但如果因为这极少数的失败的情况来降低整个测试执行的效率就显得缺乏实践性了,况且并不是说一条测试数据覆盖了多个用例时就不容易定位错误的根源。所以测试要根据实际情况灵活进行。

  3、如果要写详细的测试用例,就一定要写的非常的清楚明了,最好让一个不懂项目情况的人也能根据用例执行测试。而且测试用例和测试数据中的关键值一定要用颜色标出。最好还能写出每条用例的测试目的,这样方便日后别人补充你的测试用例。

  测试执行:

  1、如果时间允许,测试一个页面时,要把这个页面的所有功能点的正常异常情况都测完之后再去测下一个页面,这样不容易遗漏。大多时候时间都不很充足,这时要先测主要流程和主要的功能点,这些完成之后再去测细节和异常情况,因为并不是有bug就不能上线的。 [Page]

  2、如果发现了很多界面性的小问题,不要连续提出,最好先提一两个功能性的问题,再提一两个界面性的问题,这样间隔着提bug有利于开发人员接收,免得他把你提的连续的四五个界面性的bug都拒绝了。另外,一个bug里最好不要既包括功能性问题又包括界面性问题,这样有可能开发人员只解决了功能性问题就把bug 关了。

  3、可以一条测试数据覆盖多个测试用例,这样可以提高效率,前提是程序的质量还可以或者可以根据测试结果(结果数据和log)定位是哪个功能点的问题。

  4、如果时间充足的话,测试要在安静的环境中不慌不忙地进行,这样容易联想到更多的测试功能点,也可能因此发现更多的bug。如果测试太匆忙,通常测试人员只是想尽快地执行完所有测试用例。

  5、如果测试还要进行多个版本,则需要不断完善测试用例,并总结为什么一开始会遗漏这些测试点。

  6、测试的目的是发现bug,不是执行完所有用例或者覆盖尽可能多的路径。所以如果全面的测试已无益于发现新的bug时,要让测试人员充分发挥自己的主观能动性,随机地对可疑的地方进行测试。

  7、发现bug时要确定自己操作和理解没有问题再向开发人员提出,而且要注意表达方式。

  8、平日最好能和开发人员保持不错的关系,这样有利于测试的进行。

  9、不要迷信功能测试的自动化,我认为只有在版本稳定后还需要进行多个版本的测试时才需要测试自动化,而且要求测试人员都可以熟练使用测试自动化工具。自动化测试的最大困难可能是需求和界面的频繁变化。

说明一下,本文非原创,各大论坛均有此类总结,本人摘拣拼凑拿来分享而已
445°/4059 人阅读/40 条评论 发表评论

关敏  2010-05-30

不错


袁永云  2010-05-30

关于测试执行的第2条:另外,一个bug里最好不要既包括功能性问题又包括界面性问题,这样有可能开发人员只解决了功能性问题就把bug 关了。
应该做到一个bug只包括一个问题,这样既不会出现开发人员有问题遗漏,也容易管理。


林熙  2010-05-31

总结的不错哦。真好


李俊卿  2010-05-31

顶了!很实际的一个总结!


张峰  2010-05-31

总结的很好


杨姣玉  2010-05-31

支持一个!


熊志男  2010-05-31

非常棒


岳帅  2010-05-31

袁永云: 关于测试执行的第2条:另外,一个bug里最好不要既包括功能性问题又包括界面性问题,这样有可能开发人员只解决了功能性问题就把bug 关了。
应该做到一个bug只包括一个问
恩,理论上你的说法很正确,但实际上对待问题的区分标准不同。
比较明显的是在界面测试中,经常出现一个区域位置出现多个问题,而这多个问题又是可是同时处理的,那么对于开发而言,当然更愿意看到集中的问题回馈。要知道,当开发人员修改了问题后,再出现类似(不相同)问题,都会当做重复无效的,这样增加了问题反复处理的麻烦。。


岳帅  2010-05-31

熊志男: 非常棒
thanks  本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

杨姣玉: 支持一个!
:》谢谢 本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

张峰: 总结的很好
thank you  本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

李俊卿: 顶了!很实际的一个总结!
谢谢 本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

林熙: 总结的不错哦。真好
谢谢,互相交流  本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

关敏: 不错
thank 呦  本文非完全原创,喜欢有帮助就好


蔡磊  2010-05-31

厉害厉害!


时嬿  2010-05-31

是原创的吗?好象哪里见过


代勋  2010-05-31

学习了


岳帅  2010-05-31

时嬿: 是原创的吗?好象哪里见过
忘了说明,不是原创,只不过其中加了些自己的想法,有些论坛也会有类似的总结,本人还没这么出色的经验,呵呵
不过交流无界限,软件测试就是要分享才能进步,所以拿来与大家交流
多谢你的提醒,我已在文章尾部加上非原创说明,以免承受不劳而功的误解,多谢


岳帅  2010-05-31

蔡磊: 厉害厉害!
谢谢,本文非完全原创,喜欢有帮助就好


岳帅  2010-05-31

代勋: 学习了
谢谢,本文非完全原创,喜欢有帮助就好


涂婕  2010-05-31

谢谢!这是我要的啊!


岳帅  2010-05-31

涂婕: 谢谢!这是我要的啊!
谢谢喜欢,希望真的对你有所帮助!加油


孙冬梅  2010-05-31

采纳


岳帅  2010-05-31

孙冬梅: 采纳
:)喜欢就好


曹建建  2010-05-31

受用


岳帅  2010-05-31

曹建建: 受用


路翠  2010-05-31

不错,正好用的上


陈秋冷  2010-05-31

学习了。。还是谢谢你转载


岳帅  2010-05-31

路翠: 不错,正好用的上
那就好那就好,工作顺利啊


岳帅  2010-05-31

陈秋冷: 学习了。。还是谢谢你转载
我的QQ空间这篇文章已经被转了很多次了,,,


杨姣玉  2010-05-31

岳帅: :》谢谢 本文非完全原创,喜欢有帮助就好
呵呵,只要自己体会了就好!


岳帅  2010-05-31

杨姣玉: 呵呵,只要自己体会了就好!
嗯,说的好!


袁永云  2010-05-31

“一个区域位置出现多个问题,而这多个问题又是可是同时处理的 ”
是因为同一个问题导致的么?这样当然只能算一个问题,如果不是可以将这几个问题关联。
“开发人员修改了问题后,再出现类似(不相同)问题,都会当做重复无效的”为什么会当做重复无效,举例说明下。


陈香羽  2010-05-31

不错,学习


王鹏  2010-05-31

说的不错


岳帅  2010-06-01

陈香羽: 不错,学习
学习愉快


岳帅  2010-06-01

王鹏: 说的不错
:》


付民  2010-06-01

一个缺陷,一个报告,尽量简单明了。


陈香羽  2010-06-01

岳帅: 学习愉快


闫海明  2010-06-08

good~


登录 后发表评论