Web UI 自动化测试

测试是软件开发中最重要的环节之一,而对于拥有图形化界面的软件产品而言,基于界面(UI)的功能测试是产品质量的重要保障,但这同时也是最耗费人力的测试方式。因此许多开发人员在意识到这一问题之后,都会开始寻求自动化 UI 测试的解决方案,但最终往往因为难以维护、运行效率低、用例过于脆弱等原因放弃,在国内技术社区中也缺乏相关资料。

笔者所在的前端团队负责开发、维护的项目由于面向企业级用户等特点,对质量保障环节同样有很高的要求。对 Web UI 的自动化测试也是 UI 自动化测试的主要分支,我们在一年多的时间里经历了初期探索、个人实践、团队参与和完全落地几个阶段之后认为 Web UI 自动化测试对于许多项目而言都是完全可行并且值得投入的。

目前我们的项目已经通过持续集成工作流运行了数千次测试,单线程非并行情况下所有用例执行时长超过一小时,并且进一步孵化出产品级别的端到端测试工具服务测试团队。现将我们的经验整理成本书,希望弥补技术社区中这一领域的缺失。

本书主要分为以下几个方面进行讲解:

  1. 必要性与适用场景。对于所有尚未决定在项目中加入 UI 自动化测试的读者,建议优先阅读这一部分,从而判断项目是否适用 UI 测试。
  2. 框架选择标准。许多读者可能一直纠结于应该选用何种框架开始编写测试,在书的这一部分不会对各种已有框架进行对比,而是分析一个框架应该提供哪些能力来满足对应的需求,帮助读者最终选出最适合自己使用场景的框架。
  3. 测试用例编写指南。这一部分会以笔者团队所使用的nightwatch.js 作为框架,演示编写 UI 自动化测试用例的一些思路与技巧,旨在帮助一些已经开始实践的读者进一步提升测试用例的质量与开发速度。同时也希望读者们向这一部分贡献自己所使用框架的对应实现,方便更多的读者进行横向比较。

  4. 接入持续集成。这一部分将重点讲述笔者所在团队在将 UI 自动化测试加入项目持续集成工作流时所遇到的问题与解决方案,避免读者再花费大量时间排查各类环境问题。

本书内容将以实践经验为主,配合一定的理论以及代码演示,欢迎读者进行反馈与讨论。

Github仓库地址:https://github.com/Yuyz0112/web-ui-test-book

results matching ""

    No results matching ""