• 0
  • 0
分享
  • 测试开发真的是测试人的终点吗?——软件测试圈
  • 曼倩诙谐 2023-06-05 14:24:02 字数 2983 阅读 1085 收藏 0

  前言

  在一线大厂,没有测试这个岗位,只有测开这个岗位,即使是做业务测试,那么你的title也是测开。

  所以想聊一聊测开的看法,但不代表这是正确的看法,仅供参考。

  没来阿里之前我对测开的看法

  一直以为专职做自动化测试和性能测试是测试这条路的最终归宿,测试开发,只是大厂才可能存在的角色;测试平台,少部分公司才会用到的东西,肯定不会成为主流的。

  况且测试平台要会前端还得会后端,你都这么全栈为什么不做开发呢?做UI自动化、接口自动化直接写python脚本不就好了嘛,做性能测试用Jmeter就好了。

  在多数人眼中,测试开发就是“开发一个测试平台,就要包揽前后端”,至少我一开始也是这样认为的。

  前端要会、后端也要会,测试也得会,感觉就是全能的啊!

  来了阿里之后,对测开看法有了转变:测开才是做测试这条路的最终归宿,其实不只是测试,包括运维,最终肯定是运维开发,而不是自动化运维(抛开管理层而言)。

  只有开发测试平台才是测开的最终选择吗?不,不是的!

  但做出一个平台是最容易体现你身为测开的价值,毕竟你前后端都啃了,能跟开发同学一样弄一个完整的平台了,晋升那不是妥妥的,现在大部分同学都很敬佩有开源测试平台经验的人。

  包括在阿里,其实之前就有很多人聊过,如果你平时搬砖没有做一些技术活,那你的晋升之路肯定没有做纯技术的同学顺利,因为晋升答辩你可以短时间展示你的技术能力,但是没有办法短时间展示你的业务能力或者其他软实力。

  阿里测开

  其实是分部门的,如果是业务部门,那一般就是业务测试,点点点也不例外,当然你可以自己决定是否开发一些工具、脚本来辅助测试。如果是基础建设部门,那可能就是开发平台,或者是一些通用型工具。

  像我们部门的话,很推崇技术解决问题,所以很多时候会用自动化去解决一些痛点,所以也有很多锻炼的机会等着我……

  测试平台的好处和不足

  好处

  1、接口测试、UI自动化测试、性能测试均可通过点击页面解决,因此可以降低做自动化测试、性能测试的门槛,提高测试效率、测试广度。

  2、平台有页面,页面友好能提高人干活的积极性,小白或者新同学见到也愿意去做和学习,也就提高了个人的主观能动性。

  3、使用平台代表团队共享、数据共享、项目共享,基础弱的同学可以看到大神同学写的东西,这就可以提高团队的分享氛围,促进不同技术能力的同学互相学习,当然前提要肯去学。

  4、数据共享意味着一切皆可溯源,比如有人删库跑路、删数据跑路,那对应的操作人记录肯定能看到,可以提高项目的稳定性。

  5、数据私有化,这个私有化指的是,项目所有数据都可以保存在自己公司服务器 ,提高项目的安全性,不过大部分开源项目应该都支持私有化部署。

  6、做出测试平台的同学更容易得到团队中的认可,能提高个人的影响力和晋升成功率。

  还有其它好处,就不一一列举了。

  不足

  其实有些好处就是不足,比如:

  1、降低了高阶测试的门槛,所以会让测试同学的技术能力更加两极分化,做技术的可能会越做越好,但本身没有代码能力的测试同学可能只能通过平台来做接口测试、自动化测试,缺少了自己独立锻炼实战的机会。

  2、测试平台化是趋势,所以未来一定会有更多的企业效仿大厂招测试开发,那转行做测试的门槛也会更加高,未来可能会像面开发一样面测试(大厂已经是了)。

  不过这个应该是算优势也算劣势吧,提高测试的竞争力可以提高测试的地位,只不过会淘汰很多只会手工测试不愿学习代码的同学。

  3、做测试平台,不仅需要有很强的测试能力,因为你都不了解测试需要什么,怎么开发出一个好的平台呢?

  然后还得需要有前后端的知识,可能还得加上运维知识,所以你得会很多东西,这就变成做测试平台的门槛反而很高,以至于有些开发同学来转行做测开。

  4、做成一个可用性、稳定性、易用性都很好的测试平台,所需要的时间成本、人力成本是巨大的,因为这相当于开发一个完整的新项目,所以它的生命周期会很长,如何说服你的老板同意去做是一个问题,这就不仅需要你的技术能力能说服老板,更需要老板有魄力支持你。

  假设你的技术能力low一点,那么它可能就无法在多个团队中展开使用,这样会导致投入产出比非常低,即使用起来,可能后期维护成本也很高……

  这样来看其实平台也有很多不足。

  我对测试平台的看法

  它会是趋势,但它很难每个公司都能独立完成一个测试平台。前面有说过,完成测试平台所需要的能力五花八门,所以当你会这么多技能的时候,你可能就想要很高的薪资,但从国内对测试的态度来看,它的工资肯定会比开发低一层(大厂无视),这就变成一个恶性循环,公司想要低成本劳动力干测开的活,你作为测开想要拿到更高的薪资。

  所以网上有很多开源的测试平台,一般没能力开发平台的公司就会私有化部署,然后再定制化二次开发,这也是一种趋势,应该不存在销售测试平台的情况,毕竟开源的都挺好看挺好用的。

  测试平台很难做到适配所有项目,包括在阿里其实测试平台特别多,自动化、性能、兼容、云真机,但我所在的部门一个都没用上,原因有很多种,就不细说了。

  问题汇总

  测试平台是测开必需品吗?

  我认为不是的,测试平台虽然很能体现测开的能力,但不是唯一方式。

  实际项目中用不到测试平台,有必要学习吗?

  只要是对自己成长有帮助的,其实都应该学习,只不过有优先级而已。假设未来你想走测开路线,那么学习如何开发测试平台也未尝不可,当然不影响当前工作前提下。

  做测试平台的前提

  对个人而言

  有一个测试平台项目经历,可以提高面试通过率和自己的技术能力。

  对团队而言

  应该是质量效能部,或者基础建设部来主导,而不是业务测试部门来主导,这应该是一个专职工作,而不是闲下来的时候弄一弄。

  另外要确保得到老板的支持,充分调研测试平台的可行性,比如团队组成、技术选型、可承受的损失范围、平台使用的部门等等。

  测开都有哪些职责

  我的主管跟我聊过,测开并不一定要做测试平台才算测开,一个合格的测开,应该是对自己项目上用到的编程语言很熟悉,如同开发一样熟,甚至要比他们还熟悉。

  作为测开,可以给开发同学进行code review,特别是有新开发同学刚入职可能对业务、代码架构不熟悉,写的代码就会乱七八糟,这个时候假如你很熟悉整套代码,很熟悉这个编程语言,那么你就可以提出优化建议。

  不要说不可能,我主管就可以,比开发还熟悉编程语言,另外还可以写单元测试,我们的服务端单元测试覆盖率是70%左右,所以基本服务端没啥Bug。

  测试开发可以是开发平台,也可以是开发工具,亦可以是编写脚本,但都有一个最终目的,使用你的开发技能来提高测试效率、测试广度、深度,用更高的测试覆盖率来保障项目质量。

  开发工具,可以是二次开发开源框架,比如RF,可以是二次开发测试工具,比如Jmeter。二次开发的前提不是为了秀你的技术,而是当前的工具/框架满足不了你的测试场景,所以你要二次开发,以此来满足。

  像我项目中,因为有自研的rpc框架,所以需要二次开发Jmeter的取样器,才能正常测试。

  至于到底要不要开发测试平台,这个只能看自己团队了~


作者:小菠萝测试笔记    

来源:http://www.51testing.com/html/15/n-7794315.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   引言  在这里,笔者将总结并反思在最近组织体系落地后的测试工作。将涵盖从工作目标到总结与展望的各个部分,以便读者朋友可以轻松了解笔者在工作中所面临的挑战和解决方案。  1.工作目标  笔者的工作目标始终是致力于提供高质量的测试工作成果,并为团队创造最大的价值。在这个周期内,笔者专注于提升自身自动化测试技能,扩大笔者的OA业务知识基础,履行测试和发布新流程,并与运维团队成员建立更强大的合作关系。  2.完成的任务  在这段时间内,笔者负责了51个重要项目,并成功地完成了它们。其中包括:  完成了一项重要的绩效系统测试,保证产品交付的及时性和准确性,帮助笔者们的开发和产品队员实现了更好的协作和...
            0 0 1035
            分享
          •   根据国外科技媒体 MacRumors 报道,通过分析 iOS 日志文件,显示苹果公司内部正在测试 iOS 17.1.1 更新。  从版本号判断,iOS 17.1.1 更新主要集中在修复现有版本中的 BUG 上,但尚不清楚会修复哪些问题。  该媒体预估,iOS 17.1.1 将会包含 iOS 17.2 Beta 1 更新中的修复内容,包括修复 Wi-Fi 连接问题、修复夜间自动关机一段时间等诸多问题。  苹果公司此前承诺,将会在今年晚些时候发布的更新中,修复影响 iPhone 15 系列的宝马无线充电问题,但该修复程序是否会包含在 iOS 17.1.1 中还有待观察。  目前尚不清楚 iOS...
            0 0 1046
            分享
          • 1. Android 调试桥adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。2. adb工作原理启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它...
            0 0 2496
            分享
          •    软件的概述  1、软件生命周期  先来了解软件生命周期的全过程:  下面对软件生命周期各个过程进行逐一解析:  (1)问题定义:由软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。  (2)需求分析:对软件需求进行更深入的分析,划分出软件需要实现的功能模块,并制作成文档。(需求分析说明书)  (3)软件设计:在需求分析结果的基础上,对整个软件系统进行设计,包括系统框架设计、数据库设计等。(概要设计、详细设计)  (4)软件开发:在软件设计的基础上,选择一种编程语言进行开发。  (5)软件测试:软件开发完成后对软件进行测试,以查找软件设计与软件开发过程中存在的问题并加以修正。 ...
            0 0 887
            分享
          • 最近想研究下手机端是如何进行接口测试的,那就得先把app和微信小程序的一些测试的重点会了解,我没有做过关于微信小程序和手机app的测试,有不对的希望补充和提建议,下面是我在网上找到的一些知识的总结:功能测试:功能测试和web的测试逻辑一样,主要是理解项目的需求设计等,查看功能模块、业务流程、同一功能不同入口时有效性检查、页面交互性检查、输入输出等逻辑进行测试;权限:app是否可以访问手机通讯录、相册、相机等权限;小程序是否有微信授权,未授权/授权登录程序,同一微信号不同手机登录查看数据显示情况;兼容性测试:不同手机操作系统检验、不同微信版本(测试当前微信版本发布的项目和升级版微信后测项目)、分...
            0 0 1103
            分享
      • 51testing软件测试圈微信