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