当前位置: 首页 > news >正文

绍兴手机网站制作东莞专业的网站建设网络推广

绍兴手机网站制作,东莞专业的网站建设网络推广,wordpress上传字体,厦门小型网站建设服务端接口测试介绍 什么是服务端#xff1f; 一般所说的服务端是指为用户在 APP 或 PC 使用的互联网功能提供数据服务的背后的一切。以天猫精灵智能音箱系列的产品链路为例#xff0c;服务端便是网关#xff08;包括网关在内#xff09;之后的链路。 什么是接口#xf… 服务端接口测试介绍 什么是服务端 一般所说的服务端是指为用户在 APP 或 PC 使用的互联网功能提供数据服务的背后的一切。以天猫精灵智能音箱系列的产品链路为例服务端便是网关包括网关在内之后的链路。 什么是接口 官方点说是计算机系统中两个独立的部件进行信息交换的共享边界。通俗点说就是服务端对外提供数据服务最常用的信息交换方式。提供数据服务的服务端是个可大可小的机构做的事大多不止一件它做了这么多事最终的目标是给 APP 或其它调用方使用于是服务端就派出了几个代表比如 API 1 负责提供用户信息API 2 负责提供设备信息API 3 负责提供播放的音频信息等等。同事服务端规定好跟 API 1 通讯的接头暗号是 param1param2…跟 API 2 通讯的接头暗号是 param3param4…而 params 就是接口参数就是用来告诉服务端你要什么服务具体的要求是什么。接口一般由三个部分组成协议、地址及参数。 什么是接口测试 一般讲的接口测试指的是对某个给定接口进行功能测试输入不同的参数时接口返回值是否正确。下图是经典的测试金字塔模型。 在这个模型中越往下比例会占的越高也就是说在一个产品测试中单元测试比例是最高的依次是接口测试和UI自动化测试最顶端是人工测试部分。服务端接口测试在中部承上启下由此可见其重要性。 现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。 如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受 可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛 分享他们的经验还会分享很多直播讲座和技术沙龙 可以免费学习划重点开源的 qq群号110685036 为什么要做接口测试 一般做接口测试有如下原因 接口是服务端对外提供数据服务最常用的信息交换方式接口大部分内容都是数据通过数据对比我们可以推测到系统的逻辑测接口其实也就是测逻辑。接口测试相对容易实现自动化也容易实现持续集成且相对 UI 自动化也比较稳定可以减少人工回归测试人力成本与时间缩短测试周期支持后端快速发版需求。 如何做接口测试 前面提到接口是由这几个组成部分接口地址、请求协议、请求参数和预期结果。测试接口的步骤一般步骤是发送请求-解析结果-验证结果。 简单来说接口测试就是参照接口文档调用接口看结果的返回是否跟文档说明一致另外再测试一下接口对异常逻辑的处理比如非法参数或边界值。 深入来说接口测试的关注重点在于 一、接口的数据逻辑是否正确。我们需要充分理解接口的功能内部是什么样的数据逻辑它与上下游交换了那些信息或资源不单纯地停留在参数调用和程序返回的表象数据。通俗地说就是要知道这个接口是干什么用的用到哪里每次调用会发生什么然后去检验改发生的有没有发生。 二、接口对于异常参数的处理机制与上下游服务的容错。如下图所示被测接口 A 依赖上游服务 A那么服务 A 异常的时候被测接口是否很好的容错就很重要否则服务挂起或宕掉都是有可能的。另外作为服务提供方接口 B应当要充分兼容不同的使用场景、或不同版本的调用方的使用不能为了服务 E 做的需求除了 E 其它的服务使用者都用不了了。总的来说原则就是“上游不可靠下游要兼容”。 接口测试自动化介绍 什么是接口测试自动化 接口测试自动化简单来讲就是功能测试用例脚本化然后执行脚本产生一份可视化测试报告。 为什么要做接口测试自动化 不管什么样的测试方式都是为了验证功能与发现 bug。那为什么要做接口测试自动化呢一句话概括就是是为了节省人力成本。具体来说包括以下几点 减轻自己工作量把测试从枯燥的重复劳动的人工测试中解放出来协助手工测试完成很难模拟或无法模拟的的工作提高工作效率比如测试环境的自动化编译、打包、部署、持续集成甚至持续交付等。协助定位问题比如接口层发现问题了可以通过添加的 traceID 定位到日志错误或错误代码行尽早发现 Bug自动通知测试人员。一旦发现问题立即通知测试人员快速高效。 接口测试自动化的规范 这里结合我平常在做接口测试时的一些经验总结了一些接口测试自动化的规范抛砖引玉欢迎大家补充。 文档准备 磨刀不误砍柴工准备好分详细的接口相关文档能够帮助后续接口自动化测试工作的高效展开。相关文档包括但不限于一下内容 1、 《需求文档》 明确定义了接口背后的业务场景即该接口是干什么用的用到哪里每次调用会发生什么等 2、 《接口文档》 明确定义了接口名各个入参值各个返回值和其他相关信息 3、 《UI 交互图》 明确定义了各单页面需展示的数据页面之间的交互等 4、 《数据表设计文档》 明确定义了表字段规则、表 N 多 N 关系一对一、一对多、多对多等 务必和相关需求方确认好文档中的信息是可靠且最新的只有依赖可靠的文档才能设计出正确详尽的接口用例才能得到最正确的结果。 明确接口测试自动化需要的功能 1、校验断言 测试断言是自动化测试中的测试通过条件用于判断测试用例是否符合预期。所以支持对返回值校验是一个必须的功能。 2、数据隔离 数据隔离就是指具体的请求接口、参数、校验等数据做到与代码相隔离便于维护一旦需要调整接口用例、新增接口用例时可很快速的找到位置。隔离的另一个好处就是可复用框架可以推广给其他团队使用者可以使用相同的代码只需要根据要求填写各自的用例即可测试起来。 3、数据传递 做到数据隔离可维护后数据传递是另外一个更重要的需求。接口测试时首先我们会实现单接口解耦后续按照业务场景组合多个接口。而数据传递是则是组合多个接口的必要条件它让接口用例之间可以做到向下传参。举个例子我们通过设备信息查询接口查询到当前天猫精灵音箱的设备信息该接口会返回一个 UUID接下来我们要通过用户信息查询接口去查询当前设备绑定的用户信息此时第二个接口的请求数据是需要从第一个接口用例中的返回中提取的。 4、功能函数 实际的业务场景测试会需要各种辅助功能的支持比如随机生成时间戳请求 ID随机的手机号码或位置信息等等此时我们就需要代码可以支持做到识别对应关键字时可以执行对应的功能函数进行填充。 5、可配置 目前测试环境包括但不限于日常、预发一、预发二、线上等等因此用例不单单只能在一个环境上执行需要同一份接口用例可以在日常、预发、线上等多个环境都可以执行。所以框架需要做到可配置便于切换调用不同的配置文件可以在不同的环境执行。6、日志日志包含执行的具体执行接口、请求方式、请求参数、返回值、校验接口、请求时间、耗时等关键信息日志的好处一来是可以便于在新增用例有问题时快速定位出哪里填写有问题二来是发现 bug 时方便向开发反馈提供数据开发可以从触发时间以及参数等信息快速定位到问题所在。 7、可视化报告 用例执行后就是到了向团队展示结果的时候了一个可视化的报告可以便于团队成员了解到每次自动化接口用例执行的成功数、失败数等数据。 8、可持续集成 对于已经有测试用例并测试完成的接口我们希望能够形成回归用例在下一个版本迭代或上线之前通过已有用例进行一个回归测试确保新上线的功能不影响已有功能。因此这就需要接口自动化测试是可持续集成的而不是一次性的。 接口测试自动化框架选型 结合我们对接口测试自动化框架的需求及目前市场上的很多测试工具的特点总结成下表 这里简单列举一下 1、fiddler fiddler 是一个 HTTP 协议调试代理工具Web 和手机测试都会用到同时也支持接口测试。它能够记录并检查所有你的电脑和互联网之间的 http 通讯设置断点查看所有的“进出”Fiddler 的数据指 cookie,html,js,css 等文件。 2、postman 它是 Google 开发的一个插件安装在 Chrome 浏览器上能支持不同接口测试请求可以管理测试套件和自动化运行。弱点是自动化断言功能不强大不能和 Jenkins、代码管理库进行持续集成测试。 3、wireshak 这是一款抓包工具支持 TCP、UDP、HTTP 等协议。如果做底层网络数据测试一般都需要用到它但是用作接口测试它就有点不友好。因为刷新数据太快不好定位每个操作对应的接口。 4、soupUI soapUI 是一个开源测试工具通过 soap/http 来检查、调用、实现 Web Service 的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用也可利用插件集成到 Eclipsemaven2.XNetbeans 和 intellij 中使用。把一个或多个测试套件TestSuite组织成项目每个测试套件包含一个或多个测试用例TestCase每个测试用例包含一个或多个测试步骤包括发送请求、接受响应、分析结果、改变测试执行流程等。该工具能够支持接口自动化测试和接口性能测试也支持和 Jenkins 做持续集成测试。 5、Java 代码做接口测试 为什么要用代码做接口自动化测试呢一些工具功能是有限制很多公司需要一些特定的功能工具不支持只好用代码进行开发。一般用 Java 做自动化测试主要利用 httpclient.jar 包然后利用 JUnit 或者 TestNG 这样的单元测试工具进行测试用例的开发接着在 Jenkins 或我们的 aone 上创建一个 job进行持续集成测试。 6、Python 代码做接口测试 和 Java 一样用 Python 做接口测试可以利用一个功能强大的第三方库 Requests它能方便地创建接口自动化用例。Python 下的单元测试框架一般采用 unittest。生成测试报告一般选择 HTMLTestRunner.py。同样可以结合 Jenkins 做持续集成测试。 接口测试自动化实践 TestNG 与 Junit 对比 综合性对比 我在日常测试工作中使用的比较多的自动化测试工具是 Java 代码做接口测试这里先介绍下我对单元测试工具 TestNG 和 Junit 的对比。先用一张表格总结一下他们的特点对比。 TestNG 与 JUnit 的相同点如下 1、都有注解即都使用 annotation且大部分 annotation 相同 2、都可以进行单元测试Unit test 3、都是针对 Java 测试的工具 TestNG 与 JUnit 的不同点如下 1、TestNG 支持的注解更丰富如ExpectedExceptions、DataProvider 等 2、JUnit 4 中要求BeforeClass、AfterClass 方法声明为 static这就限制了该方法中使用的变量必须是 static。而 TestNG 中BeforeClass 修饰的方法可以跟普通函数完全一样 3、JUnit 只能使用 IDE 运行TestNG 的运行方式有命令行、ant 和 IDE 4、JUnit 4 依赖性非常强测试用例间有严格的先后顺序。前一个测试不成功后续所有的依赖测试都会失败。TestNG 利用Test 的 dependsOnMethods 属性来应对测试依赖性问题。某方法依赖的方法失败它将被跳过而不是标记为失败。 5、对于 n 个不同参数组合的测试JUnit 4 要写 n 个测试用例。每个测试用例完成的任务基本是相同的只是方法的参数有所改变。TestNG 的参数化测试只需要一个测试用例然后把所需要的参数加到 TestNG 的 xml 配置文件中或使用DataProvider 方式注入不同的参数。这样的好处是参数与测试代码分离非程序员也可以修改参数同时修改无需重新编译测试代码。 6、JUnit 4 的测试结果通过 Green/Red bar 体现TestNG 的结果除了 Green/Red bar还有 Console 窗口和 test-output 文件夹对测试结果的描述更加详细方便定位错误。 最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试文档 我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
http://www.yutouwan.com/news/115310/

相关文章:

  • 米粒网站建设与推广专家网站 建设 申请
  • 土巴兔装修贵吗落实20条优化措施
  • 汤唯梁朝伟做视频网站家具网站开发设计论文
  • 微信网站怎么建设济南学网站建设哪里好
  • 企业网站建设请示南通网站推广公司哪家好
  • 网站建设环保广告设计有哪些
  • 卡盟网站怎么做图片大全怎么自己做音乐网站
  • 东莞网站seo公司哪家大东莞专业网站推广工具
  • 如何做网站内链合肥公司网站开发
  • 做竞价的网站可以做优化吗学校网站建设调查报告
  • 做网站关于我们php网站开发实例视频教程
  • 只做男生穿搭的网站网页界面
  • 做电影网站心得整合营销公司排名
  • 网站模板建站教程深圳采纳品牌营销策划公司
  • 泰安网站建设哪里有福建省港航建设发展有限公司网站
  • wordpress 类似 免费seo的作用
  • 凡科网站建设好企业建设营销网站的目的
  • 深圳美食教学网站制作东莞公司注册哪家好
  • 山东小语种网站建设大型门户网站制作教程
  • 海淀营销型网站建设网络公司经营范围大全
  • 怎么评价一个网站设计做的好坏南昌 提供网站设计 公司
  • html网页制作网站wordpress 区块链
  • 做盗版视频网站吗云南网站建设天软科技
  • 做旅游网站课程设计报告品牌建设的内容
  • 网站链接改名怎做301天津百度推广公司地址
  • 网站搭建哪家好网页布局的设计步骤
  • 大兴模版网站搭建哪家好网站建设 上市公司
  • 大连建站方案昭通网站建设 hardlcp
  • 科技馆网站建设背景郑州网站建设哪家好
  • 商丘企业网站服务小说系统 wordpress