• 0
  • 0
分享
  • 关于接口测试的总结——软件测试全
  • 北极 2021-05-19 15:31:59 字数 2205 阅读 1300 收藏 0

1、接口测试:

是测试系统组件间接口的一种测试。主要用于检测外部系统于系统之间以及系统内部各个子系统之间的交互点。重点测试的时数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等等,这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。

2、接口测试的分类:

  1. 系统与系统之间的调用(如分享时,微信会提供接口给“跑向珠峰”);

  2. 上层服务对下层服务的调用;

  3. 服务之间的调用(如添加一条数据时,会先调用数据查询的服务,查询改数据是否是重复数据)。

不同类型的接口测试方法可能不一致,但总体来说,不管是哪种类型,被测接口即为服务方,测试手段为客户方,接口测试的目的就是:通过我们的测试手段,去验证满足其声明提供的功能。

3、接口测试的原理:

通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(request→response)。

4、接口测试的流程:

类似于功能测试,需求讨论→评审需求→确定需求→产出接口定义→根据需求文档及接口定义设计测试用例(测试用例主要从业务场景,功能以及异常测试几个方面考虑)→评审用例→执行测试。

5、接口测试的价值:

降低成本,提高效率。接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。它是一个完整的体系,还包括功能测试,性能测试等。

6、接口测试的适用范围:

一般用于多个系统间的交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统。主要测试这些对外部提供的接口的正确性和稳定性。它也同样适用于上层系统中服务层接口,测试难度随层级而上升。即越往上难度越大。

7、需求的频繁变化,做接口测试的测试人员应该如何应对:

个人觉得此在于团队开发的流程,团队之间的沟通和测试人员的警觉性。

在开发阶段,需求的变更是一件极为频繁和正常的事情,对于此点团队中的任何一人都应该以正确的心态来面对。团队需要规范的开发流程,良好的沟通方式,测试人员更需要及时跟进软件进度,和开发人员并进齐行。同时,测试与开发需要相对独立的工作环境,总结而言为之知己知彼,亦敌亦友。

8、关于如何简单设计接口测试的设计用例

  1. 明确出发点——测试的目的是为了让找出软件的缺口,修复并使之更加完善。在这一基础点上,接口测试也不例外。以找出软件的误漏为出发点,测试用例需紧贴此线,更容易找出问题所在;

  2. 明确测试点——选择好的测试对象。系统内部层次繁复复杂,任何一个接口的变动都将导致用例失效。(可将这些最外层的接口根据数据的流向分为进入和流出两类,进入系统的接口实际上是我们用例的执行调用的接口。可通过参数对这些接口进行调用,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。数据从哪里流出,流出的状态如何,此时系统的状态都是作为测试目的所要着重关注的部分);

  3. 确认完整的测试对象的功能——确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要的时什么样的功能予以区别。用例的设计要严格按照测试对象功能设计才是正确的用例。

9、设计(接口)测试用例有哪些要求:

结构好,可读性高,渗透性强。

10、(接口)测试用例包括的内容:

功能点,测试环境,测试数据,执行操作以及预期结果。

如下:

  1. 接口测试测试的功能点:如果一个接口功能过于复杂时,可以对接口用例进行结构划分(如根据层次,平台,功能点等等),这样用例具有更好的可读性(接口划分原则为:以接口提供的功能点的不同进行合适粒度的划分,同一功能点的用例又可根据测试环境的不同,数据的不同进行用例的填充);

  2. 接口测试用例的环境:程序内部环境和程序所调用的外部接口的环境;

  3. 关于接口测试测试数据:分为两部分:接口参数数据和用例执行所需系统数据。数据的设计、准备测试用例的数据不可马虎。通过好的测试数据查找问题,能极大的提高工作效率。接口参数数据需要对每个参数根据测试接口的实际功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列,不要遗漏某些边界值和错误点的数据,这样用例更容易发现问题;

  4. 执行操作:即对所测接口的调用;

  5. 预期结果:根据需求进行验证,是衡量软件是否达到预期的标准。应该着重细致,每个用例均需验证,应该避免一个用例重复做相同的验证,提高测试用例的效率。

11、具体测试用例的参考点:

  1. 输入参数测试:针对输入参数进行的测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法(不合法),输入参数为空,为null,输入参数超长等等;

  2. 功能测试“接口是否满足了所提供的功能,相当于正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例觉有更好的可读性和可维护性;

  3. 逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试的界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分之情况和异常;

  4. 异常情况测试:接口实现是否对清楚情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理。


作者:夏天里的Jasmine

原文链接:https://www.cnblogs.com/qianjinyan/p/11384596.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、XSS的基本概念XSS又叫CSS (Cross Site Script) ,为了和css(层叠样式表)区分,我们通常称它为(xss)跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。xss是一种发生在web前端的漏洞,所以其危害的对象也主要是前端用户.在OWASP Web Application Top 10排行榜中长期霸榜,从未掉出过前三名。XSS这类安全问题发生的本质原因在于,浏览器错误的将攻击者提供的用户输入数据当做JavaScript脚本给执行了。XSS有几种不同的分类办法,例如...
            0 0 1796
            分享
          • 1 什么是接口测试?接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。1.1 什么是接口?接口是一种用来定义程序的协议,是一组规则的集合。它规定了实现本接口的类,或接口必须拥有的一组规则。1.1.1 为什么需要接口?接口的意义在于抽象,从而使同类事物在同一高度具有通用及可替代性。在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而...
            0 0 1181
            分享
          •   随着信息技术的高速发展和数据的海量增长,人们对软件系统的性能要求越来越高,希望系统能够承载更多的负荷,同时还能提供高效的服务,如何做好性能测试,也成为软件测试者更为重视的一个问题。在性能测试中,涉及到很多环节,比如测试环境的准备、测试数据的准备、性能测试场景设计、性能测试脚本录制、性能测试执行以及性能调优等,每个环节的工作都会影响到性能测试的准确性,如果操作不当,将会导致无法准确的实现“模拟实际情况”的目标。本文聚焦介绍测试数据应该如何准备,并通过实例浅谈测试数据对于性能测试结果的影响。  一、性能测试数据如何准备  性能测试涉及到的数据一般有三类:业务系统数据、测试铺底数据和测试执行数据...
            13 13 3678
            分享
          • 当一个软件测试工程师刚刚进入行业一到三年的时间,他们通常需要掌握一些基本技能和知识,并且需要学习一些新的技术和工具,以便更好地完成自己的测试工作。以下是一些建议,帮助测试工程师在这个阶段提升自己的技能。掌握基本的测试技能在软件测试领域,有一些基本的技能和知识是必须掌握的。这些技能包括如何编写测试用例、如何执行测试用例、如何记录测试结果等等。测试工程师需要在这些基本技能上建立起扎实的基础,以便更好地完成自己的测试工作。掌握软件测试基本技能需要系统地学习和实践,以下是一些具体的建议:首先,要了解软件测试的基本概念和流程,包括测试的类型、测试的方法、缺陷管理等等。可以通过阅读相关书籍、参加培训课程等...
            0 1 1126
            分享
          • 兼容性测试兼容性测试是指待测试项目在特定的硬件平台上,不同的应用软件之间,不同的操作系统平台上,在不同的网络等环境中能正常的运行的测试。兼容性测试的目的:待测试项目在不同的操作系统平台上正常运行,包括待测试项目能在同一操作系统平台的不同版本上正常运行;待测试项目能与相关的其他软件或系统的“和平共处”;待测试项目能在指定的硬件环境中正常运行;待测试项目能在不同的网络环境中正常运行。兼容性测试无法做到完全的质量保证,但对于一个项目来讲,兼容性测试是必不可少的一个步骤。Web兼容性测试的主要类型:Web兼容性测试主要是针对不同的操作系统平台,浏览器,以及分辨率进行的测试。1.1 平台测试-操作系统市...
            0 0 1250
            分享
      • 51testing软件测试圈微信