前端精准测试实践

前端,精准,测试,实践 · 浏览次数 : 129

小编点评

**前端代码改动影响范围评估方法** **1. 静态分析** * 使用工具如 `Webpack` 或 `Vue` 的静态分析插件,识别代码中的依赖关系。 * 通过分析依赖树,确定哪些文件和功能与页面相关。 **2. 页面级测试** * 使用 `PageObject` 等工具,模拟页面行为,验证页面逻辑是否正常。 * 通过测试,确定哪些文件和功能与页面相关。 **3. 自动用例收集** * 使用工具如 `Chrome DevTools` 或 `Puppeteer`,记录页面加载过程,自动收集用例。 * 通过用例,确定哪些文件和功能与页面相关。 **4. 代码覆盖率分析** * 使用工具如 `Jest` 或 `Cover`,计算页面代码的覆盖率。 * 通过覆盖率,确定哪些功能的改动被覆盖。

正文

作者:京东云质量部

背景

随着前端技术发展,已经转变为数据绑定为主流的框架方式,与后端服务一样,前端代码实现也会涉及相互依赖,引用这些场景,那么应该如何准确的评估前端代码改动的影响范围?依赖开发评估?依靠经验评估?或者直接前端自动化全回归?手工测试全回归?显然以上的策略都不是最优策略,本文叙述了通过对前端代码进行静态分析,找到改动文件影响的功能范围,从实现了一种前端精准测试的思路。

如何进行精准分析

前端对外可直接感知的就是页面,最终目标是要确定影响哪个功能。整个前端精准测试划分为4步:

第一步,确定影响的页面。

第二步,确定影响的功能。

第三步,根据分析结果,找到对应的自动化用例集合,并触发运行

第四步,对比前端代码增量覆盖率,确认改动覆盖完成

前端页面与路由直接相关,从路由入手,建立路由与展示页面的关系,再依据入口文件的import关系,建立前端代码文件依赖树,再通过git diff对比找到改动的文件,从而反查到影响的前端页面。

精准分析实现

设计思路

解析路由文件,建立路由文件中每个菜单的依赖树,从而根据改动文件反查影响页面

实现逻辑

鉴于上述设计思路,结合目前技术支撑现状及快速实验的目标,开发了前端精准分析的第一版方案。

(路由文件分析暂时未找到规律,且实际场景中,路由文件变更不会频繁,维护成本不高,所以此步骤暂由人工维护)

关键逻辑:文件依赖树的分析及存储

应用

webhook自动触发分析

在代码平台上配置webhook触发分析接口,即可实现代码提交,自动触发分析

平台手动触发分析

规划

目前平台仅仅实现了前端精准测试4步中第一步的80%(路由与入口文件的关联还未实现自动分析),推荐仅仅到了页面级别,还未达到按钮级别,此处还需要再研究一下前端开发的相关技术,找到自动解析路由的方法。第二步计划尝试借助istanbul前端覆盖率工具,做一下增量覆盖率对比,保证手动回归可覆盖改动。

与前端精准测试实践相似的内容:

前端精准测试实践

作者:京东云质量部 背景 随着前端技术发展,已经转变为数据绑定为主流的框架方式,与后端服务一样,前端代码实现也会涉及相互依赖,引用这些场景,那么应该如何准确的评估前端代码改动的影响范围?依赖开发评估?依靠经验评估?或者直接前端自动化全回归?手工测试全回归?显然以上的策略都不是最优策略,本文叙述了通过

Jest + React 单元测试最佳实践

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 前言 单元测试是一种用于测试“单元”的软件测试方法,其中“单元”的意思是指软件中各个独立的组件或模块。开发者需要为他们的代码编写测试用例以确保这些代码可以正常使用。 在

Visual Studio 必备插件集合:AI 助力开发

一、前言 2024年AI浪潮席卷全球,编程界迎来全新的挑战与机遇。智能编程、自动化测试、代码审查,这一切都得益于AI技术的迅猛发展,它正在重塑开发者的日常,让编写代码变得更加高效、智能。 精选出最受好评、最具实用价值的Visual Studio插件,涵盖代码编辑、调试、测试、版本控制等多个方面,帮助

如何配置 SLO

前言 无论是对外提供 IaaS PaaS SaaS 的云公司,还是提供信息技术服务的乙方公司,亦或是金融 制造等各行各业的数据中心、运维部门,我们的一个非常重要的合同承诺或考核评估指标就是:SLA(即:Service-Level Agreement 服务等级协议)。 而真正落地实现 SLA 的精确测

前端自动化测试之葵花宝典

Web 前端自动化测试是一种可以提高测试效率、减少测试成本和提高测试质量的方法,适用于各种类型的 Web 应用程序。本文谈谈前端自动化测试从入门到精通再到专家级的方案与思维!

前后端结合解决Excel海量公式计算的性能问题

背景 在数据密集的业务领域,尤其是金融,保险,税务等行业中,经常需要利用Excel模型,来对业务进行分析和处理。例如: 1.金融投资: 根据模型进行估值计算,并对投资风险进行评估,通过测算出投资的内部收益率(IRR),净现值(NPV)来做投资收益分析,反应项目的获利能力。 2.保险精算: 运用数学,

前端已死?全栈当立?取法于中,仅得其下。

开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上? 前端

如何实现元素的曝光监测

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:霁明 一些名词解释 曝光 页面上某一个元素、组件或模块被用户浏览了,则称这个元素、组件或模块被曝光了。 视图元素 将页面上展示的元素、组件或模块统称为视图元素

流程图渲染方式:Canvas vs SVG

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:霁明 背景 我们产品中会有一些流程图应用,例如审批中心的审批流程图: 我们数栈产品内的流程图,基本都是使用的 mxGraph 实现的,mxGraph 使用了S

monaco-editor 的 Language Services

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:修能 这是一段平平无奇的 SQL 语法 SELECT id, sum(name) FROM student GROUP BY id ORDER BY id;