功能测试转测试开发的正确姿势
作者:互联网
测试工作,通常被认为就是对着程序点点点。作为测试的你,是不是也这么想。
工作了 3~5 年,你可能对整个公司,甚至某个垂直行业的业务流程非常熟练了。对测试任务,能娴熟地进行优先级排序和可测试性分析;甚至能把它轻松地分解成可测试的工作模块;并且针对每一个测试模块,熟练地应用白盒或黑盒的方式进行测试用例设计,最终生成一份覆盖产品需求的、可执行性的测试计划。
在测试行业,这并不是个例。在无数个匆忙发版和 996 的不眠夜晚,你一定有过下面这些疑问:
为什么每次发版时间都这么紧张?这样“工具人”的工作何时能到头?
开发改动了核心代码, 我如何才能在这么短的时间内完成全量回归测试?
手工执行用例、多浏览器重复验证同个功能、单个功能多个测试环境一遍遍点过去……每天重复这样“点点点”的简单工作,我的职业生涯还有拓展空间吗?
这些问题看似没什么关联,但底层逻辑其实都是同一个,那就是:你的职业生涯的下一步应该怎么走?又应该如何安全度过职业生涯的第一个瓶颈期?
功能测试应该何去何从?
目前业界比较清晰的发展路径有两条:一个是业务型测试,另一个是技术型测试,我们看下它们各自的发展路径,如下图所示:
左侧的业务型测试,多见于比较复杂的特定业务场景的行业,比如银行业。若想成为某一领域的业务专家,所需要的付出并不亚于走技术路线,但是相对于技术路线来说,业务路线会把自己的职业选择固定在某一个特定的领域。
而右侧的技术路线相对来说,职业选择的面更广一些,这也是我们本专栏探讨的主题。在该路线中,你会发现“功能测试”这一初级小白,进阶至中级,离不开“测试开发”技能的加持。
并且,目前各大互联网公司也都很亟须具备开发能力的测试工程师。比如在拉勾招聘网站上搜索“测试工程师”时,你会从“任职资格”中发现,许多中级测试工程师职位都要求你具备一定的测试开发能力。
单纯的功能测试人员,找工作变得越来越难,甚至有些公司已经停止招聘只会功能测试的人员了。可以说,功能测试人员如果不转型测试开发,基本上得告别软件测试生涯了。
更不用说如果你工作了 5 年以上,企业是这么要求你的:
如果这时你的主要技能还没有转型到测试开发上来,那么,你真的是连面试的机会都不会有。
转型之旅上的弯路与正确姿势
不过很多有意愿转型测试开发的功能测试同学,可能由于时间紧,又缺乏正确方法和路径,都会走些弯路。
- 仅专注开发技术,从入门到放弃
比如会有人单纯认为,转测试开发主要补充一些编程技术即可,所以开始提升自己的编程能力,但由于技术本身比较枯燥、自身基础不扎实,以及没有阶段性的实践输出刺激自己持续学习,所以很快就会陷入基础知识的“泥沼”,越学越混乱,直到放弃。
那为什么会出现这样的情况呢?主要是因为自己都没有搞清楚测试开发的本质是什么,抓不住本质,也就无法有效地解决问题。
我们知道,测试开发日常工作是解决软件开发过程中测试人员面临的技术问题,以保证软件产品高质量、高效率发布,所以我们说:测试开发的本质是助力业务成功。
基于这个常见“弯路”,本专栏将结合案例,围绕业务痛点,带你学习开发测试框架所需的 Python 编程、Git 技巧等技术,让你在测试框架搭建过程中,有侧重点地学习测试场景所需的编程技术,而不是直接从编程知识入手,这样你便不会迷失在基础知识的假象里。
- 局限表面技能,缺乏对测试框架的全局认识
还有一部分同学非常自律,白天辛苦地“点点点”做功能测试,晚上还强迫自己看书学习记录,比如他可以根据网上教程做自动化测试,也会写自动化脚本,能简单运用诸如此类的测试开发技能。
但很快他就会发现自己写的脚本,这个项目能用,但换个项目,或者项目的数据结构一改变,自己写的脚本便不能用了,并且自己无力独立支撑一个自动化项目,更无法深入全面地认识测试框架。
此时,他会关注普适性,开始有框架的思维,会关注那些现有的成熟框架,而不是局限于那些表面的测试开发技能。
而该专栏便以自动化测试框架为核心,以真实的业务流程为依托,带你开发自己的自动化测试框架,解决一些经典的业务难题,比如如何融合 API 测试和 UI 测试,如何搭建 Mock Server 等。
总之,随着你代码能力的提高,以及对一些优秀的框架设计了解到一定程度,你就可以从模仿走向创造了,把它们的实现逻辑列出来,不看源码,自己也能用代码重新实现一遍。在实现这些的过程中,你一定会发现有很多过去没注意的细节, 比如编程基础的巧妙应用,这时再回头去看涉及的特定编程知识,就不会觉得枯燥难以理解了。
该专栏会讲哪些内容?
本专栏分为 5 大模块,共 23 讲。从测试开发的新手任务,即测试框架入手,围绕测试框架的概念、开发测试框架的方法、测试框架的经典思想等内容进行讲解, 并将这些内容通过代码实现,带你彻底掌握测试框架的开发,进入测试开发的大门。
模块一:打牢基础,从框架概念到代码实践
你将从概念、组成、设计原则全方位认识自动化测试框架,并从工作场景出发,先行学习开发测试框架所需的 Python 知识、Git 技巧,打牢测试开发基础。
模块二:项目实战,搭建自动化测试框架
带你从零开始,搭建第一个 Web 和 API 测试框架,并直接应用于日常工作中,从而完成 UI 或 API 自动化测试,迈开测试开发第一步。
在搭建测试框架的过程中,我将讲解 Python 的两个经典测试框架 unittest 和 pytest,带你搭建相应的测试框架。我还会带你深入了解这两个框架的一些经典功能的实现原理, 比如数据驱动 DDT,以及根据用户指定 Tag 执行测试等;我还会通过优化部分框架代码,手把手带你提升测试开发技巧;结合上一模块,你会对开发测试框架具体步骤和如何实施有更深入的了解 。
模块三:能力修炼,全面掌握多项技能
探索自动化测试框架开发中的经典实践,比如 API 和 UI 自动化测试融合的技巧,PO 模型、DB 链接、数据驱动以及数据操作的新方式——Pandas。通过本模块的学习,你将能够更加自如地应用市面上的测试框架,并将之改造以适应你的项目,做到知其然也知其所以然。
模块四:深入自动化测试框架开发原理
通过前面的学习,相信你已经对自动化框架的各个部分了然于胸,比如测试框架命令行参数、测试环境动态切换、测试用例动态挑选等。本模块将为你剖析这些经典模块的实现原理,并且带领你在了解原理后,自己编码实现这些功能。此外,我还会给你分享遇见问题时的解决思路,给予你思维引导,帮你成为一名合格的测试开发工程师,完全进入测试开发的世界。
加餐:本职之内,技术之外
向你讲解求职面试的高频考点,并传授面试技巧,以及入职后如何在一众测试开发中脱颖而出,在小团队中保持技术影响力,成长为技术骨干、技术管理。
你将收获什么?
“路漫漫其修远兮”,每条转型进阶之路都注定是孤单的,但分享和鼓励依旧会相伴随行,希望该专栏可以让你收获“智囊袋”,支持你的前行。
从基础到实战,获得高效省力的正确转型路线:一站式教学,紧贴业务场景的行业情况,并非海量零碎知识点的串联,路径清晰,即学即用,具备实用性。
收获你的第一个 UI 自动化测试框架 + API 自动化测试框架:以测试框架开发为核心,还原真实业务场景,留下项目实践经验,给简历增添亮点,敲开求职大门。
充分了解测试开发的职责要求和实战场景,轻松突破瓶颈期:知己知彼,让你对市场职业要求和自我能力,以及对测试职业生涯各阶段的职务,有清晰认知,自信上岗。
详细请咨询公众号:测试说
测试者的交流社区,总有你想要的~
标签:姿势,模块,框架,功能测试,开发,测试,自动化 来源: https://blog.csdn.net/smillBite/article/details/122011808