6.2 接口测试
进行软件测试,有两个主要步骤,明确测试对象和设计测试方法。
毫无疑问,接口测试的对象是后端提供的接口,接口就是前后端产生的数据交互的地方,这个说法比较抽象。
如图6-6所示,电器接线板的插孔就是一个接口,它是电器设备和电源之间交互的地方,无论是电视机、电冰箱还是洗衣机,都可以使用这些接口,而且这些接口都提供相同的输出电压。
图6-6 生活中的接口案例
接口测试是整个测试环节中不可或缺的一部分,它抛开了前端的干扰,直接对后端的功能和逻辑进行测试。
无论前端代码是否开发完,都不影响后端的测试工作,甚至还可以利用接口管理平台返回的模拟数据进行模拟测试。
针对接口的测试角度可以有多种,例如下面的接口测试。
接口功能测试
功能测试的重点是被测对象的输入和输出校验,既要考虑针对接口的输入参数校验,又要检查接口返回数据的正确性。
·针对输入参数校验,可以使用等价类法、边界值法等传统的用例设计方法进行测试,可以使用正交试验法对多个参数进行组合。
·针对响应输出的内容,要考虑HTTP响应状态码或错误编码的使用是否合理,返回的数据格式和内容是否正确。
·针对接口中的业务逻辑,可以通过流程或状态的方式设计测试用例,尽量遍历业务的处理路径,甚至针对多个接口组成一个符合业务流程的调用。
接口安全测试
测试是否存在安全隐患和漏洞,测试是否可以有效地进行身份验证等。
接口性能测试
当面临大并发访问的时候,测试接口的响应是否及时,带宽和硬件资源是否引起瓶颈等。这类测试可以利用JMeter等开源工具实现。
6.3 接口文档
在前后端分离的系统中,后端开发人员提供接口,前端开发人员调用接口,接口是前后端开发人员之间的一个重要桥梁,因此接口的维护就显得至关重要了。
公司一般会编写专门的接口说明文档,前后端开发人员都依据这个文档进行编码工作。
·接口说明文档可以使用多种文件形式,如Word、Excel、HTML页面等,文件格式不同,但是内容基本相同,一般包括以下几部分:
·接口地址:接口发布的URL地址。
·接口类型:该接口使用的请求类型(如GET、POST、PUT、DELETE等)。
·接口说明:接口功能的描述信息。
·请求标头:规范请求中标头部分的内容。
·请求参数:请求参数的名称、类型及说明。
·返回内容:描述访问接口后返回内容的字段名称、类型及其说明。
·错误码:接口调用失败要返回相应的错误编码和对应的错误消息。
这里举两个接口文档的例子,一个是PM2.5查询接口,一个是腾讯云提供的人脸比对接口。
6.3.1 PM2.5查询接口文档
PM2.5查询接口文档的相关内容见表6-1。
表6-1 PM2.5查询接口文档的相关内容
请求示例如下。
·***pm25***/api/querys/pm2_5.json city=珠海&token=xxxxxx
·***pm25***/api/querys/pm2_5.json city=zhuhai&token=××××××
所有的API调用必须附带token参数,即申请的AppKey。网站提供了一个公共的AppKey。公共的AppKey为5j1znBVAsnSf5xQyNQyq,这里需要特别说明的是,在使用的时候直接替换掉地址中的token参数即可。
成功返回的示例如下。
[ { "aqi": 82, "area": "珠海", "pm2_5": 31, "pm2_5_24h": 60, "position_name": "吉大", "primary_pollutant": "颗粒物(PM2.5)", "quality": "良", "station_code": "1367A", "time_point": "2013-03-07T19:00:00Z" }, ... ... { "aqi": 108, "area": "珠海", "pm2_5": 0, "pm2_5_24h": 53, "position_name": "斗门", "primary_pollutant": "臭氧8小时", "quality": "轻度污染", "station_code": "1370A", "time_point": "2013-03-07T19:00:00Z" }, { "aqi": 99, "area": "珠海", "pm2_5": 39, "pm2_5_24h": 67, "position_name": null, "primary_pollutant": null, "quality": "良", "station_code": null, "time_point": "2013-03-07T19:00:00Z" } ] |
可能返回的错误消息如下。
{"error": "参数不能为空"} {"error": "该城市还未有PM2.5数据"} {"error": "Sorry,您这个小时内的API请求次数用完了,休息一下吧!"} {"error": "You need to sign in or sign up before continuing."} |
打开浏览器,输入接口访问地址***pm25***/api/querys/pm2_5.json city=珠海&token= 5j1znBVAsnSf5xQyNQyq,即可查看珠海市的PM2.5数据。
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。