一、背景 随着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.1、整个测试流程的梳理 根据上面1.2所描述将会遇到的问题,整理测试设计思路,每个大项划分出要完成的子项,流程图如下: 2.2、运行时机 设计这个测试,是为了更好的更快的发现问题,能尽早的完成测试闭环,找出产品缺陷,反馈开发同学,加快整个迭代的速度。具体有以下场景: 1)开发自测:开发同学开发完新的接口后,不知道对其他接口有没有影响,可以跑一遍接口测试来确定; 2)冒烟测试:开发提测后,可以把所有接口和参数都运行一遍,所需要修改域名为测试环境域名和新增接口; 3)线上监控:对已上线业务进行监控,当某些组合条件查询不到数据或者某些接口拉取不到数据时,能够及时提醒相关测试和开发人员。 ...... (下载专刊即可查看全文) 本文收录于《测试专刊-腾讯TMQ移动测试方法集锦》。 版权声明:本文出自《测试专刊-腾讯TMQ移动测试方法集锦》。51Testing软件测试网及相关内容提供者腾讯TMQ团队拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
|