`

API接口测试用例设计

阅读更多

1、接口测试概念

     接口测试:测试系统间接口的一种测试,测试的对象主要是接口,主要是测试外部系统与所测系统之间以及内部系统之间的交互点

 

2、接口测试方法

    a、可以通过写脚本代码进行测试

    b、可以通过UI界面进行测试

 

3、接口测试范围

     接口范围包括:

          一、被测项目中同层之间的接口(如DAO层、Service层),一个接口调用了其他的接口

          二、外部系统与系统之间的交互点(如一个App调用了第三方支付宝的API)

          三、各个子系统之间的交互点(如App客户端调用了服务端的Http接口)

 

    被测接口范围:

    接口很多,依据公司的测试资源,项目特点来进行对部分接口/全部接口进行筛选被测API。在一般的中小型公司里,第1类的接口是由相应的开发同学去做。测试同学主要是测试第2种以及第3种。

 

   接口测试的重点测试范围:

   着重测试主要业务,业务复杂的接口

 

4、如何设计API测试用例

      接口测试出发点是被测程序是错误的,以这个为出发点,更容易发现问题。设计API测试用例最简单的就是按照2个基本要素进行划分,即参数(如业务中要求参数不能为null/空字符串,设计 用例为:当给相应的参数传null值/空字符串时,系统是否正确的处理了)与业务(如给API的各形参传入满足业务的实数后,系统是否做出了正确的处理)。

 

    接口测试用例有3类(逻辑测试,出错测试,路径测试):

       1)逻辑测试:主要是根据开发写的JavaDoc来编写测试用例,JavaDoc包含的要素(前提条件,输入参数,业务逻辑,输出值的描述)此类主要是测试在正常输入的情况下,是否能得出正确的结果。此类的测试用例和黑盒差不多,主要用的是等价类划分,边界值等。

 

       2)出错测试:接口逻辑的测试中主要测试的是正常逻辑,即对外提供的接口服务是能够工作的,但是这些测试不能保证数据的安全,以及程序在异常情况下的逻辑的正确性

             (a) 空值输入:如当传一个对象参数(形参类型为Object类型)时,需要值null值测试

             (b) 参数属性测试:如输入一个未赋值的参数(即参形参传的值也为变量,但此变量没有被赋值)

             (c) 异常测试:制造一些异常的测试场景,测试的异常描述是否清晰(如测试“按名称搜索”API,传的                   名称是系统中不存在的值,则返回回来的描述信息是否正确)

             (d) 对参数个数,参数类型时的出错测试(如在测试App的Http接口时,传的值个数不足时,返回的                     结果是否正确)

 

     3)路径测试:当被测API的实现方法中,有很多的判断,且判断中又调用了其他的接口,此时必须要进行路径测试。

5、接口自动化测试工具

       1)可直接使用Junit3/Junit4框架,这个框架一般是开发同学用于单元测试的

       2)可使用TestNG,且TestNG的功能强于Junit4,这个受到了广大测试同学的热爱

       3)  可使用Jmeter,Jmeter提供了一套相应的API供测试同学调用,且Jmeter有UI界面,对于不太懂开发语言的同学,可以使用JMeter进行录制。不过通过录制得来的脚本会或多或少产生一些对于我们没有用的数据。所以我建议写纯脚本

分享到:
评论

相关推荐

    API接口测试用例设计表

    API接口测试用例设计表

    接口测试用例模板

    #### 五、接口测试用例设计流程 接口测试用例的设计需要遵循一定的流程,确保测试的全面性和准确性: 1. **需求评审**:确认接口的需求和功能。 2. **设计评审**:评估接口设计的合理性,确保满足需求。 3. **用例...

    接口测试用例.xlsx

    接口自动化测试用例模板,内容中包含ID、method、api地址、传参、期望响应结果、实际响应结果、断言结果等内容,其中method、api地址、参数、期望响应结果根据项目实际情况进行调整;实际响应结果和断言结果可以通过...

    测试用例设计方法

    6. **接口测试用例设计**: 接口测试专注于系统组件间的交互,包括API接口、数据库交互、消息队列通信等。测试用例应覆盖接口的输入参数、返回值、异常处理和协议一致性等方面。 7. **性能场景设计**: 性能测试...

    接口测试用例生成工具.zip

    本压缩包“接口测试用例生成工具.zip”可能包含一个或多个工具,这些工具可以帮助测试人员自动化地创建、管理和执行接口测试用例,提高测试效率和准确性。 接口测试用例通常包括以下几个关键部分: 1. **接口信息*...

    api接口测试实战.pdf

    接口测试用例设计方法与系统测试用例类似,包括等价类划分、边界值分析和错误推断等。测试用例在接口测试工具(如Postman)上执行,输入数据并检查运行结果。测试人员需在需求分析阶段就规划全面的测试方案,包括...

    接口测试用例-金融银行类参考.xlsx

    接口测试用例-金融银行类参考

    PHP API接口测试小工具

    6. **自动化测试**:可能支持批处理测试,一次性执行多个接口测试用例,提高测试效率。 在"api_test"这个压缩包文件中,可能包含了工具的源代码、示例测试用例、使用说明文档等资源。为了进一步了解并使用这个工具...

    接口API用例模板.xlsx

    接口自动化测试用例模板,内容中包含ID、method、api地址、传参、期望响应结果、实际响应结果、断言结果等内容,其中method、api地址、参数、期望响应结果根据项目实际情况进行调整;实际响应结果和断言结果可以通过...

    网络游戏-网络活动的测试用例发送方法及测试用例服务器.zip

    "网络游戏-网络活动的测试用例发送方法及测试用例服务器.zip"这个压缩包文件包含了关于网络游戏测试的重要资料,尤其是针对网络活动的测试用例设计和测试用例服务器的使用。 首先,我们要理解测试用例在软件开发中...

    case设计及测试规范、测试用例框架模版

    1. 功能检查:这是测试用例设计的基础,主要是对软件各项功能进行验证,包括输入、处理和输出。每个功能点都应该有相应的测试用例来覆盖,确保功能的正确性和完整性。 2. 交叉模块检查:在大型项目中,各个模块之间...

    完整的项目测试用例模板

    该模板覆盖了测试用例的各个关键部分,包括文档的基本信息、接口测试用例、功能测试用例等,旨在提高测试效率和质量。 文档范围: 此模板适用于各类软件项目的测试用例编写,无论是小型应用还是大型系统,都能从中...

    AgileTC思维导图测试用例管理平台

    7. **自动化集成**:通过API接口,AgileTC可以与持续集成/持续部署(CI/CD)工具如Jenkins、GitLab等进行集成,实现测试用例的自动化执行。 8. **敏捷友好**:适应敏捷开发流程,支持故事点分配,与Scrum或Kanban板...

    软件测试用例设计培训ppt

    ### 软件测试用例设计培训PPT知识点解析 #### 一、软件测试概述 - **定义**:软件测试是一种用于评估一个软件产品或系统的质量的过程,旨在识别该产品或系统与其需求之间的偏差。 - **对象**:软件测试的对象包括...

    Challenge-图书管理系统测试用例.pdf

    接口测试用例部分,文档提供了一系列的测试用例,涵盖了图书管理系统的各个接口和API。 路径测试的检查表部分,文档提供了一份详细的检查表,用于检查图书管理系统的路径测试。最后,功能测试用例部分,文档提供了...

    快嘉接口 sdk 生成 Maven 插件,根据自定义接口文档生成基于testng框架的接口测试用例代码,该代码可直接用于研发过程

    快嘉接口 sdk 生成 Maven 插件,根据自定义接口文档生成基于testng框架的接口测试用例代码,该代码可直接用于研发过程的联调、自动化测试和冒烟测试 功能说明 根据标准sql文件生成mybatis-plus-join代码(只支持...

    公交查询系统测试用例.doc

    测试工作按照需求分析、用例设计、预测试、执行测试和缺陷跟踪的流程进行,预计在系统开发完成后进行为期两周的密集测试。 3 测试范围及目标 3.1 测试范围 测试范围涵盖系统的所有核心功能,包括但不限于: - 线路...

    (50条消息) 测试用例管理工具SynapseRT(jira插件)的具体使用(一)_Iam玉米的博客-CSDN博客_jira测试用例管理.mhtml

    (50条消息) 测试用例管理工具SynapseRT(jira插件)的具体使用(一)_Iam玉米的博客-CSDN博客_jira测试用例管理.mhtml

    附录K-2 测试用例.doc

    * 接口测试用例:用于测试软件的接口和API * 功能测试用例:用于测试软件的功能和性能 * 安全测试用例:用于测试软件的安全性和可靠性 五、测试用例的重要性 测试用例非常重要,因为它可以帮助开发者和测试者更好...

Global site tag (gtag.js) - Google Analytics