`
suqing
  • 浏览: 187296 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

前端测试的思考

 
阅读更多

 

2012-1

做了一些前端单元测试的调查,可以帮助了解一下前端单元测试的现状;

根据现有的经验提出些施行构想,对执行步骤进行预估和比较;

以下是现在想到和总结的一些问题,考虑的还不是很全面。

 

单元测试的价值是什么?

答:1、保证前端代码的健壮性与易维护性,前端的JS问题及早发现;

2、提高前端开发工程师单元测试的意识,提高代码质量,规范代码,增加代码健壮性,提高产品质量。

3、回归的价值场景:单个应用涉及其他应用变更,能迅速反馈错误。

 

业界的单元测试模式是什么?

答:业界有许多单元测试框架,基本模式如同一辙,页面加载 -> 查询页面中的测试用例 -> 执行JS用例脚本 -> 捕获异常 -> 结果显示。

其测试大部分是时时的,或者是本地测试用的比较多,无法在时间的维度上进行问题跟踪、分析,不容易管理JS脚本等。

 

与业界前端单元测试对比,我们能做什么?

1、使前端测试代码与开发代码分离,易于维护;

2、可以与UI自动化结合,前端单元测试的自动化,让更多的前端测试脚本借助现有的自动化去跑;

3、与测试平台集成,方便的JS异常错误显示与跟踪;

 

淘宝前端单元测试现状?

答:淘宝UED 有一套JS单元测试系统——云谦的”CloudyRun”,基于nodeJS + Jasmine

CloudyRun驱动的直接是浏览器,让浏览器打开页面,支持各种浏览器,不仅局限于IE,火狐,更能支持chromesafari


 

现在的前端测试遇到什么问题。

答:

1现有自动化产品不完善:

- 在异常数据处理上面存在问题,没有具体的错误异常日志,如:测试的结果数据采用了发送邮件的方式,而测试的历史记录却不好跟踪,假如想查看过去一个月的测试结果,就无法办到;

- 查看执行过的用例,只能查看测试代码;

- 没有数据分析

2、推行中遇到的问题:

- UED各应用的代码沙箱闭包无法调用接口和方法,除非开发有单元测试意识,特地开放;

- 代码结构每条线各自有规范,比如开发什么样的全局变量,标准的封装方法不是很统一;

- 前端开发任务比较多,做单元测试的精力比较少;

- 开发不太喜欢写测试代码。

 

我们做单元测试可达成的目标是什么?

答:在测试平台上试行,针对测试平台一个系统的做前端代码的单元测试,覆盖率工具。

初步只能在现有我们的平台上面做一些验证与改进,长远的来看还是利大于弊;

 

短期的目标是什么?

答:1、短期的目标是在测试平台试行并改进;去业务线推广还要等稍微成熟的阶段;

2、更长远的目标是基于平台目标达成,在一条产品线试行,去业务线轮岗推行。

 

我们推动是不是也会遇到的同样问题,优势有哪些?

答:1、我们推动必然也会存在开发人员写代码的习惯问题;

2、但是我们有着天然的优势,前端测试数据可直接继承到测试平台,用户忠诚,开发测试每天工作都在平台上面,可以潜移默化的影响开发人员的编码习惯;

3、UI自动化可以解决我们前端脚本自动化执行的问题,技术上面,有积累更多

 

我们构想有哪些不同?

答:如果我们来做前端单元测试和CloudyRun重合度预估是25%

 

执行步骤:

1、编写单元测试代码;

2、接入UI自动化执行;

3、错误报告

 

我所设想的测试步骤:

1、编写JS测试脚本,本地环境测试(我们提供本地测试环境包);

2、部署到测试平台(可能是SVN或者上传?),指定脚本所测的URL

3 测试平台 调用 UI自动化 脚本在服务器端浏览器注入执行JS测试脚本;

4、浏览器捕获JS错误异常;

5、异常数据发送到测试平台;

6、测试结果数据展示分析等,大致步骤是这样;如果可以,JS用例是否可以直接在平台上面编辑?

JS代码覆盖率统计,覆盖率工具JScoverage,打桩,代码管理等问题)。


 

如果执行人角色是测试,会遇到哪些问题?怎么解决?

答:1、单元测试不同于接口测试,用例的编写模式也不一样,单元测试更接近于代码的测试,测试人员不了解开发写的代码逻辑和设计,所以测试代码必须是开发来完成的,如果是测试写的代码,必定会问题百出。

2、前端单元测试虽然也需要接口,但是和后端接口测试不一样;接口测试围绕业务逻辑,不需要关注代码是怎么写的;前端代码包含交互逻辑,测试需要花更多精力。

3、根本上还是需要UED开放接口和方法,而现在UED的代码存在很多不可测试的情况。

4、测试职位上优势,可以驱动开发做单元测试。

 

如果执行人角色是前端开发,会遇到哪些问题?怎么解决?

答:1、开发写测试代码,是一个习惯和意识的问题,长期以来前端开发都不写测试代码,

2、没有一套完成的前端测试系统来使用,需要我们来慢慢引导开发,潜移默化的影响他们的编码意识;

3、开发会有一些学习成本,不过不会很大,学习如何编写测试脚本,需要接受我们的语法。

 

前端UI测试所能解决的问题:(这段转的)

如:

1) [HTML] 元素节点是否输出完整,比如.site-nav, .login-info, .quick-menu 等元素是否存在

2) [HTML] 网站导航浮出层异步接口输出的内容是否符合预期

3) [CSS} 页头高度,颜色值等CSS属性是否符合预期,是否有被页面其他CSS 覆盖掉

4) [JS] 登录信息是否正确输出,模拟Cookie 值进行测试

5) [JS] 浮出层是否能浮出以及浮出后展现是否正常

6) [JS] 搜索功能是否正常

7) 等等….

 选择不同的浏览器(IE不同版本对应不同机器)执行,可进行兼容性测试

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    前端团队管理 前端基础架构的实践和思考 共22页.pdf

    前端团队管理与前端基础架构的实践和思考 前端团队管理是指在软件开发过程中,负责前端开发的团队如何更好地发挥职能作用,提高团队的效率和质量。本文将探讨前端团队的职能转变、前端基础架构的构建和实施,以及...

    WEB前端设计修炼之道.pdf

    书中也提到了前端性能测试的技巧和优化的基本原则,这对于提高页面加载速度、改善用户体验至关重要。同时,前端开发者也需要学习SEO技术,以增加网站的可见性。 现代Web前端设计还涉及利用JavaScript编写易于管理和...

    月哥-前端-社招1

    * 有大型微前端SaaS平台经验,跨团队协作能力强,对前端性能优化、前端安全等也有实践和思考。 * 喜欢分享,推动团队内部技术分享,并担任导师;工作认真负责,注重效率,曾获得年度优秀员工奖项。 开源教程&工具 ...

    前端开发工程师分享PPT

    - **测试质量把控**:前端工程师需要参与到测试环节,确保产品的质量和用户体验。 #### 三、交互体验 - **响应式设计**:指网站或应用可以根据用户设备屏幕大小自动调整布局,确保在不同设备上都有良好的浏览体验...

    前端面试宝典-我的前端面试资料,将网上相关面试题、Chatgpt4的回答以及自己的思考和追问整理后形成

    这份名为"前端面试宝典"的资料集合了作者从网络上广泛搜集的前端面试题目,并结合ChatGPT4的智能回答及个人深度思考,旨在为求职者提供全面而深入的准备指南。这份资料库的核心价值在于它不仅仅是一个问题与答案的...

    关于前端的书籍(中)

    这本书主要探讨的是逻辑思维和问题解决能力的培养,对于前端开发者来说,良好的逻辑思维能帮助我们在编写代码时更加清晰地思考程序结构,优化算法,从而提高代码效率。此外,书中可能涵盖的一些基础数学概念,如概率...

    GMTC深圳 2019年全球前端技术大会PPT合集(38份).zip

    大前端测试的思考和实践 从前端和云厂商的视角看 Serverless 与未来的开发生态 WebRTC 实时视频处理 基础美颜与视频超分实践 WebAssembly 在性能及加密场景的深度探索 Serverless 前端工程化落地与实践 Scott 中小...

    如何拿到互联网巨头的前端offer-面试要点与技巧

    在回答技术问题时,先概述思路,再详细解释步骤,可以帮助面试官更好地理解你的思考过程。同时,展现出对新技术的热情和自学能力,能增加你的吸引力。 在面试过程中,可能会遇到算法和数据结构的考察,如二叉树、图...

    心理测试源码

    例如,MBTI性格测试可能涉及根据用户选择的选项计算其在四个维度上的得分(外向/内向、感觉/直觉、思考/情感、判断/知觉)。测试逻辑需要设计得严谨且科学,以确保测试结果的可靠性和有效性。 3. **结果解析**:...

    智力测试情商测试提升智力小程序源码.rar

    智力测试通常包括逻辑推理、数学计算、空间感知、记忆能力等多方面的挑战,通过设计各种趣味性的题目,激发用户的思考和解决问题的能力。这些题目可能涉及算法设计、数据结构以及人工智能算法,例如机器学习中的决策...

    MTSC深圳 2021中国互联网测试开发大会PPT合集(51份)

    数据安全与风控解决方案测试实践与思考 一站式VR算法产研自助平台 质效合一质量效能建设实践 计算机视觉算法评测体系 用户体验测试提升方案 支付链路中断重入自动化测试方案 金融风控策略测试的一体化解决方案 机器...

    黑马程序员测试题部分答案

    【标题】:“黑马程序员测试题部分答案”涵盖了在学习编程过程中可能会遇到的各类...然而,值得注意的是,虽然答案提供了参考,但真正的理解和掌握还需要结合实际操作和思考,避免单纯依赖答案而忽视了自主学习的过程。

    前端团队开发规范====================

    这些规范包括前端命名规范、技术栈规范、编程规范、Git规范、前后端协作规范、UI设计规范、前端测试规范、浏览器兼容规范、IDE编辑器规范、文档规范等。 在开发过程中,前端团队需要遵守这些规范,以确保代码的可...

    淘宝性能测试白皮书V1.0

    性能测试模型,如PV计算模型、PV->TPS转换模型、TPS波动模型以及共享中心性能测试模型和前端页面性能测试模型,都是为了更准确地模拟和预测系统性能而构建的。这些模型有助于测试人员深入理解系统行为,并以此为基础...

    非常好的某网站性能测试用例

    这涉及到前端页面加载速度和后端服务的快速响应,需要测试在不同网络环境和并发用户数量下,页面能否迅速加载完成。 2. 产品下载响应时间:要求小于4秒,抖动同样小于2秒。测试时需模拟不同大小的文件下载,关注...

    尤雨溪-Vite 对下一代前端工具的思考.pdf

    Vite 是一种新的前端构建工具,旨在提供更快、更灵活的开发体验。Vite 由尤雨溪创造,旨在解决传统构建工具的性能瓶颈。Vite 的设计基于两个新趋势:现代 JavaScript 的广泛支持和新的 JS 编译器。 Vite 的架构由两...

    web前端小测验

    - 这类题目通常需要从不同的角度思考问题,寻找最优解。 - 需要根据题目具体要求进行解答。 **扩展**: - 逻辑思维训练:通过解决各种逻辑问题来提高逻辑思维能力。 - 解题策略:如归纳法、反证法等。

    前端开源库-fantasy-land

    - **可测试性**:使用函数式编程模式和代数结构,可以使代码更容易测试,因为它们通常更关注行为而不是状态。 - **代码可读性**:遵循一定的模式和约定,使得代码更易于理解和维护。 ### 4. 实践中的fantasy-land ...

Global site tag (gtag.js) - Google Analytics