微信读书排版引擎自动化测试方案(8)

发表于:2017-03-10来源:WeRead团队博客作者:WeRead点击数: 标签:微信
除了大大减少人工测试的时间,开发同学借助自动化测试工具,能大胆重构代码,通过自动化测试来确保重构不影响排版结果,拥抱快速变更的需求。 随

除了大大减少人工测试的时间,开发同学借助自动化测试工具,能大胆重构代码,通过自动化测试来确保重构不影响排版结果,拥抱快速变更的需求。

随着自动化测试覆盖的变更版本、测试的书籍数量越来越多,带来的收益越大。

借助自动化测试流程,对于任何代码修改而导致样本书籍、每一页、每个像素点的排版结果变更,都能够纳入我们的监控,最终达到确保微信读书排版引擎质量的目的。

未来工作

目前,自动化测试工具已经投入使用。未来会持续优化、增加特性,以满足测试、开发同学的需求。

未来工作包括但不限于:

  • 邮件通知:执行脚本得到结果后,如果两个版本之间的排版结果有差异,通过邮件通知相关同学;另外,排版的性能对比结果也可以生成一份报告,通过邮件通报。

  • 运行速度优化:目前对 20 本书生成排版结果,耗时约 10 分钟,对比耗时约 2 分钟。可以进一步优化运行速度,争取覆盖更多样本书籍

  • 支持微信读书安卓版

  • 尝试应用在其他模块:对运行预期结果相对固定、测试代价大的功能模块,可以通过支持测试 scheme,输出运行结果截图,以插件的形式接入这一套自动化测试流程。

总结

本文介绍了微信读书排版引擎的日常修改时,人工测试所面临的问题,以及为什么需要自动化测试的原因。

然后本文分析了人工测试的流程,以及这些流程改造成自动化的可能性。

最后,介绍了我们整套自动化测试流程,以及应用自动化测试以后所来的好处,最终达到确保微信读书排版引擎质量的目的。

原文转自:http://wereadteam.github.io/2016/08/23/Typesetter/