前言
在当今面向程序员的培训市场中,许多培训课程将重点放在软件的开发工作上,但在实际生产环境中,软件项目测试工作所耗费的时间和经费通常不会少于开发工作的时间和经费,甚至在基于敏捷开发的软件工程理念中,测试工作往往会贯穿软件的整个生命周期。基于这种教学供给与市场需求之间的落差,本书重点介绍测试工作在软件开发过程中的重要性,以及实现自动化测试的必要性和方法。为了达成这一目标,本书使用Python语言介绍实现自动化测试的方法。毕竟,基于Python语言及其运行环境的自动化测试技术已经成为当今软件测试领域中很热门的选择。
本书能帮助读者学习Python自动化测试,开启自动化测试的大门。读者可以在本书的基础上深入学习并研究Python自动化测试更高级的技术,为将来的职业发展打下坚实的基础。
本书内容
本书以Selenium、Robot Framework这两个典型的自动化测试框架为中心,辅以PyTest、Jenkins这类用于自动管理测试用例的工具,详细地介绍如何基于Python语言实现自动化测试。本书从Python语言及其自动化测试框架的快速学习方法开始,循序渐进地介绍自动化测试环境的搭建方法,测试用例的设计方法,以及在持续集成条件下执行自动化测试的方法。在这一过程中,本书会提供一些测试用例,以帮助读者理解书中所介绍的测试方法。
本书共5章。
第1章对自动化测试进行概念性的知识梳理,并展示学习路线。
第2章介绍Python编程环境、基本语法和程序库。
第3章以面向Web应用程序的前端测试工作为例,介绍Selenium和Robot Framework自动化测试框架。
第4章探讨如何设计可交由自动化测试工具执行的测试用例,这也是本书的核心主题。在探讨这一主题的过程中,读者会具体了解在设计测试用例时所需要采取的基本步骤,以及常用测试策略。
第5章介绍集成测试的自动化和持续集成测试。
读者须知
由于本书主要介绍如何基于Python语言及其相关框架实现自动化测试,因此笔者希望读者在阅读本书之前已经掌握了Python语言及其运行环境的基本使用方法。虽然第2章介绍了Python入门知识,但如果读者想更全面地掌握Python语言的全部特性,还需要阅读内容更全面的图书。
当然,Python社区的自动化测试框架不但琳琅满目,而且更新迭代极为迅速,这意味着等到本书出版之时,读者在自动化测试框架方面很可能已经有了更好的选择。基于“授人以鱼不如授人以渔”的原则,本书的真正目的是希望帮助读者掌握快速学习任意一种自动化测试框架的能力,这种能力才是程序员在这个快速发展的时代可持续发展的动力。
注意,书中所有针对OnlineResumes示例程序的测试用例都是基于各章中的代码占比及阅读体验等,进行综合考虑之后产生的简化版本,其中省略了一些用于实际生产环境的测试代码。因此,如果想解决实际项目中的某些具体问题,读者还需利用在本书中学到的知识来设计具有针对性的解决方案。要熟练掌握自动化测试框架,最好的办法就是尽可能地在实践中使用它们,在实际测试需求的驱动下模仿、试错并总结使用经验。本书并不鼓励读者直接复制、粘贴本书配套资源中的示例代码,而鼓励读者动手模仿书中的示例,将自己想要执行的代码输入计算机中,观察它们是如何工作的;然后,试着修改它们,并验证其结果是否符合预期。如果符合预期,就总结当下的经验;如果不符合预期,则思考应该做哪些调整。如此周而复始,才能达到事半功倍的学习效果。
最后,感谢正在阅读的你选择了本书,希望它能够帮助你更好地理解Python自动化测试的知识和技术,并帮助你提升测试能力。笔者欢迎读者提出宝贵的意见和建议,以帮助笔者不断改进和完善本书。
在Gitee网站关注“华美”(huamei88888888),即可找到本书配套的源代码。
宋合志