接口测试

关于自动化测试平台搭建的初步构想

*爱你&永不变心* 提交于 2019-11-29 01:37:30
一.前言 测试平台可以理解为一个测试管理平台,主要用WEB来进行实现,方便其他人统一工作,方便公司统一管理,可以提高公司效率。该平台主要是为测试服务,但不仅为测试提供服务。一切的出发点都是为了提高工作效率,减少公司成本,为公司提供一个更加愉快的工作环境。 二.为什么需要测试平台 目前,很多小公司或者较大一点的公司,测试完全是基于功能测试,如果只是进行功能测试则可以直接使用开源的项目质量管理软件(例如:禅道)即可。如果进行接口、UI自动化测试、性能方面的测试,则可有考虑自己搭建测试平台。下面就以接口测试为例,接口测试一般抓包后需要进行消息体的构造,有人喜欢用postman工具直接保存接口,有人喜欢直接使用fiddler等其他的工具,这样不同的测试人员各自工具不统一、各自用例也不统一。前者新人来了接手工作可能需要学习新的工具,虽然时间短但也是成本的消耗,后者如果本地机器出现了问题可能所有用例都没有了。既消耗了公司的成本又导致部门管理不规范。 如果搭建一个统一的平台就可以解决上述问题,例如直接在WEB界面上直接将消息体复制进来即可完成接口测试并添加额外的数据校验功能,各个接口各个场景测试通过后直接将内容保存到数据库中。这样,1是代码集中统一管理了;2是要求低,对操作人员低,任何人只需要按照格式进行消息体的构造就可以进行接口测试;3是所有人只要有相应的权限即可共享用例

接口测试之-题目

為{幸葍}努か 提交于 2019-11-28 21:54:36
1、做接口测试当请求参数多时,tps下降明显,此接口根据参数从redis中湖区数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数时tps1169,多次交互影响了处理性能,如何改进? tps就是每秒事务数,transaction per second。 吞吐量下降是可能因为频繁访问redis,而频繁访问redis的原因是参数过多,解决的思路很容易想到: 减少参数。 我们可以把多组参数变成json字符串之类的一个参数,从而达到信息量不减少而参数个数变少的效果。 2、接口的加密测试中对称加密和非对称加密有什么区别吗?如何展开测试? 对称加密: 信息交换的双方使用同一个密钥加密解密,就像是用同一把钥匙开一把锁 非对称加密 公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个则用作解密。使用其中 一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不 同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一 个

postman批量调用接口并发测试

◇◆丶佛笑我妖孽 提交于 2019-11-28 20:13:47
本文出自: https://www.cnblogs.com/2186009311CFF/p/11425913.html 接口测试在开发中很容易遇到,下面是请教别人学会的并发测试,希望能帮到需要用到的你,以下是postman批量调用接口并发测试步骤: 总体思路就是建立一个请求,保存后,再去批量那边运行,设置保存并发的请求,然后多运行几个框就会形成并发 一、单个请求: 保存单个请求 二、建立批量请求 三、重复步骤二多次,即可实现简单的并发测试 来源: https://www.cnblogs.com/2186009311CFF/p/11425913.html

泛型

送分小仙女□ 提交于 2019-11-28 19:54:17
备注:若有不正之处,请多谅解并欢迎批评指正。转载请标明链接:https://www.cnblogs.com/pmbb/p/11409443.html 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。 2. 一个栗子 一个被举了无数次的例子: 1 List arrayList = new ArrayList(); 2 arrayList.add("aaaa"); 3 arrayList.add(100); 4 5 for(int i = 0; i< arrayList.size();i++){ 6 String item = (String)arrayList.get(i); 7 Log.d(

python+unittest接口测试与报告生成

北城以北 提交于 2019-11-28 18:15:43
下面介绍内容为接口测试的基本简单实现,其中包括了几种不同的添加case和生成测试报告的方法,代码已测试通过,并附上报告截图--------------------------分割线---------------------------------------------------------- import unittestimport xmlrunnerimport HTMLTestRunnerimport timeclass Test(unittest.TestCase): flag = 1 '''setUp() 在每个测试方法执行前执行一次,tearDown() 在每个测试方法执行后执行一次, 如本例子的test_Add1和test_Add2 ; setUp用来为准备测试环境和数据,tearDown用来清理环境和数据,以备之后的测试''' '''类方法 setUpClass() 在所有测试方法开始执行前执行一次, tearDownClass() 在所有测试方法执行后执行一次''' def setUp(self): print("每个测试case开始执行前执行") def tearDown(self): print("每个测试case结束执行后执行") @classmethod def setUpClass(cls): print("所有测试case开始执行前执行")

测试人员为什么要深入到项目实现中去?

隐身守侯 提交于 2019-11-28 15:04:50
(“马蜂窝技术”公众号原创内容,ID: mfwtech) 一个项目从需求确定到最后上线,通常来说流程是这样的: 「测试」作为一个项目质量保证角色,在上面的整个流程中均有参与。而用例设计、项目测试环节更像测试的主场,PRD 的评审测试人员也会发表很多自己的观点,对项目的技术评审虽然测试人员也有参与,但也不如前两个环节的参与程度深。 其实,一个优秀的测试人员应该深入到项目的每一个环节中去发现问题,提出自己的观点,保证项目质量。那么要真正深入到项目实现中,测试应该怎么做呢? 一、Review 接口定义结构 接口定义文档在测试过程是测试人员接触比较多的设计文档,尤其是与最外层面向用户的接口设计相关的部分。在参加接口文档评审、编写接口用例这些场景下,测试人员都会仔细阅读接口设计文档。 通过接口文档,可以帮助测试人员清晰了解到前端与后断是怎么交互的,每个页面哪些操作与后端存在交互,不同的接口之间是否存在关联,清楚这些可以帮助测试人员在测试过程中对出现的问题进行精准判断,确定导致问题出现的范围。 在阅读接口文档可以关注以下几个方面: 接口中定义字段是否考虑了扩展性; 字段是否必须有明确的说明;如果是代码实现需要清晰定义 NotNull/NotBlank; 字段含义是否存在歧义,字段的含义要有明确的解释; 接口是否覆盖到了所有业务场景; 返回值结构、内容是否正确;通常返回值都有固定格式规范

接口测试、APP和web测试流程(面试简化)

走远了吗. 提交于 2019-11-28 14:58:49
web测试流程,确保后台接口已测试完毕 一、需求分析,了解具体需求 二、测试准备:原型图、效果图、需求文件、测试用用例、用例评审、各种测试数据准备 三、测试环节:接受版本开始执行 1)冒烟测试:对版本质量的控制以及此版本是否具备测试条件; 2)UI测试:核对效果图 3)功能测试:核对需求文件测试用例,对功能进行验证 4)兼容测试:各个浏览器,手机是否兼容 5)性能测试,服务器接口,多线程等压测 6)安全测试 7)易用性测试:界面与交互性测试,符合交互规范,用户体验良好,使用方便快捷 8)提交bug,争议bug评审,回归测试 9)自动化测试 四、发布功能,上线验证,发布上线报告 App测试流程 一、需求分析,了解具体需求 二、测试准备:原型图、效果图、需求文件、测试用用例、用例评审、各种测试数据准备 三、测试环节:接受版本,开始执行 1)冒烟测试:对版本质量的控制以及此版本是否具备测试条件; 2)安装、卸载测试:通过商店安装,且支持使用第三方工具安装 3)在线升级测试:验证数字签名、在线跨版本升级、升级后可使用 4)业务功能测试:业务逻辑测试、功能点测试、关联性测试;对需求和测试用例覆盖 5)稳定性及异常性测试:交互性测试(客户端多种打扰测试,待机拔插线等操作)、断网、断电异常等情况客户端稳定 6)性能测试,服务器接口,多线程压测;客户端不同网络下的响应速度 7)易用性测试

.net测试篇之Moq框架简单使用

倾然丶 夕夏残阳落幕 提交于 2019-11-28 14:43:12
系列目录 Moq库简介及安装 Moq简介 Moq是.net平台下的一个非常流行的模拟库,只要有一个接口它就可以动态生成一个对象,底层使用的是Castle的动态代理功能. 它的流行赖于依赖注入模式的兴起,现在越来越多的分层架构使用依赖注入的方式来解耦层与层之间的关系.最为常见的是数据层和业务逻辑层之间的依赖注入,业务逻辑层不再强依赖数据层对象,而是依赖数据层对象的接口,在IOC容器里完成依赖的配置. 这种解耦给单元测试带来了巨大的便利,使得对业务逻辑的测试可以脱离对数据层的依赖,单元测试的粒度更小,更容易排查出问题所在. 大家可能都知道,数据层的接口往往有很多方法,少则十几个,多则几十个.我们如果在单元测试的时候把接口切换为假实现,即使实现类全是空也需要大量代码,并且这些代码不可重用,一旦接口层改变不但要更改真实数据层实现还要修改这些专为测试做的假实现.这显然是不小的工作量. 幸好有Moq,它可以在编译时动态生成接口的代理对象.大大提高了代码的可维护性,同时也极大减少工作量. 除了动态创建代理外,Moq还可以进行行为测试,触发事件等. Moq安装 Moq安装非常简单,在Nuget里面搜索moq,第一个结果便是moq框架,点击安装即可. Moq简单使用 本示例中要使用到的代码如下 public class MyDto { public string Name { get; set; }

【Web_接口测试_Python3_Requests库】Requests数据库get/post/put/delete协议接口测试,自动化测试案例

我只是一个虾纸丫 提交于 2019-11-28 13:21:10
#!/usr/bin/env/python3 # -*- coding:utf-8 -*- ''' Author:leo Date&Time:2019-08-18 and 12:23 FileName:apiTest.py Description:... # 导入接口测试库 import requests,json,time from pprint import pprint # 配置fiddler代理,请求后面带上proxies=proxies, verify=False,就可以通过fiddler拦截请求 # proxies = {'http': 'http://localhost:****', 'https':'http://localhost:****'} # response = requests.post(url, data=payload, proxies=proxies, verify=False) # 测试环境Host(ip等铭感信息建议放在单独的py文件中) testHost = "127.0.0.1:****" # 获取当前时间戳 nowTime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) #基本类(后面类都继承并调用该类) class Basic: # 登录账户 def

webservice接口测试

血红的双手。 提交于 2019-11-28 12:51:24
1,用soupui进行测试 2,安装soupUI 3,测试的时候是给了一个wdsl 操作步诹:new (name , 填写地址)---导入wsdl文件---看到所有的接口 发送请求的格式<xml> canshu</xml> 应用场景,传统行业,电信等 导入时遇到问题怎么解决: 在project测试中,如果引入wsdl报如下的错误: Error loading [http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl]: org.apache.xmlbeans.XmlException: java.io.CharConversionException: Characters larger than 4 bytes are not supported: byte 0xb1 implies a length of more than 4 bytes 解决方案:关闭程序并找到SoapUI的安装位置中的SoapUI-4.6.4.vmoptions这个文件,在末尾加入 -Dfile.encoding=UTF8 可解决 网上常用的wsdl http://hi.baidu.com/magicyzzj/item/cd45a6305f449cb9623aff58 webservice接口进行性能测试: 1