ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

功能测试转测试开发的正确姿势

2021-12-18 14:32:17  阅读:157  来源: 互联网

标签:姿势 模块 框架 功能测试 开发 测试 自动化


测试工作,通常被认为就是对着程序点点点。作为测试的你,是不是也这么想。

工作了 3~5 年,你可能对整个公司,甚至某个垂直行业的业务流程非常熟练了。对测试任务,能娴熟地进行优先级排序和可测试性分析;甚至能把它轻松地分解成可测试的工作模块;并且针对每一个测试模块,熟练地应用白盒或黑盒的方式进行测试用例设计,最终生成一份覆盖产品需求的、可执行性的测试计划。

在测试行业,这并不是个例。在无数个匆忙发版和 996 的不眠夜晚,你一定有过下面这些疑问:

为什么每次发版时间都这么紧张?这样“工具人”的工作何时能到头?

开发改动了核心代码, 我如何才能在这么短的时间内完成全量回归测试?

手工执行用例、多浏览器重复验证同个功能、单个功能多个测试环境一遍遍点过去……每天重复这样“点点点”的简单工作,我的职业生涯还有拓展空间吗?

这些问题看似没什么关联,但底层逻辑其实都是同一个,那就是:你的职业生涯的下一步应该怎么走?又应该如何安全度过职业生涯的第一个瓶颈期?

功能测试应该何去何从?

目前业界比较清晰的发展路径有两条:一个是业务型测试,另一个是技术型测试,我们看下它们各自的发展路径,如下图所示:

图片

左侧的业务型测试,多见于比较复杂的特定业务场景的行业,比如银行业。若想成为某一领域的业务专家,所需要的付出并不亚于走技术路线,但是相对于技术路线来说,业务路线会把自己的职业选择固定在某一个特定的领域。

而右侧的技术路线相对来说,职业选择的面更广一些,这也是我们本专栏探讨的主题。在该路线中,你会发现“功能测试”这一初级小白,进阶至中级,离不开“测试开发”技能的加持。

并且,目前各大互联网公司也都很亟须具备开发能力的测试工程师。比如在拉勾招聘网站上搜索“测试工程师”时,你会从“任职资格”中发现,许多中级测试工程师职位都要求你具备一定的测试开发能力。

图片

单纯的功能测试人员,找工作变得越来越难,甚至有些公司已经停止招聘只会功能测试的人员了。可以说,功能测试人员如果不转型测试开发,基本上得告别软件测试生涯了。

更不用说如果你工作了 5 年以上,企业是这么要求你的:

图片

如果这时你的主要技能还没有转型到测试开发上来,那么,你真的是连面试的机会都不会有。

转型之旅上的弯路与正确姿势

不过很多有意愿转型测试开发的功能测试同学,可能由于时间紧,又缺乏正确方法和路径,都会走些弯路。

  1. 仅专注开发技术,从入门到放弃

比如会有人单纯认为,转测试开发主要补充一些编程技术即可,所以开始提升自己的编程能力,但由于技术本身比较枯燥、自身基础不扎实,以及没有阶段性的实践输出刺激自己持续学习,所以很快就会陷入基础知识的“泥沼”,越学越混乱,直到放弃。

那为什么会出现这样的情况呢?主要是因为自己都没有搞清楚测试开发的本质是什么,抓不住本质,也就无法有效地解决问题。

我们知道,测试开发日常工作是解决软件开发过程中测试人员面临的技术问题,以保证软件产品高质量、高效率发布,所以我们说:测试开发的本质是助力业务成功。

基于这个常见“弯路”,本专栏将结合案例,围绕业务痛点,带你学习开发测试框架所需的 Python 编程、Git 技巧等技术,让你在测试框架搭建过程中,有侧重点地学习测试场景所需的编程技术,而不是直接从编程知识入手,这样你便不会迷失在基础知识的假象里。

  1. 局限表面技能,缺乏对测试框架的全局认识

还有一部分同学非常自律,白天辛苦地“点点点”做功能测试,晚上还强迫自己看书学习记录,比如他可以根据网上教程做自动化测试,也会写自动化脚本,能简单运用诸如此类的测试开发技能。

但很快他就会发现自己写的脚本,这个项目能用,但换个项目,或者项目的数据结构一改变,自己写的脚本便不能用了,并且自己无力独立支撑一个自动化项目,更无法深入全面地认识测试框架。

此时,他会关注普适性,开始有框架的思维,会关注那些现有的成熟框架,而不是局限于那些表面的测试开发技能。

而该专栏便以自动化测试框架为核心,以真实的业务流程为依托,带你开发自己的自动化测试框架,解决一些经典的业务难题,比如如何融合 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有