本文主要是介绍实用主义测试员眼中的测试工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实用主义测试员眼中的测试工具
陈能技
2007-9-5
优秀的测试员是修炼成的,需要内炼内功,外炼招式和兵器。内功的修炼,即测试理论的学习,在《实用主义测试员眼中的测试理论》中已经讲过。这里我们来看看十八般兵器,我们测试员怎么把它们都耍好?
对待测试工具的辨证态度
测试工具对于测试员来说是必不可少的,但是不能迷恋工具。
必不可少是因为很多测试如果缺少了工具是不可能完成的。实用主义测试者不会浪费时间在一条条数据去手工录入,造出100万条的数据表。
会有这样的测试员,他们非常向往工具的使用,认为如果不使用工具,好像只是停留在手工的测试,感觉处于测试的很低级的阶段。他们努力地寻找、试用各种新版本的测试工具,以为这样就可以让自己跟上测试的潮流了。
我曾经面试并看多很多测试应聘者的简历,他们往往喜欢在简历上注明熟悉甚至精通什么样的工具。在面试过程中,他们也会很迫切地希望我知道他们对某些工具是了解的,生怕因为没有提到这点而竞争不过别人。再看看培训市场上,到处是关于测试工具的培训,不得不让人认为,测试员如果少了这几项兵器好像就要落后于时代似的。
真正的实用主义测试者不会这样,他们对待测试工具的态度是:按需索取、信手拈来。
大工具
实用主义测试者当然也会有常用的兵器,例如性能测试工具、GUI回归测试工具等。而这些工具一般都是专门的“铸剑人”(测试工具厂商)提供的。我们要先“品剑”,再“练剑”,然后是“用剑”,“论剑”。
“品剑”:在真正使用一个工具之前,最好能取得它的试用版,试用一段时间,还要结合自己项目来试用,不要只是按照工具附带的例子和测试程序来试用,因为它的例子肯定都是可用、可通过测试的。例如,有些工具不支持新版本的.NET Framework,而如果你的项目是在新版本Framework下开发的,则即使买过来也不能用。
“练剑”:在项目中把工具用上之前要对项目组的成员进行培训,培训不仅仅是工具本身,还要把工具涉及的测试理论知识培训到位,例如GUI自动化测试工具的培训,其实真正工具本身的操作培训可能不需要几天的时间就可以完成,但是自动化测试的概念,如何组织自动化测试等等则需要更多时间的培训,否则“用剑者”可能只会挥舞着宝剑进行一场表演而已。
“用剑”:使用工具时要注意“该出手时即出手,不该出手时绝不出手”,而且要充分利用工具的优势,例如,GUI测试工具的优势是快速地覆盖功能,主要用在功能的简单检查,如数据对比、界面属性比较等,而不要用在易用性测试、可用性测试等它不擅长的地方。
“论剑”:在项目过程中应用工具,还要注意积累使用经验,共享使用心得,一些使用过程中碰到的问题和解决的办法要记录下来,以便下次使用时更加得心应手。
对于实用主义测试者来讲,我不建议购买很多这些大工具,因为实用主义测试者讲究投入产出的效益,手中的“剑”,尤其是买来的“剑”,要发挥它的价值,才不会埋没了“宝剑”。再者“英雄配宝剑”,岂不知英雄“手中无剑胜有剑”?一些小工具,小程序,看似无用,被实用主义测试者信手拈来就成了杀敌制胜的武器!
小工具
这种小工具数不胜数,例如一些屏幕录制工具、资源监控工具等,这些小工具甚至可以让你拥有超人一般的能力(见《武装你的测试》)。
这些小工具大致划分成3大类:
1、网络上免费的或共享的小软件
这类型软件都是为专门解决某一方面的问题而设计的,例如InstallWatch,它能让你知道在两个时间点之间那些文件和注册表内容发生了改变,在安装测试时会特别有用。
2、操作系统或开发工具自带的
这种类型的小工具就更多了,很多就在我们眼皮底下,关键是你是否会想到使用它,就像武林高手在关键时刻“削竹成剑”一样。例如,Perfmon就是windows操作系统提供的系统资源监控和记录工具,可用在性能测试中。而windows任务管理器则是我测试过程中必定要开着的一个程序,它帮助我发现很多软件进程驻留的问题、内存泄露问题等等。
另外,像一些开发工具也会带有小工具能帮助你测试,例如微软的开发工具就会带上一个叫Spy++的小工具,它可以帮助你追踪窗体事件,识别控件类型和名称等。
还有,像SQLServer带的事件探查器Profiler,也是我测试经常要用的,因为我可以通过它知道被测软件究竟向数据库提交了怎样的SQL语句,背后做了什么样的数据操作。
3、脚本语言
Perl、VBScript、JScript等,例如我们项目的每日构建框架就是用JScript写的,非常简单实用,且易于修改维护和扩展。对于文件分析、结果查找等也可以用这些脚本语言的正则表达式来完成。
自己“铸剑”
项目的环境是多种多样的,工具厂商的测试工具贵在能支持很多种语言、环境、考虑的比较全面,但是总有它没考虑到的或不支持的地方。这个时候,你应该挺身而出,自己写个切合自身项目实际的小程序或小工具。
例如我们就碰到LoadRunner不支持的环境,从而使用不上这样一个好工具的情况,这时候我们就只能自己写一个同步协调程序来调用不同机器上的多个进程来解决问题。
这篇关于实用主义测试员眼中的测试工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!