要成为一名合格的测试工程师,接口测试相关的知识和技能,是不可缺少的。如今,我们随便打开一个大公司的JD,上面基本会要求接口测试经验。
那么,接口测试到底要测些什么p>
我相信很多小伙伴跟几年前初入测试行业的我一样,对这个概念十分模糊。我的第一份工作,完全没有接触接口测试,我的第二份工作,又是纯接口测试,并且是没有任何UI界面,完全靠数据、任务驱动的后端接口测试工作。
因此,为了避免小伙伴们走弯路浪费时间,我打算做一个接口测试系列,把一些干货分享给大家。
接口
要说接口,它并不陌生,你天天都会接触它。
你的安卓手机,只能用安卓手机的充电线,不能用苹果手机的充电线——这是硬件接口。
你打开测试奇谭的文章,实际上是请求了文章服务器的接口(简单比喻下),服务器将你点击的文章内容返回给你,供你阅读——这是软件接口。
再举个详细例子:
什么是接口strong>
在美国使用电风扇,电风扇的插头是美标插头,只能插入美标插孔;
在中国使用电风扇,电风扇的插头是中标插头,只能插入中标插孔;
在这个例子中:插孔就是接口。
接口做什么strong>
它定义了能接收的插头的类型——美标插孔只能接收美标插头,不能接收中标插头。
另一方面,接口作为传输者,会将不同的电流通过对接的方式传给电风扇,以带动电风扇工作。
根据上述例子,我们不难推演出,在软件中的接口和接口的功能。
用户请求了注册接口,服务会做出处理,向数据库中插入一个新用户;
用户请求了注销接口,服务会做出处理,清除掉数据库中的用户数据。
因此, 当面试官问你什么是接口时,你能说自己不知道吗p>
接口测试
明白了什么是接口,那接口测试,自然简单了。
首先,接口测试属于功能测试。你不要觉得接口测试就很高大上,其实,它仍旧摆脱不了点点点的命运。
拿上面的注册 & 注销例子来说,设计测试用例,正常业务的用例跟功能测试没啥差别。
但是做接口测试,你还得考虑其他场景:
01 入参出参
你是否发现我上面贴图中的一个细节p>
插头请求时,说了一句”我需要美标”,插孔回应”我是美标接口”。
像不像打仗的暗 ——“土豆土豆,呼叫红薯”,“我是红薯,土豆请讲”。
因此,你需要这样设计你的用例,???????
02 接口安全
即,不能像上一个场景,随意让用户修改入参请求,要保障业务和系统的安全、保障数据的正确。
一般来说,使用https请求+验签机制(验证码、sign、时间戳、Token等),可以规避这个问题。???????
03 请求超时场景
即,请求接口,一直没有拿到接口的结果。???????
04 后端服务异常场景
即,接口后面的服务无法正常使用。???????
05 并发场景
类似于性能测试。???????
上面的内容,我只是做了一个引子,引导你去考虑这些场景。当然,实际工作中要考虑的,远不止这一些,还有分布式场景下的异步、同步任务问题,幂等问题,接口兼容问题,降级问题等等。
太多了……
但是,你也别害怕,这些场景是根据你实际工作情况来的。
比如,分布式场景下的同步、异步等,在金融领域使用较多,需要对此精通的接口测试工程师,如果你不在这个行业,了解它即可,没必要深究。
接口测试工具
postman:接口测试工具。常用必备!
fiddler:抓包工具。常用必备!
(温馨提示,文末滑动栏有相关文章哦)
mock:模拟出参的工具,有很多实现方案;
jemter:性能测试工具,也可以用来做接口测试;
python:requests库,学python绕不开这家伙;
swagger-ui等一些web工程。
……
一如既往,做个总结
01 接口测试是功能测试的一种,原理差不多,只是测试思维不一样;
02 保证业务正常的情况下,多做些接口异常测试,对你有百利而无一害;
03 接口测试工具,初学者建议掌握postman和fiddler即可。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!