接口测试

关于接口测试

吃可爱长大的小学妹 提交于 2019-12-10 03:19:19
一、对于接口测试来说 项目测试用例的重复运行首先是表现在单个测试用例的独立性方面的,也就是说,每一个测试用例的运行除了依赖被测对象和对应的数据库环境外,是不依赖于其他任何测试用例的,并且这个测试用例执行完毕后,对系统来说,也是没有任何痕迹的,这样就保证了每个测试用例运行时,都在一个干净的环境中运行。 要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,还需要对测试用例进行详细的设计。 另外,要保证测试用例的重复使用,还需要做到测试用例的及时更新,在这个方面,我们是做接口测试的人会维护对应的系统的接口测试用例,要保证,代码每次更新,测试用例都必须全部执行通过。 接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,所以,为了保证覆盖率,可能会使用到单元测试的方法,具体的测试用例设计,我考虑的如下,请参考,如果有错误,一起讨论。 输入参数测试:针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法,输入参数不合法,输入参数为空,输入参数为null,输入参数超长。 功能测试:接口是否满足了所提供的功能,相当于是正常情况测试

如何做好接口测试?【转载】

半腔热情 提交于 2019-12-10 02:21:34
sgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的 测试 是否集成在你的测试框架中?    小刀: 你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知理解的是否正确,那么根据这个理解,我的解释是,在我们框架中,增加了很多的功能方法用来帮助进行自动化脚本的编写和结果校验,其中就包括后台数据校验方法,当我们的 测试用例 需要在后台进行数据校验的时候,调用这些数据校验方法即可。相当于是,前台页面操作的自动化是封装selenium的方法去操作页面,而对后台数据的校验是通过增加功能方法来实现的,可以理解为不同的两部分,但是在编写测试脚本的似乎,根据测试用例的设计,这两部分都可以拿过来使用。   不知道是否解答了你的疑问,如果没有,请你指出,谢谢你。 tjy688:你们做 接口测试 的流程一般是怎么样的?    小刀: 接口测试的流程其实和 功能测试 的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。   需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。   在开发完成接口定义之后

jenkins+ant+jmeter搭建持续集成的接口测试平台实例

假装没事ソ 提交于 2019-12-10 02:12:32
一、什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。 接口测试实施在 多系统 多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。 基于接口测试的重要性,以及它比较容易自动化的特性,通过持续集成的接口监控能够及时的发现项目中存在的问题,这对持续运营的项目来说,非常重要。 二、接口测试的流程 1、 项目启动后,测试人员要尽早找到开发人员拿到接口测试文档 2、 获取接口测试文档后,就可以进行接口用例的编写和调试 3、 接口用例编写调试完成后,部署到持续集成的测试环境中, 4、 设定脚本运行频率,告警方式等基本参数,进行接口的日常监控 5、 每日进行接口脚本的维护更新,接口异常的处理 三、编写接口测试脚本 大部分性能工具都可以用来进行接口测试,jmeter就是一个好用的性能测试工具,他也同样可以用来进行接口测试,jmeter比较适用于CGI

如何做好接口测试?

坚强是说给别人听的谎言 提交于 2019-12-10 02:12:21
sgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的 测试 是否集成在你的测试框架中?    小刀: 你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知理解的是否正确,那么根据这个理解,我的解释是,在我们框架中,增加了很多的功能方法用来帮助进行自动化脚本的编写和结果校验,其中就包括后台数据校验方法,当我们的 测试用例 需要在后台进行数据校验的时候,调用这些数据校验方法即可。相当于是,前台页面操作的自动化是封装selenium的方法去操作页面,而对后台数据的校验是通过增加功能方法来实现的,可以理解为不同的两部分,但是在编写测试脚本的似乎,根据测试用例的设计,这两部分都可以拿过来使用。   不知道是否解答了你的疑问,如果没有,请你指出,谢谢你。   tjy688:你们做 接口测试 的流程一般是怎么样的?    小刀: 接口测试的流程其实和 功能测试 的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。   需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。   在开发完成接口定义之后

SoapUI简介和入门实例解析

China☆狼群 提交于 2019-12-10 01:45:15
SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。 SoapUI是一个自由和开放源码的跨平台功能测试解决方案。通过一个易于使用的图形界面和企业级功能,SoapUI让您轻松, 快速创建和执行自动化功能、回归、合规和负载测试。在一个测试环境,SoapUI提供完整的测试覆盖,并支持所有的标准协议和技术。 SoapUI 基于Java 开发,支持多个平台,安装非常简单。 SoapUI下载地址: https://www.soapui.org/ ,下载开源版SoapUI,SoapUI Pro 是 SoapUI 的商业非开源版本 入门实例解析 使用的接口实例是 中国电视节目表 WEB服务 WSDL 地址: http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl Endpoint 地址: http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx 通过案例讲解,能够掌握以下几个方面的操作: 1.构建项目 2.运行单个请求 3

接口测试-unittest-TestSuite套件

試著忘記壹切 提交于 2019-12-09 21:16:54
unittest-TestSuite套件 1.什么是TestSuite套件 可组合测试case ,常用的方法是addTest,可用于执行单个测试用例 2.框架:添加方法运行 import unittest class TestAdd(unittest.TestCase): def setUp(self): # 所有的用例前执行,用于初始化部分 print('开始') def test_01(self): # 必须是test开头 print('第一个') def test_02(self): print('第二个') a = 1 b = 2 c = a + b self.assertEqual(c, 3, msg='不符合预期') print('c=', c, '实际结果符合预期') def test_03(self): print('第三个') a = 1 b = 3 c = a + b self.assertEqual(c, 3, msg='不符合预期') print('c=', c, '实际结果符合预期') def tearDown(self): # 所有用例结束后执行,用于清理后的工作 print('结束') if __name__ == '__main__': suite = unittest.TestSuite() # 固定写法 suite.addTest(TestAdd

接口测试之基础篇

南笙酒味 提交于 2019-12-09 20:54:59
文章目录 1、什么是接口? 2、为什么开展接口测试? 3、接口的流程是怎样的? 4、接口测试流程中的重点是什么? 1、什么是接口? 接口的种类: 1、外部接口 2、内部接口 上层服务与下层服务 同级服务 接口的分类: http:put get delete post 2、为什么开展接口测试? 接口的由来 :连接前后端及移动端 不同端的工作进度一样,需要对最开始出来的接口进行接口测试。 首先,在做接口测试中,我们可以减少场景业务中大量的冗余测试用例, 1、需求覆盖率为100%。 2、防止绕过前端数据校验,往服务器灌入脏数据。 3、可以弥补黑盒测试阶段的漏测。分为 入口,逻辑。 4、可以减少业务场景中的大量冗余测试用例。 5、可尽早进入测试, 3、接口的流程是怎样的? 接口的流程几乎和功能的流程一致,我们从大的方面来说 无外乎就是v模型:(这里就不画图了) 需求讨论 需求评审 场景设计 用例设计 数据准备 执行 4、接口测试流程中的重点是什么? 来源: CSDN 作者: 12251021 链接: https://blog.csdn.net/py_method/article/details/103414650

接口测试-unittest框架

本秂侑毒 提交于 2019-12-09 18:48:31
unittest框架 1.什么是unittest框架 是python内置的单元框架,可以完成单元测试,也可以完成自动化测试 2.下载安装 内置的无需下载,直接导入 import unittest 3.搭建框架 import unittest class TestAdd(unittest.TestCase): ''' setUp 和 tearDown 可写可不写 写了 就每次执行每个用例前后都会执行这两个函数 ''' def setUp(self): # 所有的用例前执行,用于初始化部分 print('开始') def test_01(self): # 必须是test开头 print('第一个') def test_02(self): print('第二个') a=1 b=2 c=a+b self.assertEqual(c,3,msg='不符合预期') print('c=' , c,'实际结果符合预期') def test_03(self): print('第三个') a=1 b=3 c=a+b self.assertEqual(c,3,msg='不符合预期') print('c=' , c,'实际结果符合预期') def tearDown(self): # 所有用例结束后执行,用于清理后的工作 print('结束') if __name__ == '__main__':

接口测试-requests+unittest实例

試著忘記壹切 提交于 2019-12-09 17:25:40
requests+unittest实例 1.将requests封装成unittest 继续requests实例,再创建一个py文件 'unittest_requests' import unittest import res class MyUnit(unittest.TestCase): def test_get(self): res1 = obj.get( full_url='http://localhost:8888/book_info', params_dict={'bookname': '软件测试', 'checkstatus': 'on'}, headers_dict={}, ) # 封装的方法 error_code = res1['error_code'] self.assertEqual(error_code, 0, msg='与预期不符应为"0"') print('符合预期') def test_post_forms(self): res2 = obj.post_forms( full_url='http://localhost:8888/login', data1={"username": "zhangshan", "password": "123456"}, headers_dict={'content_type': 'application/x-www

Spring常用的三种注入方式

孤街浪徒 提交于 2019-12-09 02:33:45
Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。 构造方法注入 先简单了解一下测试项目的结构,用maven构建的,四个包: entity:存储实体,里面只有一个User类 dao:数据访问,一个接口,两个实现类 service:服务层,一个接口,一个实现类,实现类依赖于IUserDao test:测试包 在spring的配置文件中注册UserService,将UserDaoJdbc通过constructor-arg标签注入到UserService的 某个 有参数的构造方法 <!-- 注册userService --> < bean id = " userService " class = " com.lyu.spring.service.impl.UserService " > < constructor-arg ref = " userDaoJdbc " > </ constructor-arg > </ bean > <!-- 注册jdbc实现的dao --> < bean id = " userDaoJdbc " class = " com.lyu.spring.dao.impl.UserDaoJdbc " > </ bean >