• 0
  • 0
分享

前言

直接入手大家可能没什么概念,迷迷糊糊,先抛出几个问题给大家,快速帮助大家了解接口测试的基本概念。

接口测试测什么?

什么是接口测试?和单元测试的区别?

接口测试的价值和意义?

怎么测试接口?怎么写用例,怎么运行用例,测试框架?

一、接口测试测什么?

说明一下:本人之前在某绿厂工作过,这边项目的诉求是整机的接口进行测试。

简单的说一下我这边对接口测试的理解,面对用户使用的app,而app可能使用到的接口大致分成以下几类:

  1. 三方接口(百度地图,腾讯,阿里,三方开源的依赖库,网络接口(http)等)

  2. 应用对外提供的接口(自定义的ContentProvider,AIDL等)

  3. 应用内部明显分层的跨Moudle接口(模块化的工程)

  4. 安卓原生sdk

  5. 厂商自定义sdk

1.jpg

所以我们需要测试的安卓客户端的接口主要就是以上几种。

二、什么是接口测试?

安卓端的接口测试是对上面用户的app所使用到的接口进行功能性,稳定性,兼容性的测试,介于白盒和灰盒测试的范畴。因为三方接口,sdk的接口,网络接口或者其他接口存在源码不可见的情况,这种就是灰盒测试范围,源码可见的接口采用白盒测试思维进行测试。

总的来说,接口测试属于单元测试的其中一个分支,而单元测试属于白盒测试。

三、接口测试和单元测试的区别

1.单元测试是和源工程一个项目下,因为源码必须可见才能进行单元测试,而接口如果不可见,比如三方接口,则不需要再同一个工程下,因此接口测试的测试工程有两种,一种是将测试用例放在源工程目录下,一种非源工程。

2.单元测试用例是运行在jvm上,而接口测试是需要在真机环境,也就是安卓环境下才能运行

因为接口通常都是跨模块的,jvm无法提供环境,比如context,sim卡,网络,sdcard,四大组件的运行等。

(如果有别的差异也欢迎大家补充,此处只强调重点的区别)

2.jpg

androidTest目录下就是接口测试用例(运行在android环境(真机))

test目录就是单元测试用例(运行在java环境(jvm))

四、接口测试的价值和意义

我在绿厂工作的这段时间,测试了很多种类型的接口。

谈一下自己的感悟和看法吧。

缺点:

  1. 接口测试的价值肯定是没有功能测试的产生的价值多,接口测试直接发现的bug较少。

  2. 对测试开发人员的要求比较高,要能看懂接口的实现,和对于app的具体业务,才能写出比较好的测试用例。

优点:

  1. 接口测试可以驱动开发优化代码。当开发提供接口文档以后,我们开始编写接口测试用例,如果接口设计存在缺陷时,导致我们很难编写用例,那这种可以向开发反馈,接口是否重构。

  2. 因为接口测试用例的执行速度快,可以参与app的快速迭代,拦截新增或者修改代码导致的bug。如果开发修改代码,导致之前的接口测试用例失败,这种bug也是能发现的。

  3. 兼容各个机型,由于测试的是apk,可以跟随不同版本进行测试。

  4. 可以帮助开发快速定位bug的原因。

说白了,接口测试主要是预防接口被修改导致出问题,一个是功能性验证,保证数据在跨平台或者模块时传入的准确性。

总结

本文简要的说明了一下什么是安卓端的接口测试,接口测试的测试范围,价值和意义,以及和单元测试的区别。


作者:方又松

原文链接:https://blog.csdn.net/weixin_42233460/article/details/108484343#comments_15133317


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   社交媒体 X 周二晚些时候表示,它已经完成了对美国证券交易委员会(U.S. Securities and Exchange Commission)账户被入侵的初步调查,该账户被黑后展示了一个精心设计的虚假帖文,声称美国证券交易委员会已经批准比特币 ETF 进行交易。  "根据我们的调查,此次泄露并非由于X的系统遭到任何破坏,而是由于一个身份不明的人通过第三方获得了与@SECGov账户相关的电话号码的控制权,"X在帖子中确认美国证券交易委员会的账户遭到了泄露。  X 在帖子中说:"我们还可以确认,在账户被泄露时,该账户并未启用双因素身份验证。"  未经...
            0 0 563
            分享
          •   作为一名合格的测试,我们不仅要具备缜密、仔细的测试能力,在定位分析问题的方面,尤其是一些线上问题,也应该能做到得心应手。那一些线上事故我们该如何去定位呢?  确定问题  首先,一般线上事故都会提一个事件单,由公司业务或者运营指定给对应的负责人。我们要看清楚是什么场景下的什么操作导致的,事件的严重等级及影响范围。  另外,遇到事件也不用慌,毕竟还没搞清楚是业务的问题还是代码的问题。  比如,最近运营提出一个问题“产品xxx关联的配置xx没有在前端展示,请排查原因,相关订单号xxxx”。  首先,我们可以根据订单号在订单后台中,查看到当时的下单时,付款的金额是否包含所得资源。  分析问题  最...
            13 14 1493
            分享
          •   一:等价类划分法  1:有效等价类: 2:无效等价类:  案例:比如一个登陆输入框,规定只能输入中文,同时长度为6-10。  通过等价类设计测试用例:  测试用例中重要的三步: 输入 操作 预计结果 如果与预期结果不符合就是bug。  有效等价类: 输入:输入长度为6的中文,输入的为王小明,这就是有效等价类。  无效等价类:  1: 输入长度为4的中文,输入位小名,点击登录,预计结果长度不符合要求。  2: 输入长度为6,但是是英文的,点击登录,预计结果 请输入中文。  3: 输入长度为4,而且不是中文的,是数字,1234,点击登录,预计结果请输入中文并且长度为6-10位。  4:输入长度...
            0 0 1460
            分享
          • 读者提问:免费好用的在线 PDF 转换工具有推荐的吗 ?阿常回答:有,这 6 款在线 PDF 转换工具,免费实用,快来试试吧!1、pdftoword(支持 PDF 与 Word、TXT、图片、HTML等文件之间相互转化)官网地址:https://pdftoword.55.la2、迅捷PDF(支持文档转换、文档处理、文档翻译、图片文字识别等超多强大功能)官网地址:https://www.xunjiepdf.com3、SmallPDF(支持 PDF 转换、PDF 编辑、 PDF 处理等 PDF 管理功能)官网地址:https://smallpdf.com4、hiPDF(一站式 ...
            0 0 1554
            分享
          • 一、Jmeter简介1、Jmeter简介Apach JMeter是Apache组织的开发源代码项目,是一个纯Java桌面应用,用于压力测试和性能测试。它最初被设计用于Web应用测试但后来扩展到其他测试领域。2、Jmeter功能能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC);完全的可移植性和100%纯Java;完全Swing(Java设计的GUI工具包)和轻量组件支持;完全多线程,框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样;精心的GUi设计允许快速操作和更精确的计时;缓存和离线分析/回放测试结果。3、Jmeter接口测试J...
            14 14 981
            分享
      • 51testing软件测试圈微信