HTTP接口测试还可以这么玩

发表于:2016-6-20 11:09

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

 作者:浅浅    来源:51Testing软件测试网采编

  1、背景
  随着H5在各行业领域的运用,无论是在APP内嵌入H5页面的hybrid应用还是直接在微信公众号或者轻应用中使用H5页面都是非常的常见(比如前端页面通过HTTP 接口调用拉取数据进行交互,实现前后台分离)。 而随着此类技术的应用和发展,作为一个测试人员,跟上时代的变化,除了保证前端页面UI的正确性,也要保证HTTP接口的正确性,从而保证了整个业务功能逻辑的正确性,而接口如果手工测试,不仅工作量很大,而且效率比较地下,而它的特点更适合通过搭建自动化框架来测试,既能提升效率,又能保证质量。
  HTTP 接口一般有两种请求方式,一种是POST,一种是GET, 需要关注发起请求headers(POST请求还要关注post 数据)和响应的headers和body,一般情况下返回的数据都是json格式。从Chrome的Network去分析一个网页的请求加载顺序大概就能看出,目前很多网页的请求顺序都是先去请求html,从html里得到css和js的地址,去请求css和js,从js里的http接口去请求相关的数据,如果拉取回来的数据还有很多图片或其他地址,在继续请求图片,回填内容到html网页里,网页内容不断更新变化,其实也就是接口拉取出来数据的变化,页面的样式基本都是一样的:
  
  1.1、手工测试hold不住的问题
  
  1)    如上图,视频分类很多,电影、电视剧、综艺、动漫等,每次都把各个频道测试一遍,比较耗时;
  2)   在进行视频组合查询时,各种条件组合能拉取回不同的数据,而组合的方式有上千种,如何都保证查询过滤的正确性;
  3)   前端页面都是正常的,可用户总反馈有时候拉取不到数据,到底哪里出了问题;
  4)   写了用例,但是发现覆盖不全,因为组合场景太多,每个组合场景都测试,工作量又太大;
  5)   线上出现问题了我们却不是第一个知道出问题了,没法对页面的内容进行很好的监控,因为用户场景变化多端;
  1.2、怎么来通过HTTP接口测试很好的解决上面问题呢
  1)    抽取接口(chrome爬取? http工具分析?手工提取)
  2)    拿到接口后,怎么获取接口参数所有的值(通过线上数据去挨个查找?从运营平台获取数据?)
  3)    怎么把所有线上接口都全部抓取并监控起来
  4) 发现问题的反馈处理
  5) 接口修改维护
  带着这些问题,进行了下面整个自动化接口测试平台的搭建。
  2、接口自动化测试思路
  2.1、整个测试流程的梳理
  根据上面1.2所描述将会遇到的问题,整理测试设计思路,每个大项划分出要完成的子项,流程图如下:
  
  2.2、运行时机
  设计这个测试,是为了更好的更快的发现问题,能尽早的完成测试闭环,找出产品缺陷,反馈开发同学,加快整个迭代的速度。具体有以下场景:
  1)开发自测:开发同学开发完新的接口后,不知道对其他接口有没有影响,可以跑一遍接口测试来确定;
  2)冒烟测试:开发提测后,可以把所有接口和参数都运行一遍,所需要修改域名为测试环境域名和新增接口;
  3)线上监控:对已上线业务进行监控,当某些组合条件查询不到数据或者某些接口拉取不到数据时,能够及时提醒相关测试和开发人员。
转自:腾讯移动品质中心TMQ
31/3123>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • sdsd22
    2016-6-20 18:21:19

    这是要自己开发一套测试框架/系统?

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号