导读
上周粉丝在QQ上聊到,最近去一个面试被问到“接口测试脚本如何编写”,他的回答是根据“接口测试文档“编写,但面试官说回答的不太好,那么应对这样的问题我们应该如何回答呢?
解读
面对面试官的问题我们不能一味的猜测,如果有不明白的就要大胆的沟通,只有通过不断的来回沟通才能明确题目,这样我们回答的才会更加精准。
就这道题本身来讲,我们需要找到一个主线来回答这个问题,就像写作文,你需要有一个中心思想。而大部分朋友在回答的时候都是东西拼凑,想到啥说啥,所以会给面试官感觉上混乱。那么以什么样子的主线来回答问题呢?其实非常简单,就是以接口测试流程为主线进行回答,这样的好处是逻辑清晰、关键点明确,不会混乱。好,那么咱们就走起来看看~
1 熟悉被测接口,结合需求确定哪些接口是需要被测试的。这里需要注意,功能、性能、安全接口测试会有些不一样,最基本的是功能需要做正、反向测试,而性能是做正向测试。
2 被测接口确定之后就要根据接口文档来编写脚本了。这里大家也可以复习几个知识点,一个是接口文档中需要有哪些信息提供(比如,信息头,请求参数格式等等);另一个是接口文档有哪些形式可以提供(比如,swagger等)。
3 接口测试脚本编写。这里就是核心了,面试官关心的也是这个部分。一般可以从两个大的方面回答,一个是通过类似postman、jmeter这样的工具进行;另一个是通过自研的接口测试框架进行。
a、以第一种使用工具为例进行测试,那么可以从整体工具的使用上进行回答。比如,jmeter需要建立什么组件,他们是干啥的,需要注意什么等等之类。凡是使用过的人回答应该不会有大问题。
b、以第二种自研框架为例进行测试,那么需要你描述框架设计结构、关键点以及可以实现什么功能。比如,以python、requests库、unittest、pytest、HTMLTestRunner等为组合的接口测试框架。
大致从以上来回答,就比较全面了,但具体的描述就需要大家多思考下了。这里仅提供一下答题的思路。也可以参考《大话软件测试-性能、自动化及团队管理》一书
4 执行测试,包括正常的执行以及回归测试。像这块就可以用外部数据来管理,因为像回归肯定不是所有case,所以只需要选择需要回归的case然后执行脚本即可。
5 最终出一个报告,搞定!这里想说一下,我看到很多地方都是直接用框架生成的报告,这个本身没有问题,但一个测试报告不仅仅是给技术看的,可能产品或其他同事也要看,还有高层领导也要看,所以我个人还是建议要出一份大家都看得懂的报告才可以,这也是体现测试部价值的一种方式。