上周末分享了一篇《性能测试工程师成长必读书单》,有同学留言希望能分享关于自动化测试的学习书单。相比于性能测试,自动化测试要学习实践的内容在我看来反而比较具体,主要有如下几方面:
- 编程语言
- 自动化工具或框架
- 结合业务场景的测试用例设计
- 将自动化case集成然后持续运行起来
结合自己关于自动化测试的实践,我整理了自认为还不错的几本技术书籍,标注了推荐原因,仅供参考。
编程语言
其实学习编程语言,我没什么技术书介绍,无论是java还是python。
权威书籍基本都是大部头,对于还在纠结自动化测试要学什么语言的同学来说,有点为难。
我的建议是,无论是付费的编程语言课程,比如极客时间上的一些热销课程,或者B站上的课程,我个人觉得都很好。
学习编程语言最大的困境或者难点就是大量的实践。现在无论是付费课程还是教学课程,资料特别多,找到一个评价不错的或者热销的,每天坚持跟着练习,快则半个月慢则一个月,基本就可以在日常工作中应用起来了。
当然,如果是在团队和日产工作中开展自动化测试,建议编程语言的选择,考虑如下几点:
- 和被测服务的开发语言保持一致(有问题还能找开发求助);
- 团队大部分成员熟悉的编程语言(调研或投票都行,工作偶尔还是要随大流的);
工具框架
现在市场上关于自动化测试的技术书籍,相比几年前多了很多,特别是关于工具入门或者框架实践的更多。下面几本书是我个人觉得还不错的,仅供参考。
《python全栈测试开发》:编程语言&基础理论&入门实践&持续集成这些内容几乎都包含,大而全,适合新手。
《从0到1搭建自动化测试框架:原理、实现与工程实践》:介绍了自动化测试的实践以及自己开发测试框架,适合进阶。
《高效自动化测试平台:设计与开发实战》:更偏向全局角度的平台设计书籍,非工具书,适合有实践经验的同学参考。
其实用什么工具或者框架,我个人认为要分2个角度:
- 自己学习:热门的,社区活跃的,网上资料多的,这样有助于新手快速成长,不至于困在第一步。
- 工作应用:涉及到工具和框架选型,建议结合团队成员技术能力、技术栈偏向、落地改造成本等方面选择。
持续集成
其实这点不单单是学习下jenkins或者持续集成,在我看来自动化测试其实是软件研发阶段的一个环节。自动化测试应该成为软件持续交付流水线中的一个环节,当然持续交付流水线又涉及到很多其他方面的知识。
在这方面近几年业内的最佳实践基本就是devops,但是devops不同人又有不同理解,众口难调。下面几本书算是业内比较经典和权威的书籍,看过一部分,对我启发很多,因此列出来,仅供参考。
《DevOps实践指南》:图灵出品,经典的技术书籍。
《持续交付:发布可靠软件的系统方法》:业内经典的技术书籍,非工具书,延伸阅读,自选。
《持续交付2.0:业务引领的DevOps精要》:相比于几本经典书籍,这本更偏向于企业落地实践。
《持续集成:软件质量改进和风险降低之道》:业内经典的技术书籍,非工具书,延伸阅读,自选。
PS:如果只想学习持续集成工具,那百度下工具,按照销量买工具书就行,纯工具书我就不推荐了。
行动起来,比什么都重要。