接口测试——软件接口测试实战详解(16)

发表于:2021-6-04 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:于涌 马林 张林丰    来源:51Testing软件测试网原创

  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软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号