超详细的接口测试用例编写

这篇具有很好参考价值的文章主要介绍了超详细的接口测试用例编写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自动化始终只是辅助测试工作的一个手段,对于测试人员而言,测试基础和测试用例的设计才是核心。如果测试用例的覆盖率或者质量不高,那将这部分用例实现为自动化用例的意义也就不大了。

那么,接口测试用例应该怎么编写呢?

1、接口测试

接口: 主要是子模块或者子系统间交互并相互作用的部分。

这里说的接口是广义的,客户端与后台服务间的协议;插件间通信的接口;模块间的接口;再小到一个类提供的方法;都可以理解为接口。因此,可以分析,系统间的接口包含三部分:输入、处理逻辑、输出。

接口测试: 是指针对模块或系统间接口进行的测试。

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

自动化测试篇—什么样的人适合robotframework框架

2、应该怎么分析一个接口?

获取接口文档: 和黑盒测试一样,我们是从需求文档中去挖掘测试点,设计测试用例。对于接口测试,同样是有对应的接口文档的。

分析接口文档,提取测试点:

1)输入: 接受哪些参数、参数的类型、可选参数和必选参数等;根据输入参数采用等价类、边界值分析法等进行设计;

2)业务逻辑:对于一个接口,不同的输入参数或组合,流程或状态的转移是不同,可以根据业务逻辑画出流程图或状态转移图,确保每种状态至少被访问了一次;

3)输出:根据文档规定的输出,反向设计测试数据,使所有的输出状态都被包含了;

测试用例: 同时对输入、业务逻辑、输出进行考虑时,肯定会存在用例的冗余,在最大限度覆盖业务功能和规则下,选取最优用例集合。同时,需要考虑异常数据和场景。

3、怎么确定用例的覆盖率?

在没有特殊要求的情况下,至少需要考虑以下内容:

1)业务功能覆盖是否完整

2)业务规则覆盖是否完整

3)参数验证是否达到要求(边界、业务规则)

4)接口异常场景覆盖是否完整

如果接口需求还包含性能或者安全要求,还要对接口进行性能测试和安全测试,就需要考虑:性能指标是否满足要求、安全指标是否满足要求。

4、接口测试发现的典型问题

接口测试经常遇到的bug和问题,如下:

(1)传入参数处理不当,导致程序crash;

(2)类型溢出,导致数据读出和写入不一致;

(3)因对象权限未进行校验,可以访问其他用户敏感信息;

(4)状态处理不当,导致逻辑出现错乱;

(5)逻辑校验不完善,可利用漏洞获取非正当利益等。

5、如何编写接口测试用例?

创建接口测试用例:

http:///home/csg/pyrequest-master/interface/add_event_test.py

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

对上述代码进行分析:

1、在接口测试之前,调用test_data.py文件中的init_data()方法,初始化数据库中的测试数据;

2、创建AddEventTest测试类,继承unittest.TestCase类;

3、创建测试用例,调用添加发布会接口,并验证接口返回的数据;

注意:

1、把JSON格式的结果转化为字典赋值给self.result变量,加self的目的是在tearDown()方法中打印self.result变量,打印的结果可以在测试报告中显示,即将接口返回数据打印出来;

2、如果不使用self,又想在报告中显示每个接口返回数据,就只能是在每个用例中print出result,相比来说,还是第一种方法比较方便。

集成测试报告

当用例数量较多,就需要分类管理和执行,为解决这个问题,unittest单元测试框架提供了discover()方法,然后再适用HTMLTestRunner生成HTML格式的测试报告。

创建/home/csg/pyrequest-master/interface/run_tests.py文件:

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

对上述代码进行分析:

1、还是先调用test_data.py文件中的init_data()函数来初始化测试数据;

2、unittest框架提供的discover()方法查找interface目录下,匹配到文件名*_test.py结尾的测试文件;

3、now按一定格式生成当前时间;

4、将文件名命名为now当前时间_result.html并且保存report目录下;

5、HTMLTestRunner为unittest单元测试框架的扩展,利用它提供的HTMLTestRunner()类来代替unittest单元测试框架的TextTestRunner()类,运行discover中匹配到的测试用例,生成HTML格式的测试报告;

运行测试脚本:python run_tests.py:

1、可能需要安装configparser库,pip install configparser;

2、在运行过程中,出现了错误:

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

应该是数据表里create_time字段需要一个默认值,于是修改test_data.py文件,给每个测试数据都增加create_time默认值为当前时间,再次运行就没有这个错误了;

3、但是继续执行又出现了错误:

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

问了下度娘,应该是读取文件的时候使用的是ASCII编码,而不是utf-8,自己多余,在每个测试用例的开头都增加了-*- coding:utf-8 -*-,画蛇添足了,去掉后再次运行就没这个错误了;

4、但是运行结果全部是failed的,查看具体的error信息:

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

原来还是要在每个测试数据前加上utf-8编码的声明,但是每个用例的注释信息不能是中文,奇怪了,没深入研究,反正都修改为英文后,再次运行成功了。

完整的自动化测试报告如下图所示:

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

6、总结

其实,我自己完全的封装了一个类似Robot的工具,这个好处是抛开了框架的束缚,可以自由的编写测试用例的内容,只要是python的代码,就可以采用这个工具,自由发挥测试内容,并且结果的展示也比较丰富和友好,如果不打算研究Robot的,其实可以用这个工具。

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

超详细的接口测试用例编写,python,测试用例,软件测试,自动化测试,功能测试,测试工具,接口测试

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。文章来源地址https://www.toymoban.com/news/detail-736491.html

到了这里,关于超详细的接口测试用例编写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 软件测试|详解 Pytest 参数化:简化测试用例的编写

    软件测试|详解 Pytest 参数化:简化测试用例的编写

    简介 Pytest 是一个广泛使用的 Python 测试框架,它提供了丰富的功能来编写和执行测试用例。其中一个强大的特性是参数化,它允许我们通过一种简洁的方式运行多个输入参数的相似测试用例,从而减少冗余的代码。本文将详细介绍 Pytest 的参数化功能以及如何使用它来简化测

    2024年01月20日
    浏览(16)
  • 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例

    目录 前言 一 概述 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 三 测试用例设计方法 3.1 等价类划分法: 3.2 边界值分析法: 3.3 因果图法: 3.4功能图法 3.5错误推测法 四 测试用例编写规范 4.1测试用例命名规则 4.2测试用例编号规则 4.3测试用例文档书

    2023年04月26日
    浏览(9)
  • 软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例

    软件测试学习(四)自动测试和测试工具、缺陷轰炸、外包测试、计划测试工作、编写和跟踪测试用例

    目录 自动测试和测试工具 工具和自动化的好处 测试工具 查看器和监视器 驱动程序 桩 压力和负载工具 干扰注入器和噪声发生器 分析工具 软件测试自动化 宏录制和回放 可编程的宏 完全可编程的自动测试工具 随机测试:猴子和大猩猩 使用测试工具和自动化的实质 缺陷轰炸

    2024年02月08日
    浏览(12)
  • 超详细的接口测试用例编写

    超详细的接口测试用例编写

    自动化始终只是辅助测试工作的一个手段,对于测试人员而言,测试基础和测试用例的设计才是核心。如果测试用例的覆盖率或者质量不高,那将这部分用例实现为自动化用例的意义也就不大了。 那么,接口测试用例应该怎么编写呢? 接口: 主要是子模块或者子系统间交互

    2024年02月06日
    浏览(6)
  • 接口测试用例怎么编写?给你一个最详细的模板要不要?

    接口测试用例怎么编写?给你一个最详细的模板要不要?

    目录 接口测试用例 总部用户同步接口 添加组织 添加用户 删除组织 删除用户 更新组织 更新用户 应用系统同步用户接口 根据组织编码获取用户 根据系统编码获取用户 构型数据的集成 获取构型数据接口 编制人 薛郝 审定人 时间 用例名称 添加组织 接口名称 urn:orgservice 项目

    2023年04月08日
    浏览(11)
  • python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路。 我们在百度搜索 天气查询 ,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接口测试用例脚本。 针对某个功能做接口测试,首先我们需

    2024年02月04日
    浏览(11)
  • 【软件测试】测试用例

    【软件测试】测试用例

    目录 🌷1. 测试用例的基本要素 🌷2. 测试用例的设计方法 🌳2.1 基于需求进行测试用例的设计 ⭐️(1)功能需求测试分析 ⭐️(2)非功能需求测试分析 🌳2.2 具体的设计方法 (黑盒测试) ⭐️(1)等价类 ⭐️(2)边界值 ⭐️(3)错误猜测法 ⭐️(4)场景设计法 ⭐️

    2023年04月15日
    浏览(8)
  • 软件测试测试用例

    软件测试测试用例

    等价类: 把输入的数据可以分为有效的数据和无效的数据 被测试的对象输入的数据: 1、有效的数据 2、无效的数据 测试一个产品,需要考虑它的正确场景,也需要考虑它的异常场景 边界值: 边界值测试用例是针对等价类测试用例方法的补充,因为等价类测试用例的方法只考

    2024年02月16日
    浏览(9)
  • 软件测试的测试用例

    软件测试的测试用例

    黑盒测试:把代码看成一个黑盒子,只关心输入和输出结果之间的关系 产品功能是否符合要求; 白盒测试:能够看到代码本身,针对代码本身进行测试,测试代码本身的逻辑是否符合规范。 2.1 测试用例的基本概念         基于需求设计测试用例是测试设计和开发测试用例

    2024年02月07日
    浏览(9)
  • 软件测试之测试用例

    1. 测试用例定义 测试用例又叫做test case,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 2. 编写测试用例的原因 2.1 理清思路,避免遗漏 如果测试的项目大而复杂,我们可以把项目功能细分,根据每一

    2024年02月09日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包