软件测试是一条超级长的跑道,最好分阶段来跑:先入行,后精通。网上能看到很多软件测试的帖子,但能够准确分类详细介绍的并不多。正好最近有时间,就把我所了解的软件测试做一个小小总结,对你有帮助的话,记得点赞、收藏、关注偶~

一、软件测试分类

在招聘网站上能够看到很多软件测试的岗位,但大部分岗位的名称都是非常笼统的软件测试,到底是做功能测试的,还是做接口测试的,还是做性能测试的,并不十分明晰。有些招聘明明在岗位描述里写的是功能手工测试,面试的时候希望用7k的工资招聘一个资深测试开发人员,逗儿呢?

不吐槽了,先做一点介绍吧。软件测试想必不用我做介绍了,就是通过一系列的手段和方法,通过或手工或工具来测试软件里的错误(bug),要有“鸡蛋里挑骨头”的勇气和细心。当然不能乱挑刺。

根据测试阶段,可以将软件测试分为单元测试(UT)、集成测试(IT)、系统测试(SY)、验收测试(UAT,又可以分为alpha、beta、gamma测试)等。这种分类方法必须知道并且其中涉及的点是需要记忆的。

根据是否自动化,可以将软件测试分为人工测试和自动化测试。像我们在招聘网站里看到的自动化测试就是这里的概念,通俗来说,就是用机器来代替人工进行测试,以提升效率。现在测试入行的门槛是在逐步抬高的,基本是家公司,不管招人来是干什么的,都希望候选人会自动化测试。

根据是否要运行程序,可以将软件测试可以分为静态测试和动态测试。静态测试其实主要就是看一看文档呀、页面呀之类的,很重要,但是我们主要做的还是动态测试。

根据是否要对代码进行测试,可以将软件测试分为白盒测试和黑盒测试。直接对源代码进行测试是为白盒测试,这块一般是直接由开发人员来测试的。不对源代码进行测试是为黑盒测试,又可以分为很多种类。对于测试人员来说,大部分进行的都是黑盒测试。

接口测试是介于黑盒与白盒测试之中的一种测试,我们理解为是灰盒测试。因为接口要比手工测试(如点点点)更提前介入,更早地发现程序中可能存在的bug,从而补救成本比较低,所以很受重视。而且就点点点的功能测试来说,现在很多公司选择外包,这也造就了很多外包测试公司。而接口测试因为涉及到公司的核心业务逻辑和数据,很少有公司愿意把接口外包。

看到这里是不是感觉仍旧十分的迷惑,接口测试到底是干什么的呢?通俗点来说,接口测试和功能测试没有什么太大的区别。只不过功能测试一般是要等程序上线以后,才能够用手来点点点测试的。而接口测试也是测试软件的功能,只不过是在没有UI界面、在程序没有上线之前就可以测试的。

二、接口测试是什么?

1、接口是什么?接口是从哪里来的?

在介绍接口测试是什么之前,让我们先思考一个问题:什么是接口呢?举个现实点的例子来说,USB和电脑连接的接口就是一个接口;人与人之间交流的语言也是一个接口。接口的目的是为了方便人与人之间的协同,以提高工作效率的一套标准与规范。就软件测试来说,接口就是一套前端和后端在开发过程中都需要遵循的用以数据传输的规范与标准。

明确了标准,就可以将软件开发的业务划分成若干个部分,然后交由不同的专业人士去开发了。前端的归前端,后端的归后端。在提升效率的同时,也方便了以后的迭代升级和人员流动等场景需求。

好,那也就是说,所谓接口就是一套规范吗?是的。其实有一个专业的名词:API文档。这个词应该不算是太陌生吧,不管是不是搞软件的,基本都听说过它。这份文档其实就是软件开发过程中的一套标准,它里面规定了软件的功能,以及每个功能的标准。当然,API文档是由人来书写的,它也不一定就是完美无缺的。

一般来说,API文档是由公司里非常有经验的架构师大佬来编写的,编写的格式没有通用的标准。不过有一种流行的风格,那就是restful风格。restful风格是一种软件架构设计风格,但是并不是一套标准。所以如果你的公司所用的不是这种风格,也不必惊奇。

这种风格最大的好处就是流行,便于协同,其实也不是什么很厉害的东西,就是约定了一些方法、数据格式、状态码等。非常的简单。

2、接口清单

有了API文档有什么作用呢?------>找接口!前面说了,API文档就是软件开发的规范和标准,它里面包括了功能以及功能实现的标准。那么作为测试人员,就需要有能力从API文档中将接口提炼出来,形成接口清单。

提炼的方法其实也比较简单,这里还是以restful风格的API文档来举例吧。根据软件功能模块,可以分为N个层次,每个层次里又包括了若干个功能(接口),就可以提炼出N个层次、M个独立的接口了。

可是这样的接口是比较乱的,我们再根据restful风格中约定的get、post、put、delete四种方法进行分类,就可以在N个层次下将M个独立的接口归位四类。于是,一套脱胎于API文档的接口清单就形成了。

可是,可是,我怎么知道它是一个接口呢?这就要提到接口的三要素了:url+方法+参数+返回值。在API文档中,能够找到这么一套东西的,就是一个接口。

3、接口测试是什么

接口测试就是根据接口清单,模拟客户端向服务端发送请求数据,并获取响应数据后,查看响应数据是否符合预期的过程。

整个过程可以分为三个步骤:

第一步:模拟客户端向服务端发送请求;

第二步:接受服务端返回的数据;

第三步:查看返回数据是否符合预期。

必须要明确的一点是,接口测试的依据是接口清单,接口清单的依据是API文档,API文档的依据的项目需求文档和原型图。有了接口清单后,针对于每一个接口依次执行上述三个步骤的过程就是接口测试。

那么是怎么执行的呢?因为接口测试是在程序开发过程中进行的,是没有完整的程序的,所以测试是需要用到工具的。不仅模拟客户端向服务端发送请求是需要工具的,从服务端接受数据也是需要工具的,而且有时候验证返回数据是否符合预期也是需要用到工具的。

这就不得不提到在接口测试中常用的如fiddler之类的抓包工具、postman、Jmeter等工具了。如果再涉及到接口自动化测试的话,还需要学习python、pytest、java等有关内容,这里先不介绍。对于小白来说,能够先入门是最重要的。

4、接口测试的分类有哪些?

虽然接口测试已经是一个比较小的分类了,但是它仍旧是可以细分的。一般来说,可以分为两种:

web接口测试------>指基于BS架构的软件测试

模块接口测试------>指基于CS架构的软件测试

在做接口测试的过程中,主要做的是web接口测试,即基于BS架构开发的软件。至于说BS和CS架构是什么,这里就不介绍了,百度一下就可以找到很多答案了。

上面的分类方法我们知道即可,在工作中最常用的两种接口测试,实际上是:单接口测试关联接口测试(多接口测试)。

顾名思义,单接口测试就是针对于接口清单里的某一个接口来进行测试,主要针对的是某一个点,而关联接口测试(多接口测试)则是指针对于接口清单里的某几个接口进行测试,主要针对的是某一业务逻辑。

测试的点不同,所需要学习了解的点就不同。单接口测试的目的是为了测试某个接口是不是完美地实现了需求,那么就需要测试到各种可能出现的情况,所以是对某一个接口进行大量同类用例的设计,这就是常说的数据驱动测试。

关联接口测试的目的是为了测试某一业务逻辑是不是能正常实现的,所以基本上是建立在单个功能接口正常的前提下的,即一般不会填入逆向数据。在这个过程中,难点在于不同接口之间的数据传递。

以上这两个点是接口测试执行过程的重点,也是在学习使用postman和jmeter工具过程中的重点。我们以后再来介绍。

三、软件接口测试怎么测?

前面铺垫了这么多,这里做一个简单的小结,到底应该要怎么做接口测试呢?

第一步:根据API文档提取接口清单;

第二步:根据接口清单,确定适用于单接口测试的接口。根据需求评审及业务逻辑,确定适用于关联接口测试的接口类。

第三步:根据确定的单接口测试和关联接口测试,搭建测试框架,设计测试用例。这里的重点是用postman或jmeter等工具搭建测试框架(重点是数据驱动和参数传递),并根据等价类法、正交表法等方法设计合理有效的测试用例。

第四步:执行测试用例,并验证结果是否符合预期。如果是bug,提交bug等。

到这里,软件接口测试就结束了。当然,还有一些更细节的实现流程没有介绍,比如说,用例设计的方法有哪些?postman如何使用?jmeter如何使用?软件测试的基本理论有哪些?缺陷管理工具怎么用?接口测试自动化如何学习?等等、等等,我们之后的文章再来介绍。

下一篇文章:软件接口测试工具Jmeter怎么使用安装教程详解(一)

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

可以自助拿走,群号:310357728群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦

如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见

软件接口测试是什么?怎么测?相关推荐

  1. jmeter 线程执行顺序_软件接口测试工具Jmeter使用方法详解(一)

    介绍完了接口测试是什么及其内在逻辑和Jmeter的安装,从这篇文章开始我们正式开始介绍Jmeter的使用方法.如果对接口测试逻辑流程和Jmeter安装有疑问的朋友,可以看这两篇文章: 星空下:软件接口 ...

  2. 软件接口测试工具篇(一)

     软件接口测试工具篇             - Python  requests -  在软件测试领域中,如果按照软件研发周期维度给测试分类的话,集成测试是一种重要的测试手段,它在单元测试和系统测试 ...

  3. 关于接口测试,我们要测什么,怎么上手

    很多做接口测试的同学会遇到的问题,如何更好的做接口测试,以及接口测试我们要关注什么,为提高自己的测试效率,请看下方图(网上qiao来的): 接口测试质量评估标准: a) 业务功能覆盖是否完整 b) 业 ...

  4. 数字化测图是利用计算机自动绘制地形图,运用VirtuoZo软件实现航空摄影测量数字化测图...

    摘 要 本文简单介绍了航空摄影测量地形图成图的内业数据处理步骤,并结合VirtuoZo.NT版数字摄影测量软件进行了具体说明. Abstract:this text to in brief intro ...

  5. 电脑测速软件_iPerf3 搭建局域网内部测速环境

    这篇文章主要来简单写写局域网里怎么测速,比如日常换了个新路由,想要测试一下无线性能和覆盖之类的情况. 外网测速这一块,市面上的各类软件已经是数不清了,最有名的应该就是 Ookla 出的 Speedte ...

  6. RFT属于软件测试管理工具,IBM Rational FunctionalTester RFT 软件功能测试工具_FunctionalTester_领测软件测试网...

    发表于:2016-11-17作者:石 芮, 王 莹, 和点击数:1614 本文基于 IBM Rational Functional Tester 实现了高效的自动化测试日志框架,对自动化测试开发人员具 ...

  7. 手机在线测试黄疸软件,在家怎么用手机测黄疸

    文章导读 新生婴儿遭遇的问题中最普遍的便是黄疸,新生儿黄疸绝大多数都归属于生理性的,不需要独特医治,还可以在医师具体指导下服食用药治疗,在平常一定要多给宝宝晒太阳.有的病人出世以后黄疸指数不比较严重, ...

  8. 软件接口测试一个项目的实战,全网最全postman接口测试教程和接口项目实战~从入门到精通!!!...

    Postman实现接口测试内容大纲一览: 一.什么是接口?为什么需要接口? 接口指的是实体或者软件提供给外界的一种服务. 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改.从而使得内部和外部 ...

  9. 王者荣耀测试自己本命英雄软件,王者荣耀在哪测本命英雄

    王者荣耀是一款非常受大家欢迎的游戏,那么大家想不想知道自己适合什么英雄呢,现在就可以来测试自己的本命英雄哦,具体的测试方法小编写在下方了,接下来我们一起看看吧! 王者荣耀本命英雄测试网站免费软件下载 ...

最新文章

  1. docker 外部连接_使用外部网络连接Docker容器
  2. python装饰器-python装饰器
  3. 4.29python
  4. JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
  5. 65种GPU性能测试,AMD开源驱动领先!
  6. java jsonobject.parse_JSON.parseObject的几种用法
  7. java基于ssm的个人博客系统_调研了 100 来个 Java 博客系统,发现这5个最好用
  8. openstack 开发_2016年OpenStack开发板工作清单
  9. ssh远程登陆 Ubuntu虚拟机出错,配置ssh服务-转
  10. java计算list集合中重复对象的次数及for循环内外创建对象
  11. luogu P2678 跳石头 二分answer
  12. 关于angularJS绑定数据时自动转义html标签
  13. 倒计时按钮_倒计时牌都不会做,妹子何必嫁这货
  14. ISO 9001 质量标准体系 免费下载
  15. 数据结构第一课:希尔排序和选择排序的时间复杂度随机数组的生成
  16. 双硬盘安装双系统,配置显卡驱动,安装cuda,pycuda
  17. 结合方式c语言,程序设计C语言与数据结构相结合的教学模式探索
  18. 局域网监控软件有哪些功能
  19. 2021 工业信息安全技能大赛 线上赛第一场--隐藏的工程
  20. 电子商务售后操作技巧

热门文章

  1. 游戏中的三角学——Sprite Kit 和 Swift 教程(1)
  2. yolov 论文发表在什么期刊上_基于红外热成像与 YOLOv
  3. 【机房收费系统】 之 收费模式
  4. 相机计算坐标公式_机器视觉系统坐标标定与计算方法
  5. (转)Native Extensions for Silverlight (NESL)?
  6. 海滩生存java_野外求生技巧:海滨生存技能,不同地形的生存要领
  7. 文件操作——打开关闭、顺序读写、随机读写
  8. linux日志服务器审计客户端history记录
  9. ASP+Access的安全隐患及对策(转)
  10. 如何快速提升自己的能力?