来自茹炳晟

session和cookie的区别

如果后端工程师使用 session 记录使用者登入信息,那么后端通常会传一个 session ID 给前端。之后,前端在发给后端的 requests 的 header 中就需要设置此 session ID,后端便会以此 session ID 识别出前端是属于具体哪个 session
如果是使用 cookie,在认证成功后,后端会返回 cookie 给前端,前端可以把该 cookie 保存成为文件,当需要再次使用该 cookie 时,再用“-b cookie_File” 的方式在 request 中植入 cookie 即可正常使用

如何应对复杂场景的 API 测试?

测试场景一:被测业务操作是由多个 API 调用协作完成
一个单一的前端操作可能会触发后端一系列的 API 调用
如何才能高效地获取单个前端操作所触发的 API 调用序列。解决这个问题的核心思路是,通过网络监控的手段,捕获单个前端操作所触发的 API 调用序列。比如,通过类似于 Fiddler 之类的网络抓包工具,获取这个调用序列;又比如,目前很多互联网公司还在考虑基于用户行为日志,通过大数据手段来获取这个序列。
测试场景二:API 测试过程中的第三方依赖
启用 Mock Server 来代替真实的 API
测试场景三:异步 API 的测试
异步 API 是指,调用后会立即返回,但是实际任务并没有真正完成,而是需要稍后去查询或者回调(Callback)的 API。
对异步 API 的测试主要分为两个部分:一是,测试异步调用是否成功,二是,测试异步调用的业务逻辑处理是否正确。

单体架构

单体架构是早期的架构模式,并且存在了很长时间。单体架构是将所有的业务场景的表示层、业务逻辑层和数据访问层放在同一个工程中,最终经过编译、打包,并部署在服务器上。

缺点:灵活性差,可扩展性差,可维护性差,稳定性差

微服务架构

微服务是一种架构风格。在微服务架构下,一个大型复杂软件系统不再由一个单体组成,而是由一系列相互独立的微服务组成。其中,各个微服务运行在自己的进程中,开发和部署都没有依赖。

微服务架构具有以下特点:

每个服务运行在其独立的进程中,开发采用的技术栈也是独立的;

服务间采用轻量级通信机制进行沟通,通常是基于 HTTP 协议的 RESTful API;

每个服务都围绕着具体的业务进行构建,并且能够被独立开发、独立部署、独立发布;

对运维提出了非常高的要求,促进了 CI/CD 的发展与落地。

微服务架构下的测试挑战

过于庞大的测试用例数量;

解决方法:基于消费者契约的API测试

微服务之间的耦合关系。

如服务T依赖于X和Y,但当X和Y不可用时,T也无法测试。

方法:

解耦的方式通常就是实现 Mock Service 来代替被依赖的真实 Service。实现这个 Mock Service 的关键点就是要能够模拟真实 Service 的 Request 和 Response。

后续的,没看懂。

微服务模式下API测试相关推荐

  1. 技术分享 | 微服务模式下如何高效进行API测试

    导读:微服务架构下,API 测试的最大挑战来自于庞大的测试用例数量,以及微服务之间的相互耦合.基于这种挑战,如何进行高效的API测试,选择什么样的方式就比较重要,此文主要是采用契约测试的方法来对微服务 ...

  2. 微服务模式下,实现前后端多资源服务调用

    Micro Services 首先,我先解释下,文章标题的意思: 咋看起来特别像是一个标题党????,可能是我没想好怎么表达,其实白话文就是:在微服务场景下,肯定会有很多子服务API,那多个前端项目如 ...

  3. 架构设计:微服务模式下,实现灰度发布模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.基本逻辑 请求通过8001服务,在灰度规则中,会读取下次请求的服务列表,根据版本号参数规则,选中路由的服务. 配置版本号,区分灰度版本和默 ...

  4. 问题 seata_架构设计 | 基于Seata中间件,微服务模式下事务管理

    一.Seata简介 1.Seata组件 Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata将为用户提供了AT.TCC.SAGA.XA事务模式,为用户打造一 ...

  5. druid seata 配置_架构设计 | 基于Seata中间件,微服务模式下事务管理

    一.Seata简介 1.Seata组件 Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata将为用户提供了AT.TCC.SAGA.XA事务模式,为用户打造一 ...

  6. 架构设计 | 基于Seata中间件,微服务模式下事务管理

    源码地址:GitHub·点这里 || GitEE·点这里 一.Seata简介 1.Seata组件 Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata将为用 ...

  7. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  8. 如何在微服务架构下进行数据设计?

    作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...

  9. 微服务架构下的测试之道

    作者:袁慎建,崇尚简约,热爱编程 && 运动健身 && 知识分享,擅长敏捷开发实践,持续集成 && 持续交付,关注代码整洁 && TDD ...

最新文章

  1. SCAN Learning to Classify Images without Labels(翻译)
  2. C语言 十进制整数字符串转十六进制字符串
  3. lcd图片转二进制工具_辽宁2.8寸LCD屏价格,测距仪LCD显示屏_思迈微
  4. 注册了Stack Overflow
  5. 以太坊PoA共识引擎算法介绍(3)
  6. delphi 不允许在线程里操作ui怎么办_11款鲜为人知的在线工具,全面而又强大
  7. Android中获取IMEI码及其它相关信息的源码
  8. 第一节veeam 10备份系统介绍
  9. 管理活动目录域服务实训_工商管理学院党总支举行校园公益服务活动
  10. 9-17每日一题:Leetcode36. 有效的数独
  11. 广域网(WAN)简介
  12. 【毕业设计/matlab系列】基于区域生长和形态学处理的道路检测实现【含Matlab源码】
  13. 基于扩展卡尔曼滤波(EKF)和低成本传感器的AHRS实现
  14. 仿蜜蜂视频TV实现gridview选中放大,并且放大时弹出底部说明
  15. 携程手机端网页设计效果图
  16. 微信小程序语音聊天智能对话(demo)
  17. springboot获取企业微信的access_token凭证
  18. ffmpeg ffplay 命令收集
  19. android 根目录uri,Android FileProvider 踩坑指北
  20. C语言文件 open函数和fopen函数

热门文章

  1. LCA树两个节点最低公共祖先
  2. arduino动态刷新显示_2019 台北电脑展:华硕显示器产品精锐尽出
  3. 【论文写作】课程指导平台的开发中系统流程如何写
  4. python输出运行时间_分析python程序运行时间的几种方法
  5. php在线解密mcrypt,PHP 基于 Mcrypt 的加密解密简单类
  6. Python Imaging Library: ImageColor Module(图像颜色模块)
  7. 交换技术及其具体应用
  8. LoadRunner入门教程(4)—web性能测试常用指标
  9. 在Linux中使用GoAccess分析Nginx的日志
  10. 第 二 十 八 天 :监 控 软 件 之 cacti