这篇博文强调了 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 测试并不是唯一的测试类型:为代码的某些可能难以理解的部分编写更多的低级测试是描述代码期望行为的好方法。
-
• 在测试中添加注释可以极大地帮助读者,参见"匹配测试代码和测试运行命令"章节中的“保持抽象水平以便于调试测试”一章。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。