写点什么

测试环境的全链路分析

作者:观测云
  • 2024-01-31
    上海
  • 本文字数:1802 字

    阅读完需:约 6 分钟

测试环境的全链路分析

前言

现代软件开发流程中,测试是不可缺少的一环。为了保障产品质量,需要软件测试站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现缺陷,并跟踪和分析产品中的问题,对不足之处提出质疑和改进意见。但在需求频繁迭代的当下,传统的测试管理方式需要测试人员付出极大的时间及精力来维护和更新测试用例和测试过程中发现的问题,在与开发的协作过程中也经常存在因报错问题难以定位前后端导致测试工作进度不理想等情况。如何搭建测试环境的全链路追踪分析路径实现测试进度可控、协作沟通高效是一个值得思考的问题。

观测云的全链路追踪方案

观测云遵从可观测性理念,为企业或团队提供测试、预发、线上等不同环境下的全链路分析方案。基于 “指标” “链路” “日志” 三大可观测性支柱,提供日志管理、分布式追踪(APM、Profile)、用户访问追踪等基于数据驱动的可视化一体化平台分析能力。

本文主要围绕 「用户访问监测」「应用性能监测」「日志」三大场景介绍测试人员如何从用户视角进行端到端测试,并基于观测云工作空间控制台实现业务、测试、开发多个团队协作完成测试流程流转及后续追踪。

准备工作

若您从未使用过观测云,请先根据以下操作步骤完成日志、用户访问追踪(RUM)、应用性能追踪(APM)数据采集:

注意:日志数据关联分析聚焦于异常报错分析,Profile 数据关联分析聚焦于性能瓶颈分析。您可根据实际需求场景,开启以下对应模块数据采集。

安装自动化追踪插件

第一步:下载浏览器插件

若上述准备工作已经完成,可以直接通过 下载浏览器插件 进行插件安装。

第二步:安装插件

  1. 插件下载完成后,通过浏览器访问:chrome://extensions/


    自动化追踪目前支持 Chrome 和 Edge 浏览器。

  2. 开启「开发者模式」

  3. 解压下载的浏览器插件「guance-rum-plugin.zip

  4. 点击「加载已解压的压缩包」

  5. 选择解压后的文件夹。



第三步:使用插件

  1. 右上角点击图标「扩展程序」,找到「Guance Cloud Plugin」双击打开插件。



  1. 开启即可生成专属追踪 ID。

注意:此追踪 ID 会在应用访问过程中自动注入添加到用户访问(RUM)上报数据中。



插件操作:

  • 点击重置生成新的追踪 ID 并启用插件

  • 点击历史记录图标查看追踪 ID 历史记录

  • 点击语言图标查看当前语言或切换语言

  • 点击❓图标查看帮助文档

实时访问浏览「XXX」Web 应用

测试用例场景

现象

用户在访问使用观测云日志查看器时,搜索关键词产生了以下报错。



常规测试定位
  • 用户提供工作空间信息、操作步骤、报错内容及截图

  • 测试在线上或测试环境复现用户操作

  • 定位问题后,同步用户报错原因

  • TBD

自动化追踪定位

登录观测云,进入「用户访问监测」应用列表,选中「XXX」 Web 应用,进入查看器,根据上面生成的追踪 ID (track_id:实际 ID) 筛选查看用户实际访问轨迹数据。

  1. 根据追踪 ID 和用户提供时间范围,定位到某个用户访问会话。



观测云同样提供会话重放功能,它会捕获单击、鼠标移动和页面滚动等内容,针对每一个会话生成视频记录。点击对应会话前面的【播放】按钮,更直观的了解用户的访问路径,定位发生异常的页面所在。

注意:会话重放功能需要升级 SDK 版本至 3.0 及以上,配置方式可参考文档 如何接入会话重放



  1. 根据具体报错功能「日志查看器」,定位 log/all 页面访问数据



  1. 点击查看页面详情页,查看请求状态 400 及是否存在关联后端链路调用数据



  1. 下钻查看关联链路调用,从上面页面请求状态定位属于 Network 类型的报错,继续下钻查看关联「日志」



  1. (可选)若需分析代码性能瓶颈,则可以定位到 df-front-api 后端服务所在顶层 Span,查看「代码热点」,了解 Span 执行过程中的执行耗时占比及方法调用耗时分析



  1. (可选)点击 「代码热点」的 「查看详情」按钮,跳转至 Profile 详情页。基于 Profile 火焰图分析 Java / Python / Go 等不同语言环境下应用程序运行过程中的动态性能数据,直观的查看 CPU、内存和 I/O 的性能问题;



结论

对比常规测试定位方式,观测云的全链路分析方案基于用户访问监测、应用性能监测、日志等功能组合,满足不同场景下的问题定位,实现在同一平台下多个团队协作定位处理问题,不仅解决了产品服务提供商跟用户反复确认等步骤,同时更提高了产品服务提供商侧产研测多个团队间的沟通效率。将开发、测试从繁重的测试用例更新工作中解放出来,能够更多的投入到对产品业务向的理解,提高团队的价值。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
测试环境的全链路分析_测试_观测云_InfoQ写作社区