如何简单设计接口测试用例

author author     2023-03-18     430

关键词:

接口测试是项目测试的一部分 ,它测试的主要对象是接口 ,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。 如何设计接口测试用例?首先,明确出发点,和所有的测试一样 ,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向 ,你的设计行为就会尽量朝这个方向,更易发现问题 其次,选择好测试对象。对于一个系统做接口测试选择好的测试对象是接口测试关键。一个系统有无数的接口 ,每个接口如果分别测试 ,那将是很痛苦的一件事情,而且任何一个内部接口的变动 ,都将导致我们用例的不可用。 可将这些最外层的接口分为两类:一类是数据进入系统的接口;一类是数据流出系统的接口。进入系统的接口实际是我们用例的执行调用的接口。可通过变化参数对这些接口进行调用 ,模拟外部的使用;而流出的接口则是我们用例真正该验证的点。数据从哪里流出,流出时的状态如何 ,此时系统又是什么状态都是我们所应该验证的。 然后,确认完整的测试对象的功能:确认外部接口提供给使用这些接口的外部用户什么样的功能,外部用户真正需要什么样的功能。此两个功能一定要准确详细,用例的设计要严格按照测试对象功能设计才是正确的用例。 最后当出发点、对象、功能都确定了,就可以真正设计用例了。下面详细介绍下如何去设计一个结构好、可读性高、渗透性强的接口测试用例。 接口测试用例设计和测试用例设计一样,用例设计的内容应该包括:主要测试功能点、测试环境、测试数据、执行操作以及预期结果。 1)接口测试环境分为两种:一种是程序内部的环境;一种是程序的所调用外部接口的环境。 2)接口测试测试数据分为接口参数数据和用例执行所需系统数据。数据的设计、准备测试用例的数据上需要花费更多的心思。要通过好的测试数据使用例查找问题。接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列 ,不要遗漏了某些边界值和错误点的数据。每个用例执行所需系统数据和接口参数数据尽可能的采用不一样的数据 ,使用例更容易发现问题。 3)测试功能点,如果一个接口功能复杂时推荐对接口用例进行结构划分 ,这样子用例具有更好的可读性和维护性。接口划分原则为以接口提供的功能点的不同进行合适粒度的划分。同一功能点的用例又可根据测试环境的不同、数据的不同进行用例的填充。 4)接口测试用例执行操作非常简单,就是所测接口的调用。 5)预期结果验证,这也是接口用例设计的很关键的一步 ,应该细而不冗余。每个用例均需验证 ,避免一个用例中重复做相同的验证 ,提高测试用例的效率。 如何设计接口测试用例小例子: 简单划分可以按照2个基本组成要素进行划分:1. 参数 2. 业务 以下为最简单的一种划分用例的方法,可能涵盖不全,但只为说明一种划分接口用例的方法方式以及需要考虑的测试用例的测试点 为何要如此设计,是为了更好的将用例分类为程序规定型以及业务限制型,尽量的保证覆盖,尽量细化到点的划分形式来保证工作时间的预估和计划。 所有的自动化接口的测试用例 都基本围绕三部曲进行,传数据,执行,校验返回的数据和期望数据是否一致来构成每个简单的测试用例。 有清晰的线路和清晰的思维,才能做好整体测试的掌控。 参考技术A 根据以往的工作经验,接口用例设计主要从以下三个方面来进行设计:
1 输入
输入参数主要从以下几各方面设计:
a 必填项校验
接口文档中有是否必填的说明。参考接口文档即可。
b 参数长度校验
参考接口文档即可。
c 参数值的有效性校验
如:身份证号的校验 ,设计的数据虽然符合身份证号的规则,但是并不是真实有效的身份证号;这种情况就要看身份证号的校验规则是什么样了,一般都是用的现成的身份证号校验器,但是有些是自己写的校验算法,这个本人就遇到过这种问题---校验算法写的不正确;
所以参数有效性的校验就需要结合实际业务场景,判断哪些数据是真实有效的数据,一定要确保所有真实有效的数据是可以验证通过的。
d 参数组合校验
不同的参数组合可能会存在不同的业务场景;

e 如果参数是枚举值,一定要各种枚举值都要测试,因为可能不同的枚举走的不同的业务流程;
f 参数值的默认值的校验
参考接口文档。
g 某些参数具有特定的生成规则,要单独针对生成规则设计用例,一定要保证真实有效的数据是可以验证通过的。
如身份证号中间几位 ******19860701****,本人就遇到过输入******19861001****这种值校验不正确;
2 接口逻辑
接口逻辑我用的设计方法是分支覆盖--->路径覆盖--->场景覆盖,同样也是要结合实际业务场景,根本不发生的业务场景就是无效的测试用例。
a 第一步先把业务流程图画出来;
b 依据路程图中的分支分别设计,不同分支不同的场景,这里就要把异常的场景考虑进去;如接口超时,接口异常,接口请求成功或失败,成功后怎么处理,失败后流程是否继续执行,失败后的数据怎么处理;
以打款接口为例:
打款结果有打款成功或打款失败,成功后怎么处理,需要回写打款成功状态,失败后怎么处理,也需要回写失败状态,失败后的数据可以操作退回,也可以操作重新出款等等;如下
c 测试逻辑设计完成后要想一想不同的业务场景怎么去测试,需要哪些人员协助,
如接口超时怎么去测试,请求重复怎么去测试,请求并发怎么去测试
3 输出
输入结果:正常输出和异常输出,常用的方法有错误推断法(列举出程序中可能存在的错误或者异常,根据他们选择测试用例)
4 以上都完成后,要结合实际的业务场景去掉冗余的用例(即实际业务场景不存在的流程或者输入数据);
5 如果业务流程涉及到状态转换,要单独设计用户---方法:状态转换图;
6 涉及到多个不同金额或者手续费的计算,可能还会用到正交实验法去设计用例;
7 另外,用例设计中还应当包含异常流程中产生的异常数据的处理流程;---通常所说的补偿机制,这块流程能大大的减轻人工运营的工作量,当然,这需要在做系统设计的时候就需要把这部分考虑进去;

如何简单设计接口测试用例

...、传递、和控制管理过程以及系统间的相互依赖关系等。如何设计接口测试用例?首先,明确出发点,和所有的测试一样,接口测试出发点是你要证明所测的程序是错误的。以这个出发点为导向,你的设计行为就会尽量朝这个方... 查看详情

服务端测试之接口测试用例设计

...一起具体看看这几个方面都是什么,在实际的项目中应该如何使用。一、功能性用例设计之前讲过,服务端的接口是和客户端的功能相对应的,对功能的验证,可以参照接口说明文档来进行。概括起来讲,就是我们需要验证接口 查看详情

在敏捷测试中如何设计用例

1.测试用例的粒度测试用例可以写得很简单,也可以写得很复杂。最简单的测试用例是测试的纲要,仅仅指出要测试的内容,如探索性测试(ExploratoryTesting)中的测试设计,仅会指出需要测试产品的哪些要素、需要达到的质量目... 查看详情

接口测试用例设计指导文档:新建查询修改删除功能以及流程等用例设计

一、功能点测试用例(单个测试用例)二、新建接口三、查询接口&查询列表接口四、修改接口&删除接口五、流程测试用例(组合测试用例)六、测试执行时,需注意的地方 查看详情

接口自动化测试测试用例设计

参考技术A浅谈接口自动化测试测试用例设计一、 前言  很多中台项目,大部分为接口测试。为了使新入职的测试同事尽快融入项目,以及迭代开发中方便管理测试用例。完成该总结。二、 测试用例设计思路 &#... 查看详情

接口测试方案怎么写

参考技术A问题一:如何做接口测试对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了(有文档更好,但大部分都没有);其次,自己去读开发的代码;然后,根据该接口功能及代码写测试用例;... 查看详情

如何设计单元测试用例

如何编写单元测试用例(白盒测试)。一、单元测试的概念        单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入(测试用例)测试函数是否功能正常,并且返回了正... 查看详情

如何对一个接口写测试用例

如何对一个接口编写测试用例」大多数接口测试,都习惯把接口当作黑盒进行测试,「如下图的测试用例也是按黑盒的测试方式去设计」。但是,接口测试也可以多关注接口本身的编码。没错,可利用白盒测试的... 查看详情

如何做好接口测试?

参考技术Asgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的测试是否集成在你的测试框架中?小刀:你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知... 查看详情

接口测试用例设计方法-摸索中

原则:覆盖、有效、不冗余  接口用例设计关注点  ●前提条件:比如一个发帖接口,前提是需要登陆  ●参数是否必填  ●参数间是否存在关联  ●参数取值范围  ●业务规则  单接口用例设计方法  接口测... 查看详情

如何设计与数据上下文无关的接口测试用例(代码片段)

我们在做接口测试的时候很可能设计出这样与数据关联的测试用例。比如deftest_create_user(self):user=create_user(name="fred",age=29)#调用创建用户的接口self.assertEqual(user['name'],'fred')deftest_get_user(self):user=get_last_created_user()... 查看详情

接口自动化之pytest——用例设计原则及执行顺序

一、用例设计原则pytest是如何查找测试用例的?总的来说,寻找测试用例遵循以下原则: 总结:—文件名是test_开头或者_test结尾。—测试类必须是Test开头。—测试函数、测试方法以test_开头。 二、用例执行顺... 查看详情

(转)腾讯tmq接口测试用例设计

...大家提供一个思路,但是实现成本太高了,因为一个接口设计的接口测试用例很多,一般公司的接口数量几百到上千不等,每一个接口都设计这么多测试用例,那么对于测试来说,这样的话会死人的!所以此篇文章旨在给大家一... 查看详情

接口测试用例设计思路-

接口测试用例设计思路1.分析接口拿到接口文档,分析接口。根据分配的任务,明确负责的接口有哪些。分析接口的请求方式(请求方式是post请求,需要明确正文文本类型是application/x-www-form-urlencoded还是application/json),请求地... 查看详情

测试工程师面试,接口测试问题总结

...组成的要素有哪些?4、Python的requests包是干什么的?5、如何使用Python的requests包?6、为什么开展接口测试?7、为什么要写接口测试用例?8、接口测试用例设计主要考虑哪些?9、接口测试用例包含哪些内容?10、接口测试如何设... 查看详情

(转)接口测试用例设计(详细干货)

...试”出现在我们视野的频次越来越高。那么接口测的用例设计常用哪些方法呢?本文将详细描述。1 接口测试   1.1 接口测试接口:主要是子模块或者子系统间交互并相互作用的部分。这里说的接口是广义的,... 查看详情

如何基于yaml设计接口自动化测试框架?看完秒会(代码片段)

...xcel这种方式大家都比较熟悉了,本文带着大家来了解如何基于YAML设计自动化测试框架。YAML格式测试用例设计以接口自动化为例,用YAML编写测试用例要实现的基本功能需求:1.一个YAML文件能够支持多个用例存储需求&#... 查看详情

第三章,平台开发设计与实现

   在第二章中我们简单地介绍了接口自动化平台的基本功能,主要包括以下几个方面:(1)接口文档管理功能:管理接口信息,包括增,删,改,查等。(2)用例管理功能:新建,展示,查询,删除,运行测试用例... 查看详情