• 0
  • 0
分享

接口测试用例是目前软件开发中不可或缺的一个重要部分,因此编写接口测试用例同样重要。

接口测试用例的作用非常明显,它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品是否存在可改善的问题以及对其他流程执行有影响的因素。通过编写清晰准确的接口测试用例,能够有效避免很多无法预料的问题出现。

在开始编写接口测试用例之前,需要注意几件事:

  • 确保你理解并准确衡量期望系统行为

  • 充分考虑使用者会怎么使用你的产品

  • 要将你所理解的客户端/后端对象明显列出来

  • 在运行之前应当充分测试所有代码

  • 在此过程中要定期总结

编写接口测试用例的步骤包括:

  • 明确测试目标: 根据客观要求和最终需求来明确测试目标。

  • 确定用例场景: 根据业务逻辑来分析出不同的测试场景,以及这些场景下的特定需求和期望结果。

  • 编写用例步骤: 根据上面所分析出的不同测试场景,编写具体的测试用例步骤。

  • 运行测试: 使用已定义好的测试用例运行对应的功能。

  • 检验结果并优化: 首先核对执行时间;然后核对期待结果是否一致;如有必要,可以修复 BUG 和优化代码。


常遇到的问题包括:

  • 沟通问题

  • 未能正确归零测试数据

  • 理解能力不够充分

  • 没有考虑真实业务情况(即使真实性无法量化)

举一个常见的业务场景来说明如何正确去写一个接口测试用例。假如一套新交易平台上, 由买卖方(买方A & 卖方B)共同就一样物品进行交易;买方A 需要递交 0.28ETH 电子币作为意向金, 并将物品 C 添加到平台; 要求卖方 B 14 天后将物品 C 邮寄到买方 A 处。如此,我们就可以将上述场景归零抽象化:

  • 测试: 添加物品 (C) 至平台上 。 期望结果: 此物品 (C) 已成功上传

  • 测试: 0.28 ETH 抵扣作。 期望结果: 抵扣成功,订单生成并显示

  • 测试: 卖方 B 14 天之后,将物品 C 邮寄至买方 A。 期望结果: 用户收到了正确的物品 C,订单状态完成

因此,在开发新的接口时必须保证旧的接口仍然能够运行。当写一个新的测试用例时要注意不要遗留问题,尽量避免测试失效情况出现。永远要记住: 良好的测试用例应当包含3部分: (1) 测试步骤; (2) 期望结果; 以及 (3) 预期后续行为。

同时,为了确保测试用例能够有效地执行,我们还要创建接口方法,根据具体的需求来调整和优化。此外,还要定义明确的出错边界,并将出错情况囊括其中。 当遇到类似问题时,尽量考虑多种可能性去寻找解决办法。以及在开发和调试的过程中要保持必要的文档! 及时、准确的文档是测试用例运作起来的重要因素之一。

其实现在有很多自动化的工具能帮测试人员快速完成接口测试的工作,从测试用例的编写到用例的测试执行,都可以高度自动化了。例如 Apifox 管理工具就可以实现从接口的设计到接口用例生成、接口自动化测试全流程的管理。

首先,你需要去 apifox.cn 注册账号,并且创建一个项目:

11.png


当开发在里面创建了一个接口后,测试人员直接在这个接口下直接保存不同状态用例,保存后就自动在左侧目录中出现。方便你枚举该接口下可能会出现的情况:

22.png


然后点击【自动化测试】,创建测试用例,从接口用例中导入相应的测试用例。还支持设置用例自动化循环的次数、测试时候的停顿时间等:

33.png


44.png


导入用例后,你可以选择将测试步骤绑定接口用例,这样就可以做到接口和你的测试用例信息是同步的。在每个测试步骤支持设置流程条件,实现自动化测试。设置好你运行的条件后,点击【运行】就可以自动跑起来了。此外,运行结束后测试的结果也展现在【测试报告】中。


55.png


这个工具最强大的地方在于,开发人员在这里可以自动生成接口文档,并且实时同步给测试,测试人员拿到的永远都是最新的接口数据,用同一份及时、准确的文档来保证后续的测试工作顺利开展,并且在测试出问题后及时同步和追溯。实践出真知,再多的理论也比不上自己实践去操作一遍理解来得快。


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 作为测试人员,项目涉及新功能,有的时候需要做横向的竞品分析,可能有人会说,竞品分析是产品要做的事情吧,测试人员为什么需要做呢?这好像不是自己的分内之事。其实不然,测试做竞品分析和产品的角度是不一样的,测试更应该从技术角度完成竞品分析。那么竞品分析应该从哪些方面着手呢?1、功能比较在本次要做的功能的功能点中,哪些点是竞品已有的,在大家都有这种功能的情况下,又做到了哪种深度,举个简单的例子,陌生来电拦截,虽然是现在大部分手机都有的功能,但是有的拦截是上层做的,有些是底层拦截的,最大的区别就是,上层拦截的陌生电话,还会产生一个拦截通知,如果是底层拦截的,手机上是看不出任何蛛丝马迹的。2、ui及动效比...
            1 1 11012
            分享
          • 背景因为工作需要,准备对接口做并发测试,工具是Postman(开发的时候比较好用,所以也就用它来做并发测试),搜索引擎搜了一下,发现大部分人说开一个Runner就可以了,实则不然,Postman的Runner是串行的,不管是设置多少次触发连接,或者是多种连接,Runner都是一个接一个串行的,那么应该怎么办来实现并发测试的?很简单啊,开多几个Runner就行了呗。步骤Postman其实操作不难,但还是在这描述一下如何开一个Runner,打开Postman,点击左上角的Runner。设置Runner然后多开几个Runner!多开几个Runner!然后考验手速的时候到了,快速地一个接一个点开,就可...
            0 0 1641
            分享
          • 1、添加线程组2、配置http信息头管理;使用json格式传递数据时,必须配置此项;3、添加httpcookie管理器,根据具体情况配置cookie信息,本例中未配置4、配置http请求默认值;同一个项目的接口请求放在一个线程组中,可配置请求默认值,这样无需在各接口请求中单独配置;5、配置http请求,就是具体请求的接口;本例中参数格式为json格式,使用bodydata;6、添加查看结果树,可查看接口执行情况整体的可看聚合报告Label:每个JMeter的element(例如HTTPRequest)都有一个Name属性,这里显示的就是Name属性的值#Samples:表示你这次测试中一共发出...
            13 13 1926
            分享
          • 一、前言应用程序访问与操作数据库,需要与数据库建立一条连接。但建立数据库连接是一个比较消耗时间和资源的过程。尤其在多并发访问时,会造成数据库连接频繁的创建与关闭,导致程序性能急剧下降,严重时可以造成应用程序崩溃。目前最常用的解决方案是使用数据库连接池管理数据库连接。数据库连接池是数据库连接对象的缓存技术,负责分配、管理、释放数据库连接。应用程序在启动时创建指定数量的数据库连接组成数据库连接池,由应用程序动态的对池中的连接进行复用、增加和释放。连接池技术避免了重复创建和关闭数据库连接带来的消耗,极大的复用了内存资源,从而提高了程序的运行效率。二、数据库连接池测试1、测试背景我司因数据库连接池的选...
            0 1 1743
            分享
          • 一、Jmeter简介Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。Jmeter具备高移植性,可以实现跨平台运行。Jmeter可以实现分布式负载。Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。Jmeter具有较高扩展性。二、Jmeter安装安装JDK,必须JDK1.7以上的版本,推荐1.8的版本;进入官网:http://jmeter.apache.org/download_jmeter.cgi 下载最新的Jmeter版本,下载后解压到非中文目录,如:D:\;配置Jmeter的环境变量;(1)&nb...
            0 0 1253
            分享
      • 51testing软件测试圈微信