前言

随着软件开发技术的发展,近年来各行业对软件相关从业人员的要求也在逐渐提高,这一点从软件测试岗位的要求来看尤为突出。之前对功能测试人员的要求主要是用例设计、bug分类、软件研发流程、计算机基础知识等几个方面。近年来,由于软件测试岗位的重要性慢慢地体现出来,对软件测试岗位的要求也在不断提高,要求软件测试人员除了需要掌握一些软件测试的基础技能之外,还要在提升效率、稳定质量等方面有所建树。

提升效率,一方面可以通过流程优化实现,另一方面则需要通过自动化和半自动化的测试工具来实现。稳定质量,一方面需要通过增加用例设计和测试覆盖来实现,另一方面则需要通过开发测试工具度量测试的有效性来实现。

此外,随着软件开发技术的不断发展,大数据、云计算、人工智能等技术被广泛应用,微服务、分布式等架构遍地生根。这直接提高了软件测试工作的难度,想要对这些新技术系统完成测试,首先要解决的就是可测性问题。

总之,现在的软件测试岗位对于测试人员的要求,已不再仅仅是满足功能测试,更需要在这个基础能力之上,有一层能够扩展的能力圈。这层能力圈可以让测试人员适当地提升测试效率、提高测试质量、解决可测性问题,这层能力圈就是代码研发能力及解决问题的能力。

本书以Python语言为基础,希望测试人员能够通过本书的学习掌握Python开发技能,并能够实现从功能测试人员向测试开发人员的转变。本书精心设计的实践项目可以供测试人员在解决实际问题时参考。测试人员可通过学习实践项目来了解如何在实际工作中发现待解决的问题,以及解决问题的思路和方法。

本书学习提示

本书的第一部分主要介绍学习Python测试开发所需要掌握的基础知识。为了能够兼顾初次学习Python的读者,基础开发知识的内容从Python的历史发展、Python的版本选择及环境安装讲起,到Python的执行环境和基础语法,再到Python高阶特性的编程,最后回归到常用第三方库的使用与实践。

本书的第一部分知识是为第二部分具体项目的开发实践打基础,如果读者掌握了第一部分知识,在学习第二部分时将非常轻松。有Python基础的读者可以选择性地学习章节,建议没有相关基础的读者严格按照本书的章节顺序进行阅读。

需要提醒的是,第5章Web前端开发基础的内容,基于对整体章节和内容一致性的考虑,只包含了Vue框架的知识点,对于常规的Web开发“三剑客”(HTML、CSS、JavaScript)并没有进行相关介绍,建议没有Web相关基础的读者在学习该章之前,从其他渠道学习相关知识。

本书的第二部分为项目实践,介绍的4个实践项目都是Web项目,统一使用前后端分离的架构进行开发。每个实践项目都从需求分析开始,到软件设计,再到代码开发,演示了较为完整的Web项目的开发流程。

第二部分所选取的Web项目实现的都是测试工作中可能需要实现的需求,每一个项目在实际工作中都可以直接应用。因此学习这些实践项目,不仅可以学习Web项目的开发,还可以获得一份有用的测试服务工具代码。

学习完第二部分内容之后,读者能够了解Web项目的架构和设计,能够基于现有的项目进行功能的二次开发,可以把这些Web项目应用到实际的测试工作中。

作为一名从软件功能测试一路转型到测试开发的工程师,笔者想要对希望转型为测试开发人员的读者说的是,如果你已经有了决定,那么就从现在开始着手实践。首先,学习并掌握好测试开发的基础代码技能;其次,培养一双善于发现问题的眼睛,并尝试通过技术来解决发现的问题。当然,凡事都需要从小的问题开始实践,随着研发经验的增长和解决问题思路的逐渐成熟,慢慢地,你将能够解决更大、更复杂的问题,从而成为一名合格的测试开发人员。

作者
2021年9月