• 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


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   做软件测试的同学们,你在平时的测试工作中有哪些困惑或困扰呢?你可以自行简单思考一下。下面我梳理一下,大家可以看看自己是不是也有如此的感受。  从测试整体角度分析:  第一个痛点是入门容易深入难。  很多人认为软件测试也就那么回事,其实不然。测试需要非常扎实的技术功底和非常全面的知识储备。在国外,很多情况下都是技术大牛转型做测试,而在国内则偏偏相反。  第二个痛点是价值体现。  产品部门是定义产品的,做的是用户分析和需求确认,确认要不要做;研发部门是创造产品的,这是一个从0到1的一个阶段,确认能不能做;测试部门是什么?测试部门是验证产品?检测产品能不能用?还是别的?从客观角度来说,测试价值被...
            0 0 995
            分享
          • 一.什么是接口软件接口二.流程 接口测试属于专项需求–>计划–>用例设计–>执行–>报告接口文档–>用例设计–>执行用例(bug)–>专项报告没有接口文档,如何做接口测试?Fiddler三:接口文档接口名称:表明接口作用接口地址:URL HTTP/HTTPS请求方式:post/get请求参数:必填项,选填项的测试说明了选填参数的相应情况,那么也要设计用例进行覆盖性别:男/女 苏三返回格式:xml/json返回参数:预期结果,比对四.测试用例覆盖所有参数,正向用例覆盖所有必填参数,正向用例某一必填参数为空,逆向用例 空=空格? 空格的位置:前,后,中,n...
            0 0 1263
            分享
          • 1. 新增接口并发测试后,会导致接口中的编号重复       我们在功能测试期间往往很难发现此类缺陷,即并发测试过程中,出现编号重复的情况,有些编号如果是唯一性的,代码层面没有做好控制的话,并发测试期间就会导致编号重复,在生产环境中出现该问题将造成严重的后果。例如沐沐在性能测试过程中就遇到了并发期间订单号重复的情况。所以尽量要在功能测试期间,识别出此类业务场景,通过并发测试的方式,验证是否会出现编号重复的情况。2. 新增接口并发测试后,各项性能指标正常,但是列表无法加载出数据      在对新增场景并发测...
            2 0 3834
            分享
          •   最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。  在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。  面试时我打算聊点基础的,先打开一下话题,结果没想到我一问,不提测试工具,仅仅基础的技术很多也知之不详,6年的工作经验仅仅是功能测试堆起来的,毫无深度,对于APP自动化等等一问三不知,都停留接口测试的基础方法层面上,自动化进阶问题更是一问一个死,前沿技术最新动态也毫无关注。  以上并不是给不想学自动化测试的人们的一个借口。...
            0 0 581
            分享
          • 1、什么是POM,为什么要使用它?POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,所以自然而然就用了类的思想来组织我们的页面。一般一个页面写一个类文件,这个类文件包含该页面的元素定位和业务操作方法。为了我们测试用例写的简单,清晰,我们很多时候在页面对象会封装很多业务操作方法,测试脚本只需要调用相关方法就可以。2、如果页面元素经常发生需求变化,你是如何做?采用POM思想。好处就是只要改一个页面,我就去修改这个页面对象的元素定位和相关方法,脚本不需要修改。3、在你做自动...
            13 13 3581
            分享
      • 51testing软件测试圈微信