我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java如何编写接口测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java如何编写接口测试

本文小编为大家详细介绍“Java如何编写接口测试”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何编写接口测试”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

接口测试

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

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

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

应该怎么分析一个接口?

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

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

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

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

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

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

怎么确定用例的覆盖率?

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

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

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

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

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

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

接口测试发现的典型问题

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

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

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

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

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

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

如何编写接口测试用例?

创建接口测试用例:

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

Java如何编写接口测试

Java如何编写接口测试

Java如何编写接口测试

对上述代码进行分析:

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

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

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

注意:

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

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

集成测试报告

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

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

Java如何编写接口测试

对上述代码进行分析:

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

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

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

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

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

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

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

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

Java如何编写接口测试

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

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

Java如何编写接口测试

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

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

Java如何编写接口测试

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

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

Java如何编写接口测试

读到这里,这篇“Java如何编写接口测试”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java如何编写接口测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java如何编写接口测试

本文小编为大家详细介绍“Java如何编写接口测试”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何编写接口测试”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、接口测试接口:主要是子模块或者子系统间交互
2023-06-05

java测试类如何编写

编写Java测试类有以下几个步骤:1. 导入所需的测试框架:通常使用JUnit测试框架来编写Java测试类,需要在测试类的开头导入JUnit相关的类。2. 定义测试类:编写一个公共类,类名以Test结尾,例如,如果要测试一个名为Calcul
2023-08-17

java如何编写测试类

在Java中,编写测试类的一种常见方式是使用JUnit框架。下面是一个简单的示例:1. 首先,确保你的项目中已经添加了JUnit库。你可以在项目的构建工具(如Maven或Gradle)中添加JUnit依赖。2. 创建一个新的Java类,该类
2023-08-31

python怎么编写接口测试文档

本篇内容主要讲解“python怎么编写接口测试文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么编写接口测试文档”吧!目录前言一、postman接口用例转换为python测试用例
2023-06-20

python编写的多线程接口并发测试

import requestsimport jsonimport threadingimport timeimport uuidclass postrequests(): def __init__(self): #产生U
2023-01-31

java怎么测试接口

现在大部分的java项目都是前后端分离,以前不分离的时候测试自己所做的界面都是直接启动界面输入数据打断点等进行调试,那现在前后端分离了,后端接口写好后如何测试自己的接口对不对呢?*test类——本地测试第一种方法就是写一个test类,调用Facade接口,并从
java怎么测试接口
2015-05-15

java怎么编写接口

在Java中,编写接口需要按照以下步骤进行:使用关键字`interface`来声明接口,接口的名称应该以大写字母开头,并且应该具有描述性的名称,以清楚地表示接口的用途。在接口中定义需要被实现的方法。方法的声明应该包含方法的返回类型、方法名
2023-10-26

如何在python中测试API接口

这期内容当中小编将会给大家带来有关如何在python中测试API接口,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt
2023-06-14

如何编写干净的集成测试

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《如何编写干净的集成测试》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!问题内容
如何编写干净的集成测试
2024-04-04

如何在 Go 中编写示例测试?

从现在开始,我们要努力学习啦!今天我给大家带来《如何在 Go 中编写示例测试?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!问题内容我正在
如何在 Go 中编写示例测试?
2024-04-04

Linux如何测试udp端口连接

在Linux上,你可以使用`netcat`命令来测试UDP端口的连接。以下是测试UDP端口连接的步骤:1. 打开终端(命令行界面)。2. 输入以下命令:```shellnc -u ```替换``和``为要测试的UDP端口的IP地址和端口号
2023-10-11

springboot vue接口测试定义编辑功能如何实现

本文小编为大家详细介绍“springboot vue接口测试定义编辑功能如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot vue接口测试定义编辑功能如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-06-30

如何为 Golang 函数文档编写测试?

编写 go 函数文档测试的语法:测试名称包含 example 前缀。测试代码说明函数预期行为。断言验证函数返回值与预期相同。测试覆盖函数的不同使用情况。编写测试有助于改进函数文档,通过示例展示函数使用方式。如何为 Golang 函数文档编写
如何为 Golang 函数文档编写测试?
2024-05-06

golang函数的测试用例如何编写?

在 go 中编写函数测试用例涉及使用 testing 包,它提供了定义测试用例 (func test) 和报告失败的函数 (t.error)。单元测试隔离测试单个函数,而集成测试关注与其他组件的交互。示例测试用例展示了如何使用 testin
golang函数的测试用例如何编写?
2024-04-26

如何利用python进行接口测试

这篇文章主要讲解了“如何利用python进行接口测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用python进行接口测试”吧!接口测试的坑第一个坑:POST 和 GET----GE
2023-06-30

java抽象类如何写单元测试

在Java中,可以使用JUnit框架来编写单元测试。对于抽象类,可以编写一个具体的子类来测试抽象类的方法。以下是一个示例:1. 创建一个抽象类:```javapublic abstract class AbstractClass {publ
2023-08-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录