这是《落叶》文集里第 181 片落叶,希望你能喜欢,不为别的,只为这份坚持。
【背景】
今天有同学说,他领导给了他一份接口开发文档,让他去做接口测试。他只知道他们用的接口测试工具是 SoapUI,之前没有做过接口测试,所以想了解怎么用 SoapUI 去测试接口。跟他沟通了一下,其实根本问题还是在于他不知道怎么做接口测试,而不是 SoapUI 的使用问题。
【你问】
应该先学习测试技术方法还是工具?
【我答】
在测试技术的学习上,是应该方法先行还是应该工具先行?我认为不能一概而论,得先看看是什么测试技术,再看看学习的对象是小白一枚还是老兵一个。
1、接口测试的学习:先方法,后工具
提到接口测试,大家总是会提到 SoapUI 和 JMeter,更是会习惯性地认为只有用到这些工具,才叫做接口测试,所以很多同学会觉得想入门接口测试好难,其实他们是被工具的复杂度难倒了,而不是被接口测试本身难倒了。
对于接口测试,其主要的核心部分并需要依赖于什么工具,而是依赖于人的逻辑分析。
关于接口测试的学习,建议如下:
1.1了解接口是做什么的;
1.2 理解接口的业务处理逻辑;
1.3 熟悉接口核心的三组件:地址、入参、返回包;
1.4 依据参数校验和逻辑校验设计入参组合;
1.5 学习 JMeter 或者 SoapUI;
2、性能测试的学习:先工具,后方法
在没有深入了解过 LoadRunner 这个工具本身之前,我总是想当然地认为,自己应该把性能测试和工具本身分开去学习,工具只是一个辅助性的东西,很简单,而方法才是根本中的根本。有些性能测试文章或书籍的作者也是持这种观点,现在想来,本身没有错。但对于刚接触性能测试的小白来说,个人认为会产生一定的误导。
因为如果是一门编程语言,你可以说语言本身的学习很重要,在学习期间,不要过于关注工具,最好用记事本或 Notepad++。那是因为对于编程而言,开发工具只是一个编辑器,提高编码效率的工具而已。
但对于性能测试这种对工具依赖性很大的东西来说,在初期,如果纯学习方法,很多东西就只能停留于表层,流于形式,或者说纸上谈兵,你并不能正确地、有效地理解那些理论上的知识点。
以 LoadRunner 为例,大部分人初次接触性能测试,多半都是用的这个工具,它既然是一个成熟的商业化的软件,而且用的人很多,肯定是有它的优势或者说有它流行的道理。那如果能沉下心来,深入学习工具本身的工作流程、各个组件的使用方法、内部工作原理,然后再同步去实践,遇到问题,解决问题,然后再记录问题,分析原因。
就这样一步一步坚持去做,当我自己有一天能很负责任的告诉自己,这个工具我已经能够用的很好了,而且能够知其然且知其所以然了。我相信,那时候的我,对于性能测试的理论方法或者说性能测试流程,不敢说100%的熟知,但也至少已经掌握了60%,剩下的40%就是系统地再去深入学习了。
3、小白入门:
现在很多人在想学习某样东西的时候,喜欢去网上看别人的入门经验帖,的确,这些经验帖有一定的帮助,但自己也要清楚地认识到,写那篇经验帖的人和你现在所处的阶段是否匹配,或者说他是不是站在你当下的视角去写的。
很多所谓的入门经验帖,都是一个从小白升级到专家或者说大牛之后,复盘自己之前的学习历程,再加上自己在这个过程中的很多思考、总结和经验教训,“精炼”而成的。但这种“精炼”,也许会忘了一个重要的前提,就是“设身处地”。
如果能站在小白或入门者的角度,设身处地的为他们想一想,怎么样更容易入门或学习效率更高,那样才能产出更有实操价值的入门建议帖。
《测试路上你问我答》里的 Q&A 39,如果是你要的,甚好!如果不是,你问,我答!
作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵