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

UI 测试最佳实践的通用测试的好处篇:将测试视为文档工具

这篇博文强调了 UI 测试最佳实践中通用测试的好处,特别是将测试视为文档工具的优势。文章解释了通过编写清晰、可读的测试代码,测试不仅仅是验证功能的手段,还是项目文档的一部分。这种做法有助于项目团队更好地理解系统,提高协作效率,并为后续开发和维护工作提供有价值的参考。通过将测试视为文档工具,项目团队能够更好地利用测试来传递信息,确保系统的可靠性和可维护性。

文章由 UI 测试最佳实践项目 内容翻译而来,大家有条件的话可以去 UI 测试最佳实践项目阅读原文。

将测试视为文档工具

原文链接:https://github.com/NoriSte/ui-testing-best-practices/blob/master/sections/testing-perks/tests-as-documentation.md

文档编写通常很困难,需要精确而细致的工作,并要求整个团队理解并重视撰写良好的文档。文档编写是一种无私的行为,对其他开发人员和未来的你都有帮助

测试方法不仅是确保我们编写的代码符合项目需求、防止引入回归的绝佳方式,还是对代码和用户流程进行文档编写的利器。

通过将测试用例作为文档工具的好处包括:

  • 文档与代码紧密关联:所有 UI 测试都应该从用户的角度出发编写,它们的描述也应如此。观察用户在项目中能够完成的操作是了解项目功能的有效途径。
    每个代码库都由成千上万个小代码片段组成,有时可能很难将所有要点联系在一起。测试有助于对项目有一个总体了解,甚至包括很多技术细节。

  • • 你不依赖于某些员工的历史记忆:很多时候,你最终会向一些了解项目并记得某些特定边缘案例的员工请教。一个良好的测试套件可以大大减少对这种知识的需求,并避免每个新开发人员通过几行代码引入回归问题。

  • • 同时,交接和入职阶段变得相当容易。

额外的一点是:如果你利用 Gherkin 语法,甚至对一些不太懂技术的人,比如 QA 团队来说,文档的效果都会提高。

请记住:

  • • 测试描述必须对于不了解项目背景的开发人员来说也必须清晰。

  • • 重复使用的测试函数、固定装置等必须有有意义的名称。一个用于注册和登录测试的registration-success.json固定装置可能会误导未来的读者,并使历史知识变得必要。请记住,依赖历史知识总是对必须经受开发人员更替的代码库不利。

  • • 总的来说,UI 测试在前端应用中起着基础作用,它们是唯一记录用户预期能够完成的真实目标的手段。

  • • 测试的代码必须尽可能简单。易于阅读,无条件,抽象级别低,具有良好的日志级别等。永远记住测试必须减轻阅读和理解代码的认知负担,因此它们的复杂性应该比待理解的代码低一个数量级。这提高了开发人员在自动化浏览器中查看测试之后必

须经历的深入过程。

  • • "连接"代码和测试:如果用户流程相当长,将一些“步骤”(带有一些注释)在源代码和测试代码之间共享可能是有用的。类似于/** #1 \*//** #2 \*/等。

  • • UI 测试并不是唯一的测试类型:为代码的某些可能难以理解的部分编写更多的低级测试是描述代码期望行为的好方法。

  • • 在测试中添加注释可以极大地帮助读者,参见"匹配测试代码和测试运行命令"章节中的“保持抽象水平以便于调试测试”一章。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.cnnetsun.cn/news/181090.html

相关文章:

  • 网络安全核心基础百问百答:你的第一本实用安全速查手册
  • 揭秘Open-AutoGLM如何拯救非遗文化:5大核心技术首次公开
  • 揭秘Open-AutoGLM底层架构:如何实现高质量文创内容自动生成
  • 收藏!大模型学习实战指南:从入门到进阶,小白/程序员少走90%弯路
  • 收藏!2025年AI行业风口:应用层人才成企业争抢核心,程序员/小白入门指南
  • 你不知道的Open-AutoGLM黑科技(5个隐藏功能让城市管理效率提升300%)
  • 传奇手游快速挂机 巨 椰 云手机
  • AbMole小课堂:类器官培养中决定成败的抑制剂、细胞因子
  • Vue基础入门08,详解 Vue watch 侦听器:基础用法、深度监听与立即执行场景
  • 怎样选择品牌代工厂?不要只关注价格,这5点才是关键
  • 一键群控多台电脑,狂揽 2.2 万 GitHub Star!
  • Open-AutoGLM模型压缩技术揭秘:在边缘设备上实现毫秒级推理的6种方法
  • Open-AutoGLM部署避坑指南,20年架构师亲授高可用场景适配秘诀
  • 为什么说Open-AutoGLM是首个真正具备自主学习能力的开源框架?
  • 一篇文章熟悉Java打包到部署
  • 数据结构 —— 顺序表
  • 基于springboot的大创管理系统(11549)
  • springboot基于安卓的老年养护与智能服务系统
  • EasyGBS助力智慧医院打造全方位视频监控联网服务体系
  • 【收藏级】全面拆解GraphRAG:从原理到实践,大模型知识库升级必备
  • Java多态——Java的三大特性之一,零基础小白到精通,收藏这篇就够了
  • 【Open-AutoGLM元宇宙适配终极指南】:揭秘三大核心技术突破与落地实践
  • Open-AutoGLM如何实现自主学习?:深度剖析其进化机制与训练闭环设计
  • [驱动之路——GPIO子系统]学习总结,万字长篇,一文彻底搞懂GPIO子系统(含GPIO控制器驱动框架解析)
  • Open-AutoGLM如何重塑城市治理?:3个真实案例揭示AI协同调度的颠覆性力量
  • 智能体式AI实战指南:从零构建IT自动化系统,程序员必学收藏教程
  • 家长用Realme手机,怎样远程管理孩子iPhone的屏幕使用时长?
  • 【Open-AutoGLM智慧城市协同调度】:揭秘未来城市交通智能调度的5大核心技术
  • Java SpringBoot+Vue3+MyBatis 宠物爱心组织管理系统系统源码|前后端分离+MySQL数据库
  • 【Open-AutoGLM自动驾驶交互核心技术】:揭秘AI驱动的车载人机协同新范式