浅谈接口测试(三) 业务功能测试

发表于:2020-11-13 09:24

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

 作者:茧城寒舍    来源:简书

  在上一小节,我们简单介绍了接口文档,以及对于接口本身的测试,从本小节开始我们来介绍一下业务功能的测试
  1. 需求分析
  我们先给一份产品需求如下:
  点击“我喜欢”按钮,调起一个弹窗,展示我喜欢的明星列表
  明星排列顺序按照添加时间倒序排列
  可分页展示,向上划动,可展示下一页内容,每页最多展示2条内容
  我们逐条分析一下,这几条都分别是由哪些开发同学负责:
  肉眼可见的按钮一定是由前端或者客户端来完成,不是我们测试重点
  倒序排列,前后端均可完成,但一般是由后端处理完成后,交给前端客户端展示,这是接口测试的重点
  前后端均可完成。但如果是由前端完成,那么后端需要把所有数据一次性给到前端,我们想一下如果数据量巨大,那么对于后端来说是个灾难,所以最经济的做法是,由后端查出指定页面内容返回,这也是测试重点
  分析过后,我们有了一个基本想法如下:
  我需要一个接口来提供数据
  该接口有2个参数,一个是指定的页码,一个是每页展示的数据条数
  每个页面上,信息是按照添加时间倒序排列,最新的在最上面
  2. 接口测试
  给定接口文档如下:
  url: http://127.0.0.1/about_test/getList.php
  method: GET
  params:
  page 整数类型
  size 整数类型
  返回结果模版
{
    "code": 200,   // 200成功,400,错误
    "msg": "请求成功", 
    "result": [
        {
            "id": 3, 
            "name": "周星驰",
            "create_time":1587783346000,   //创建记录的时间
        },
        {
            "id": 4,
            "name": "李连杰",
            "create_time":1587783345000   //创建记录的时间
        }
    ]
}
  设计用例(功能):
  是否按照创建时间倒序排列
  是否返回指定的条数
  执行测试用例
  GET 请求:http://127.0.0.1/about_test/getList.php?page=2&size=2
  返回结果:
{
    "code": 200,
    "msg": "请求成功",
    "result": [
        {
            "id": 3,
            "name": "周星驰"
        },
        {
            "id": 4,
            "name": "李连杰"
        }
    ]
}
  从返回结果,我们可以看到,缺少创建时间字段;没有按照时间排序,需要协调后端开发进行修改
  大家可能发现,这和我们进行简单的“点点点”测试,没有什么区别,因为如果接口缺少字段,或者没有排序,我们一样可以通过UI一眼就看出来,那么接口测试还有什么意义呢?
  我们需要一个更好的工具进行测试,我们需要一个更早的时间点开始发现问题!这个时候我们的postman就派上了用场
  2. 总结
  分析产品需求,提炼出需要进行接口测试的点
  设计测试用例,执行用例协调开发修改

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号