私有部署接口测试工具(私有部署接口测试工具是什么)

网友投稿 353 2022-12-28


本篇文章给大家谈谈私有部署接口测试工具,以及私有部署接口测试工具是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享私有部署接口测试工具的知识,其中也会对私有部署接口测试工具是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

【分享】接口测试-header头部详解

一、什么是header

header:标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。

-----百度百科

header是发送请求时携带的头部信息。通常一些鉴权的信息:authentication/cookie、响应的数据格式:content-type等等的设置。当然响应的数据也会返回一些头部信息。

二、header头部参数对应含义

1、Request header:

User-Agent:告诉Http服务器,客户端使用的操作系统和浏览器名称和版本(这也是区分pc端或者app端的方式)

app端也可区分Android和iOS如图:

2、Clint头域:

Accept:浏览器端可以接受的媒体类型(MIME);

Accept-Charset:浏览器可接受的字符集;

Accept-Encoding:浏览器申明自己接受的编码方法,压缩方式,是否支持压缩,支持什么压缩方法

Accept-Language:申明自己接受的语言

clint头域的作用,客户端和服务器端要进行通信,那么客户端就得向服务器申明自己交流的方式(User-Agent)、交流的语言(Accept-Language)、交流的字体(accept-Encoding),已经客户端接受的内容(accept)等

3、Cache头域:

If-Modified-Since:把浏览器端缓存页面的最后修改时间发送到服务器上,服务器会把这个时间与时间文件的修改时间进行比对 ,时间一直返回304使用本地缓存数据,时间不一致返回200和新的文件内容,客户端接到之后会丢弃旧文件再把新文件缓存起来并显示在浏览器中 。

If-None-Match:和ETag一起工作,工作原理是HTTP Response中添加ETag信息,当用户再次请求该资源时,将在HTTP Request中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),奖返回一个304状态告诉客户端使用本地魂村文件。否则将返回200状态和新的资源和Etage,使用这样的机制将提高网站的新性能。

Pragma:作用是防止页面被缓存,在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样

Cache-Control:用来指定Response-Request遵循的缓存机制,如下:

Cache-Control:Public可以被任何缓存所缓存()

Cache-Control:Private内容只缓存到私有缓存中

Cache-Control:no-cache所有内容都不会被缓存

4、Cookie/Login头域

Cookie:最重要的header,奖cookie的值发送给HTTP服务器

5、Transport头域

Connection:连接的状态,keep-alive当打开一个网页后,客户端和服务器之前传输Http数据到TCP连接诶不会关闭,如果客户端再次访问这个服务器的网页,会继续使用这条已经建立的连接;close当打开一个请求完成后,客户端和服务器之前用于传输HTTP数据的TCP连接会关闭,当客户端再次发送请求,需要重新建立TCP连接

Host(发送请求时,该报头域是必须的):请求报头域而主要用于指定被请求资源的Internet主机和端口号,他通常从HTTP URL中提取出来的,host中端口号省却却表示默认端口后80

6、Entity头域

Content-Length:发送给HTTp服务器数据的长度

Content-Type:互联网媒体类型

7、Miscellaneous头域

Referer:提供Request的上下文信息的服务器,告诉服务器我是从哪个连接过来的。

8、Ajax请求方式

服务器判断request请求是同步还是异步,如果header中有X-Requested-With:XMLHttpRequest表示为异步请求,当X-Requested-With:null是为同步请求

三、接口测试工具

接口测试和接口文档生成工具:apipost

接口测试和接口性能测试工具:jmeter

siber 集成测试平台

siber 是来也科技研发团队自主研发,面向接口的集成测试平台。覆盖 http、grpc、graphQL 三种常见类型接口测试。

siber 于2019年末在来也科技内部上线 V1.0 版本。当前已覆盖接口 600 余个,占总接口数量的 85% 以上;配置 case 3300 余个,case 执行次数达 230w 余次。

自 siber 上线以后,多次帮助产品、业务线发现不易察觉的问题,有效的规避了线上故障,极大的减轻了测试同学、私有部署同学回归测试的压力。

在向你宣传 siber 之前,想请大家先思考几个问题:

对于上述问题,在来也科技内部,统一都使用集成测试平台(siber)来解决。接下来从产品层面向大家介绍下,siber 有哪些亮点:

所有接口测试需要的测试案例(case)、测试场景(flow)、测试计划(plan),都在 siber 上统一创建、维护、查看。避免出现 “你的脚本你知道,我的流程你不懂”等不友好交互的情况。

用户之间可以共享 case、flow、plan。格式统一,全部使用 json 格式进行交互和校验,避免了 “ grpc 协议我不会调”,“前人用 go 写的测试脚本,但我更喜欢 python ” 等问题。

使用 siber 可以降低接口测试难度,提高测试案例的复用性。

复用:同一个 case 可以出现在多个 flow 中,复用特指复用自己或他人之前配置过的 case。不建议对他人的 case 随意修改。

复制:点击“复制 case”,siber 会为您自动复制该 case 下的全部内容,包括但不限于一个或多个版本的request header 、 request body、checker、injector、sleeper。

如果您想对他人的 case 做出不确定后果的修改,我们建议您使用“复制 case” 功能,这样,不必影响到使用原先的 case 的执行计划。

在 siber 上执行的测试计划,可以清晰的展示出 plan、flow、case 整体的状态和运行详情。

清晰的记录了请求和返回的详细内容,每个检查项、注入项是否符合预期等结果。

执行结果永久保存,方便测试和开发者之间同步现场、复现、复盘问题。

避免出现:“我这儿没有啊!”,“你是不是参数填错了?”,“无法复现”等许多理不清问题

敏捷开发模式下,产品迭代快。部分接口可能每次迭代都有改动,部分接口却可能两年都没有变化。

那如何直观清晰的维护,同一个接口在不同版本下的 case 呢?

siber 支持对同一个 case 配置不同版本的输入、输出及检查。可单独对有更新的接口对应的 case 增添版本,对于没变化的接口,无需额外处理。

当执行 plan 时,会自动执行不高于 plan 指定版本的最高版本 case。

详见: case 版本说明

在来也科技内部,许多项目配置了 grpc-gateway ,使得定义一个 method(method 是延用了 grpcurl 中的定义),可以有gRPC 和 http 两种访问形式。

通常而言对内使用 gRPC 协议,对外使用需鉴权的 http 协议。

对于这样的 method,仅需要配置一个 case,便可支持 gRPC 和 http 两种协议的测试。

parameter 用于渲染不确定的输入。比如:

针对于上述问题,我们将 parameter 抽象出三个子项:

支持生成随机的字符串、数字;当前时间戳;base64 等。

全部内容和配置方法,详见: 预定义的 FUNCTION

支持将同一 flow 中 case 的输入、输出、响应时间、状态码等信息保存在 variable 中,供后续case 使用

使用 SiberAuth 可以支持对接口进行鉴权。当前已内置通用鉴权算法,可以自己在 siber 上添加自定义的鉴权算法。

除手动触发外,siber 还支持 CI 触发和 crontab 触发两种触发模式:

siber 已与来也科技内部 CI 工作流打通。当前支持两种 CI 触发模式:

自动执行:

项目在测试环境发布后,会自动触发 siber 在测试环境运行相关plan(plan与服务的关系是自动绑定的)。

如有报错会发送到企业微信群中提示用户。

强制执行:

在应用上线前会自动检查 siber 上配置了强制执行的 plan 是否通过,如果未通过,不予上线。

有些问题偶发,比如每天凌晨可能会有零星报错。siber 提供定制执行的功能,可以按照 crontab 的方式触发 plan,对于偶发问题提供了可观测的现场。

siber 自上线以来,将许多问题扼杀在了上线前,包括但不限于:

后端开发:刘桐烔,季琛,董梦囡

前端开发:徐丽婧,邬丹琳,杨子杰

从功能测试到接口测试,原来的技能可以通用

一、什么是接口业务 安全测试

业务安全测试是根据业务需求,针对业务安全规则展开的系统 功能测试 。业务安全测试作为该系统功能测试的重要组成部分,在 接口测试 过程中同样适用。区别于系统 漏洞 扫描、 SQL 注入防范等 技术 安全测试,针对接口展开的业务安全测试更加关注程序逻辑本身对于保障业务规则安全所进行的检查、校验、控制等功能方面的测试,例如银行业务中针对客户信息有效性、账户信息一致性的检查等等。

二、为什么要做接口业务安全测试

顾名思义,业务安全测试的目的自然是为了防范业务风险,提高接口的业务安全性。之所以针对接口测试再次强调业务安全测试,就不得不提到一个众所周知的“零信任原则”。

所谓零信任原则就是后端系统对于前端提供的请求报文保持不信任。简单讲就是作为后台服务方,时刻保持一种“总有前台想要害朕”的“迫害妄想症”,认为前端送过来的报文都是不靠谱的。

当然并不是说前端的系统真的不靠谱,很多系统前台都针对业务规则展开了细致的检查、控制,这也是私有部署接口测试工具我们在进行系统功能测试过程中最常设计的测试场景。那么我们为什么还要在接口测试中针对业务安全再展开一次测试呢私有部署接口测试工具?那是因为前后端系统调用过程中,特别是对客服务系统前后端交互过程中涉及报文拼装、传输等环节,很可能被别有用心的“坏人”利用,对报文进行篡改,从而产生业务风险。在一些交易场景中后端系统又很难辨别接收到的报文是否被篡改,因此需要对输入信息进行必要的检查校验,以提高业务安全性——当然可以通过各种技术手段对报文进行防篡改控制,这是技术安全层面的内容,这里不再展开。

在业务安全测试过程中,我们经常提到的就是“越权访问”。

举个例子,一个用户登录系统之后查询自己的账户信息,这是一个正常流程。如果这个过程中,用户通过篡改报文将自己的账号更换为其他人的账号,从而获得了其他人的账户信息,这就是越权访问中的“水平越权”。即用户利用系统缺陷访问了其他相同权限用户的私有数据。

与之相伴的还有“垂直越权”,即用户通过身份冒充等方法获取了诸如管理员权限等高于自身级别访问能力得越权。

三、怎么做接口业务安全测试

1.需求分析

既然是业务安全测试,“业务” 需求分析 是必不可少的。同系统功能测试一样,针对接口的业务安全测试也要我们根据业务需求提炼业务规则、梳理权限要求、设计测试场景。但由于接口的抽象性,我们还需要另一个十分重要的资料来帮助我们设计测试案例,那就是接口设计文档。

接口设计文档,一般应包括以下几部分内容私有部署接口测试工具

·接口功能简介

对接口基本功能的简单介绍。

·输入输出参数说明

这部分内容包括了接口参数的字段类型、长度、取值范围等信息,是我们使用边界值等方法设计案例的重要信息来源。

同时还有一个接口设计原则需要我们重点关注,即“最小必需”原则。这里的最小必需原则可以从两方面去理解。一方面,就接口的输入来说,就是尽量少的从前端特别是依靠用户录入的方法获取输入信息。这一点是同前面提到的“零信任”迫害妄想症一脉相承的——录入的东西不靠谱,能通过后端系统从 数据库 里获取的就不要前台录入。另一方面,接口的输出在满足需求的情况下尽量减少冗余信息,从而避免不必要的信息暴露。是否满足最小必需原则也是我们在进行接口业务安全测试的时候需要关注的。

· 接口功能规则描述

这里应该描述了接口的主要功能、业务规则等,是我们设计场景案例的重点参考。

·错误信息描述

在进行接口业务安全测试时,为验证各种业务规则和权限控制,反向案例会占据很大比例。因此报错信息的描述是我们应该十分关注并需要在测试过程中同开发持续交流的内容。毕竟我们怎么知道案例预期结果里我们想要的报错信息就是我们想要的呢?哈哈。

2.案例设计

总结上面的描述,接口业务安全测试案例的设计可以从以下几方面着手私有部署接口测试工具

·验证正向功能是否符合预期。

·边界值、等价类等方法对于接口参数的边界值、异常值进行测试,验证接口的容错能力。

·根据业务规则设计相应的反向案例,检查接口是否具备对应有效的控制逻辑。

·设计越权案例,检查身份校验、权限控制相关检查是否完备。

3.测试工具

针对接口测试,当下有Postman、 Jmeter 、Selenium等一众报文及 自动化测试 工具可供选择,可以根据需要和习惯选取。

四、谁来做接口业务安全测试

接口业务安全测试应该由谁来执行呢?让我们从两个方面来看这个问题私有部署接口测试工具

接口消费方 vs 接口服务方

作为调用接口的消费方,应该对接口提出明确的功能需求,就像业务人员向开发人员提出系统功能需求一样。因此消费方在测试过程中更关注接口功能是否满足需要。

作为提供接口的服务方,提供的接口不光要满足服务方的功能需求,还应在输入合法性、业务规则、权限控制、身份认证等方面进行相应校验,提高接口的业务安全性。

因此从系统层面来看,接口业务安全测试应该是由服务方来完成的。

测试 vs 开发

在一个项目流程中,提到接口测试,往往联想到模块逻辑层面的调度调试,想到 单元测试 ,是开发者的工作。然而,我们这里谈到的接口业务安全测试,是站在业务规则的视角针对接口展开的功能测试。接口业务安全测试同单元测试的区别就如同系统功能测试和集成测试的区别一样,测试和开发的关注点是不同的。因此接口业务安全测试和接口单元测试是不能相互替代的。

另一方面,为提高接口业务安全质量,在接口设计上也需要开发多动些脑筋。比如接口的“最小必需”原则,就应该在接口设计阶段予以考虑,并同测试保持沟通。如果等到交付测试才思考这个问题,往往木已成舟,修改难度较大了。

当前,随着软件系统架构、技术的不断升级优化,对于 系统测试 环节的要求也越来越高,系统功能测试、系统 性能测试 、技术安全测试、业务安全测试、接口测试等等划分愈发精细,不断考验着我们测试人员的能力与智慧。

如何进行接口测试,如何做好接口测试

题主所说的接口是指server后台提供给前端调用的api接口还是程序内部提供的类接口;
不管是哪一种,做接口测试都要明确想要借助接口测试达到的测试目的,不同的公司、项目和背景下相应的要求都不同;
一般来说如果是server接口测试,基本目的是为了测试覆盖后台的接口业务能力,保证在后端提供接口之后立即能够执行测试,而不需要延迟到客户端联调才来发现接口本身存在的业务问题;对于server接口测试,一般的要求是快速反馈、可持续迭代、问题定位方便;通常用例设计上不考虑异常值的case,这些由客户端调用时验证并保证;接口框架和用例的实现通常比较简单,除非调用接口的协议是私有协议,这种情况下就需要构建对应的消息请求接收器。
如果是内部类接口的测试,属于单元测试范畴,具体要求也是视情况而定,但一般也是为了保证提供的类接口功能的准确性;具体实现上要注意,类接口的单元测试对于类接口一般会要求开发尽量解耦,如果解耦不彻底在编写测试代码时往往要借助打桩[stub]或者模拟[mock];
总的说来,想做好接口测试,必须先明确测试的目的,否则容易出现很多形式上的代码实际没有半毛钱用处,反而浪费人力物力。 关于私有部署接口测试工具和私有部署接口测试工具是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 私有部署接口测试工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于私有部署接口测试工具是什么、私有部署接口测试工具的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springmvc+ajax+formdata上传图片代码实例
下一篇:关于系统接口设计实例的信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~