• APP接口测试


    什么是接口测试?接口测试很难学吗?No!且听作者“沉默小生”向你娓娓道来。

    最近有朋友问我接口测试是怎么回事?怎么测?我想说,其实很简单,和功能测试一样,把它当一个没有界面的应用去理解,就可以测了。

    功能测试大家应该都熟悉吧:看流程设计流程测试点;看字段要求设计功能测试点,然后考虑考虑输入、考虑考虑输出,再加上些异常操作、兼容、易用性等问题验证,感觉就差不多了(业务复杂程度暂且不管)。而上面说到的这些功能测试的考量,其实也是接口测试的测试点。

    接口嘛,顾名思义,就是对接时的一个口子。对于App来说,其实就是咱们在点点点时,移动端(app)与服务器(Server)数据交互时的一个交互地址,英文叫API,也有就叫URL的。我接触的接口是Rest风格的,由请求(Request)和响应(Response),以及相应的信息头(Request Header和 Response Header)组成。而咱们看到的URL,实际上是接口请求的地址(Request URL)。在操作App时,会将操作或填入的信息,都转成一一对应的参数,然后在Request Header里写好请求的识别规则,请求接口,之后服务器接收并解析处理。处理好后再写好的结果的识别规则,再返给App解析加载结果。

    例如:

    Remote Address:125.39.7.139:80

    Request URL:http://www.bilibili.com/api_proxy?app=tag&action=/tags/archive_list&aid=4177630&nomid=1

    Request Method:GET

    Status Code:200 OK

    Response Content: {"code":0,"result":[{…}]}

    这是bilibili视频播放页中,一个关于视频标签的接口(返回结果我人工省略了,太长)。可以看到,它包含①Remote Address、②Request URL、③Request Method、④Status Code、⑤Response Content五个部分。分别为①接口连接的服务器IP地址、②接口请求URL、③接口请求方法类型、④接口状态值、⑤接口返回结果。而这几个东西,咱们在使用app时,每个页面的数据交互,都会请求次接口,都会包含这些东西。而除IP地址只要知道连得是哪即可,下面会详细说下后几个,以理解接口是怎么用的。

    Request Method:请求方法,该接口是GET的,一般常见的有GET、POST、PUT、DELETE,对应数据库的增删改查四种情况(CREATE -PUT、QUERY-GET、UPDATE-POST、DELETE-DELETE),作为概念理解,了解什么操作大概用什么请求方法即可。

    Request URL:请求的地址,大家抓包时看到的URL就是它,它按“网络协议类型(http)+ “://” + 域名(www.bilibili.com,英文host) + 路径(/api_proxy,英文Path) + “?” + 参数(app=tag&…到结尾)组成。根据操作的不同,使用不同的请求方法和参数的,以让服务器接收进行不同的处理。一般查询用GET、提交用POST,参数分为key和value。GET方法,参数会附在路径Path后面,测试时就测试按照接口文档传入预期的值,是否能得到预期结果,以及检查是否有遗漏的选项值、有没有缺少必填字段情况等;POST方法,参数放入Header后面进行传参,测试时就测试按接口文档传入预期参数,是否能得到有效的修改、传入异常值(等价类、边界值等)是否能返回合适的容错提示等。(有兴趣的可以扩展了解下:http://blog.csdn.net/mfe10714022/article/details/39692305,Header内容直接百度百科即可)

    Status Code:接口状态值,用于表明当前接口处于什么状况,一般Code值为200,表示接口正常;500,表示服务器内部错误;404,表示找不到数据等等。接口状态值很多,但要求都是一种业务结果,对应一个接口状态值。所以在接口测试时,除了参数的测试,也需要测试一下接口的状态值是否能满足业务中的各种结果、并与其结果都是一一对应的。(有兴趣请扩展:http://www.tuicool.com/articles/Ermmmyn

    Response Content:接口返回结果,顾名思义就是返回的数据,就是咱们在app上见到的那些显示数据。格式有的是JSON的、有的是HTML的,JSON格式的,百度下键值对和UML类图,按key和value对应着看,然后研发要个UML类图,方便理解。HTML的,最好复制下来,拖到浏览器打开,方便理解。

    大概接口就这么些东西,url、请求、相应、参数、状态值、UML图,了解这些,大概就对接口有个足够的认识了。抓过包的、没接触过接口测试的童鞋们,可以开始试一试了,自己动手搞搞,快速加深对接口的理解,来对增加你的测试纬度吧!

  • 相关阅读:
    高手 读书笔记-1.精英社会的神话
    企业IT架构转型之道 读书笔记-1.阿里巴巴集团中台战略引发的思考
    Redis学习-内存优化
    Redis学习笔记--常用命令
    Go语言备忘录(3):net/http包的使用模式和源码解析
    Go语言备忘录(2):反射的原理与使用详解
    Go语言备忘录(1):基本数据结构
    Go的接口总结
    Go的类型断言解析
    StrangeIoc框架学习
  • 原文地址:https://www.cnblogs.com/qqmb/p/9138722.html
Copyright © 2020-2023  润新知