-
2021-07-12 17:26:28
1、单元测试注重代码逻辑,接口测试注重业务逻辑;
2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;
3、单元测试是白盒测试,接口测试是黑盒测试;
4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实现逻辑通过就行;接口测试因为关注业务,所以测试范围较广,会用更多的测试数据去测试
更多相关内容 -
【分享】开发中的单元测试、模块测试、接口测试是什么?
2021-03-03 16:55:14一线开发同学,可能或多或少都造成过线上bug甚至故障。打几个比方,某同学在开发某功能的时候重构了代码,造成了线上bug或者故障;...测试的方式,一般是两种,人工测试和自动化测试。随着测试技术和工具的持续一线开发同学,可能或多或少都造成过线上bug甚至故障。打几个比方,某同学在开发某功能的时候重构了代码,造成了线上bug或者故障;在开发某个功能时,发现需要修改公共逻辑,害怕影响到其他功能,非常不雅观地拷贝代码,重新写套单独逻辑来支持。 上面的情况都包含了一个关键的问题,无论是功能开发还是逻辑重构,如何来保障代码开发的质量。 保障的方法每个人都知道,就是测试。 首先是新功能测试,保障新功能逻辑正确;其次是回归测试,保障原有业务功能逻辑正确。测试的方式,一般是两种,人工测试和自动化测试。随着测试技术和工具的持续发展,人工测试比例逐步降低,被自动化测试逐步替代。自动化测试是可持续和可重复的,甚至是可AI化的。
测试分层
测试也是分层的,如下图所示:
在一个系统内,自动化测试一般分单元测试、模块测试和接口测试。
单元测试 单元测试的要求基本上是单个类单个方法的测试,在我们当前模式下,编写成本太高。当然,如果是一个工具或者一段比较内聚而又复杂的逻辑(例如算法逻辑),还是应该使用单元测试来保障逻辑的正确性。 模块测试 在系统比较大、模块比较多的情况下,可以建立模块测试层,保障各模块功能的正确性。不过当前的系统发展趋势是微服务架构,因此模块测试层并非十分必要,可以通过接口测试层来覆盖。 接口测试 这一层,是从系统入口出发进行集成测试。应用入口通常是框架服务,消息,定时任务。 在所有的开发测试中,接口测试是必不可少的一项。有效且覆盖完整的接口测试,不仅能保障新功能的开发质量,还能让开发在修改功能逻辑的时候有回归的能力,同时也是能优雅地进行重构的前提。同时,易测性也是代码结构合理的一个指标,如果发现一段代码编写测试脚本困难或者无法测试,那就说明当前代码结构不合理需要重构。
执行效率
对于接口测试,执行效率是不得不关注的一个点,若一个接口测试执行3分钟以上才能看到结果,会大大降低开发同学编写接口测试的热情。对于测试执行效率提高,建议的方案为: 1、及时更新或编写是自动生成API文档 2、使用合适的自动化测试工具如Eolinker
-
python requests模块 接口测试实例
2018-09-22 14:54:55jmeter可以用来做接口测试,requests模块也可以做,个人更喜欢用request模块做接口测试,敲代码的感觉很爽,哈哈,废话少说。下面我用python requests模块来测试接口,代码如下: import unittest import requests...上个文章是用jmeter测试接口
jmeter可以用来做接口测试,requests模块也可以做,个人更喜欢用request模块做接口测试,几行代码就搞定一个接口,比使用jmeter方便多了,废话少说。下面我用python requests模块来测试接口,代码如下:import unittest import requests,json class ApiTest(unittest.TestCase): @classmethod def setUpClass(self): self.url = 'http://xxxxxxxxxxxxx' @classmethod def tearDown(self): pass def test_1_register(self): '''注册接口''' path = '/xxxxx' data = {'username':'shawnxie','password':'123456', 'password_confirmation':'123456'} r = requests.post(url=self.url + path, json=data) self.assertEqual(r.status_code,200) self.assertEqual(r.json()['username'],'shawnxie') def test_2_login(self): '''登录接口''' login_path = '/xxxxx' data={'username': 'shawnxie', 'password': '123456'} r_login = requests.post(url=self.url + login_path, json=data) self.assertEqual(r_login.status_code, 200) self.assertEqual(r_login.json()['username'], 'shawnxie') def getToken(self): '''获取token''' login_path = '/xxxxxx' data = {'username': 'shawnxie', 'password': '123456'} R = requests.post(url=self.url + login_path, json=data) return R.json()['token'] def test_3_get_allTask(self): '''获取所有任务接口''' get_allTask_path = '/xxxxxx' get_allTask = requests.get(url=self.url + get_allTask_path, headers={'Authorization': 'Bearer ' + self.getToken()}) self.assertEqual(get_allTask.status_code, 200) def test_4_create_task(self): '''创建任务接口''' create_task_path = '/xxxxx' data = {'title': 'shawnxie', 'desc': 'shawnxie'} create_task = requests.post(url=self.url + create_task_path, json=data, headers={'Authorization': 'Bearer ' + self.getToken()}) self.assertEqual(create_task.status_code, 200) def getId(self): '''获取任务id''' create_task_path = '/xxxxxxx' data = {'title': 'shawnxie', 'desc': 'shawnxie'} create_task = requests.post(url=self.url + create_task_path, json=data, headers={'Authorization': 'Bearer ' + self.getToken()}) return create_task.json()['id'] def test_5_DeleteTask(self): delete_task_path = '/xxxxxx/:{0}'.format(self.getId()) delete_task = requests.delete(url=self.url + delete_task_path, headers={'Authorization': 'Bearer ' + self.getToken()}) self.assertEqual(delete_task.status_code, 200) def test_6_putTask(self): put_task_path = '/xxxxx/{0}'.format(self.getId()) put_task = requests.put(url=self.url + put_task_path, headers={'Authorization': 'Bearer ' + self.getToken()}) self.assertEqual(put_task.status_code, 200) if __name__ == '__main__': unittest.main(verbosity=2)
-
python-requests模块接口测试,服务器返回500(已解决,解决方法postman导出对比)
2020-07-07 09:25:34使用postman跑通的接口,用python一直报错 使用postman可以成功 此图为python报错 {'timestamp': '2020-07-06 18:25:02', 'status': 500, 'error': 'Internal Server Error', 'message': 'syntax error, pos 1, ...使用postman跑通的接口,用python一直报错
使用postman可以成功
此图为python报错
{'timestamp': '2020-07-06 18:25:02', 'status': 500, 'error': 'Internal Server Error', 'message': 'syntax error, pos 1, json : bizContent=mobile&bizContent=verifyCode&bizContent=equipmentId&bizContent=noncestr&bizContent=timestamp&bizContent=sign', 'path': '/rest/noAuth/member/login'}
解决方法:朋友告知postman可以导出代码。。。我竟然不知道
代码的json串一定要转义。。。不然不能识别,为自己点赞
(postman真好使) -
是德科技 KEYSIGHT_400G 光模块的 PAM4 电接口测试— 标准解读与测试方案-综合文档
2021-05-15 01:55:38是德科技 KEYSIGHT_400G 光模块的 PAM4 电接口测试— 标准解读与测试方案 -
二十八、100G光模块接口测试方法
2020-03-22 19:32:53现代示波器高级应用:测试及使用技巧 二十八、100G光模块接口测试方法 1.CEI测试背景和需求 现如今,越来越多的人利用各种移动终端或PC设备在网上观看高清视频、使用云存储的各种功能、享受3D游戏带来的乐趣、或者... -
单元测试注重点(1 模块接口测试2 模块局部数据结构测试 3 模块中所有独立执行通路测试 4 模块的各条错误...
2009-03-06 13:35:01本文介绍了单元测试(1 模块接口测试;2 模块局部数据结构测试;3模块中所有独立执行通路测试 ;4 模块的各条错误处理通路测试;5 模块边界条件测试。)中应该注意的重点 -
金融项目接口测试用例
2018-12-28 00:35:21充值模块,提现模块,项目新增模块,审核模块,投标模块,生成回款,获取各种列表信息等。 -
接口测试及常用接口测试工具
2022-01-13 21:26:02首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的...程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖 -
使用 Jmeter 做 Web 接口测试
2016-02-03 15:55:13转载地址:... 接口测试概述 定义 API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration -
接口测试面试题
2022-03-21 23:31:562、什么是接口测试? 3、接口组成的要素有哪些? 4、Python的requests包是干什么的? 5、如何使用Python的requests包? 6、为什么开展接口测试? 7、为什么要写接口测试用例? 8、接口测试用例设计主要考虑... -
Django之Restful接口测试-Django自带测试模块(七)
2019-04-27 20:27:05上章博客写的Restful接口测试使用的是python里的Unittest测试框架,而本章使用Django自带的测试模块。 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。类名为django.test.TestCase... -
什么是接口测试?怎样做接口测试?
2018-08-20 11:17:31扫盲内容: 1.什么是接口? 2.接口都有哪些类型?...接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议... -
接口测试测什么?保姆式解读
2022-04-06 14:30:49程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如电商系统,有登录模块、提交订单模块等等,要支付就必须先登录,那么这两个模块就得有交互,系统内部就会通过一个接口进行数据交互... -
接口测试工具Postman接口测试图文教程
2018-07-11 13:10:03市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。 -
10G光模块测试.pdf
2019-09-05 20:53:02分别介绍了10G光接口模块测试标准;10G光接口测试需求及解决方案;10G光接口测试常见问题。 -
接口测试与接口测试自动化
2021-01-09 18:33:22四、接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又... -
接口测试基础
2021-09-24 08:58:05接口测试基础 -
【接口测试实战(三)】接口测试用例的编写
2021-05-29 19:50:11文章目录1)接口测试发现的典型问题2)接口测试用例设计2.1 针对输入设计常见参数类型有:2.1.1 数值型常见问题和风险:设计举例:2.1.2 字符串型常见问题和风险:设计举例:2.1.3 数组或链表类型常见问题和风险:... -
【接口测试实战(一)】搭建接口测试环境
2021-05-28 21:07:14文章目录0)项目环境准备1)项目部署1、解压项目后,用Pycharm打开项目2、安装项目依赖的模块pip 安装依赖 requirements.txt安装过程中遇到"No ...《【接口测试实战(零)】接口测试简介》 0)项目环境准备 开始接 -
接口测试--接口基础概念、HTTP协议、接口测试风格、接口测试流程
2022-03-12 14:42:35接口:系统与系统之间,组件与组件之间实现数据交互、传递的通道 接口类型:硬件接口和软件接口 软件接口类型 按范围分 系统之间的接口 内部系统之间的交互; 外部系统之间的交互;...接口测试... -
接口测试需要怎么做?
2021-09-11 17:13:03接口测试需要怎么做?什么是接口测试?接口测试到底测什么?如何进行接口测试?SSL-Pinning的问题及解决方案接口测试自动化回归测试接口自动化回归测试方案接口测试的更多可能参考文献 关注【郑大钱呀】[公][众][号]... -
电商网站测试点 还需要整理
2020-12-20 22:40:46按照测试类型 2.按照电子商务网站的系统架构1.按照测试类型来划分1.兼容性1.1主要是在浏览器兼容(360浏览器IE6 IE8浏览器)12.操作系统,主要体现在操作系统兼容(xp win2003 win2007)2.UI测试2.1检查连接是否正确2.2... -
接口测试 & Jmeter面试题
2021-11-11 19:24:03一、接口测试 1、接口测试流程 1、首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。 2、然后使用Postman或Jmeter工具执行接口测试,一般使用... -
接口测试常见问题
2021-10-09 22:42:52接口测试常见问题 原文地址:接口测试常见问题 接口测试需要考虑的点/如何设计接口测试的用例? 接口测试用例编写除了使用功能测试中最基本的等价类,边界值,因果图,错误推测,场景设计等方法外,还要考虑一些... -
接口测试之功能测试,性能测试,安全测试
2022-04-04 22:12:02绕开前端界面,组织接口所需要的数据,展开接口测试。 2,业务场景功能 二,性能测试 1,响应时长 2,吞吐量 3,并发熟练 4,服务器资源利用率 三,安全性测试 1,攻击安全 2,业务安全 一,功能测试 1... -
接口测试常用工具及测试方法(基础篇)
2021-11-19 13:59:46接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 -
接口测试用例设计
2022-03-07 20:04:55随着测试分析和分层测试的深化,“接口测试”...接口测试:是指针对模块或系统间接口进行的测试。 1.2 接口测试发现的典型问题 接口测试经常遇到的bug和问题,如下: (1)传入参数处理不当,导致程序crash; (2)类. -
接口测试的原理,什么是接口测试?为什么要做接口测试?如何开展接口测试?
2019-06-02 22:12:28软件接口测试中的接口特指API接口 接口测试又称API测试 接口实例:系统与系统间的接口调用,作用:实现了两个或多个独立系统或模块间的通信和数据交换能力。 常见的Web接口类型 REST接口——通过HTTP的get和post... -
手把手教你做接口测试
2022-03-16 10:37:03接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 简答的...