关于接口测试的总结

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


2. 接口测试的分类: 微信

a) 系统与系统之间的调用(如分享时,微信会提供接口给“跑向珠峰”); b) 上层服务对下层服务的调用 框架


c) 服务之间的调用(如添加一条数据时,会先调用数据查询的服务,查询改数据是不是重复数据); 性能

不一样类型的接口测试方法可能不一致,但整体来讲,不论是哪一种类型,被测接口即为服务方,测试手段为客户方,接口测试的目的就是:经过咱们的测试手段,去验证知足其声明提供的功能。  单元测试


3. 接口测试的原理:经过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的测试


报文作出处理而后再把应答报文发送给客户端,客户端接收应答报文这一过程(request→response)  spa


4. 接口测试的流程:相似于功能测试,需求讨论→评审需求→肯定需求→产出接口定义→根据需求文档设计


及接口定义设计测试用例(测试用例主要从业务场景,功能以及异常测试几个方面考虑)→评审用例→执行测试  对象


5. 接口测试的价值:下降成本,提升效率。接口测试可以提供系统复杂度上升状况下的低成本高效率的接口

解决方案。它是一个完整的体系,还包括功能测试,性能测试等。  


6. 接口测试的适用范围:通常用于多个系统间的交互开发,或者拥有多个子系统的应用系统开发的测试。


接口测试适用于为其余系统提供服务的底层框架系统和中心服务系统。主要测试这些对外部提供的接口的正确性和稳定性。它也一样适用于上层系统中服务层接口,测试难度随层级而上升。即越往上难度越大。  


7. 需求的频繁变化,作接口测试的测试人员应该如何应对:我的以为此在于团队开发的流程,团队之间的沟通和测试人员的警觉性。


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


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


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


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


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


9. 设计(接口)测试用例有哪些要求:结构好,可读性高,渗透性强。  


10. (接口)测试用例包括的内容:功能点,测试环境,测试数据,执行操做以及预期结果。 

以下:

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


 b) 接口测试用例的环境:程序内部环境和程序所调用的外部接口的环境。 


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


 d) 执行操做:即对所测接口的调用。 


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

 

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


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


 b) 功能测试“接口是否知足了所提供的功能,至关于正常状况测试,若是一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例觉有更好的可读性和可维护性; 


c) 逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试的界限并非那么清楚,因此咱们也能够从给出的设计文档中考虑内部逻辑错误的分之状况和异常;


 d) 异常状况测试:接口实现是否对清楚状况都进行了处理,接口输入参数虽然合法,可是在接口实现中,也会出现异常,由于内部的异常不必定是输入的数据形成的,而有多是其余逻辑形成的,程序须要对任何异常都进行处理。    题外 

关于单元测试,接口测试和白盒测试 


a) 单元测试:针对具体代码逻辑进行测试,主要测试被测代码的一个很小,很明确的功能是否正确。即单元模块的逻辑是否正确,对业务关注不大;


 b) 接口测试:针对程序内部的或者外部的接口进行的测试一个接口方法可能包含多个单元模块,而且,一个接口会有本身特定的业务定义:作接口测试更多的从业务的角度去考虑如何测试;


 c) 白盒测试:单元测试和接口测试都属于白盒测试的一个阶段