• 0
  • 0
分享
  • 10年心路历程:功能测试转向自动化测试/开发——软件测试圈
  • 恬恬圈 2022-12-27 16:07:35 字数 2637 阅读 1136 收藏 0

  十年测试心路历程:

  由于历史原因,大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。

  我大学学的计算机专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。有人留言问到我,在一线城市做功能测试,如果定个小目标,想拿到年薪二十万,需要具备哪些技能?

  首先必须熟练整个产品的业务流程、业务是基础,这样保证产品在快速迭代时、不仅保证新功能的完整性,而且快速回归原有功能不受影响。然后需要掌握一些常用测试工具来辅助测试:

  Web端测试:浏览器开发者工具使用,network、console控制台、兼容性测试。

  移动端app测试:(安卓/IOS/ipad端)测试全流程,兼容性测试、稳定性测试,流畅度测试、adb常用命令。

  服务端:掌握接口测试、抓包工具使用、如何校验接口的完整性。

  Linux:常用shell命令,查看错误日志。

  数据库测试:熟悉数据库表结构,掌握常用增删改查sql语句,便于分析测试结果。

  常用工具使用:SVN/git版本控制工具 、postman、jenkins应用打包和构建。

  换句话说,如果你拿到一个新的产品测试功能,你如果能通过数据库的表结构,和分析系统日志来快速的熟悉产品业务,说明你的测试思维,功能测试能力已经非常优秀了。

  当时我掌握了以上技能点,在公司将工作效率提高了,相对比较轻松,这就导致我有充足的时间,拾起编程语言,最初用的java语言,然后学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺神奇,激发了我浓厚的兴趣。后来发现Python语言越来越火,而且我发现python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适,python还能用来爬虫,用python还能写一些定时脚本,数据库脚本,效率非常高。

  放弃了年薪二十万的offer,挑战自动化测试:

  我当时在公司得到了领导的信任,待遇方面工资加上年终奖,年薪能达到二十万。但是在由于当时公司规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界很大,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试工作,于是我顶住压力,不断的系统学习自动化测试技能,而且学以致用。我将公司产品前后端的自动化测试全部落地实现。那些自动化脚本真正成为公司资产,在每次上线回归带来的收益远超出我的预期。并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。后面负责自动化测试团队工作,核心框架搭建。

  学习用到的技术栈包括Python语言、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成等。让我见识到技术的魅力,技术功底的提升能让整个人非常自信。所以自动测试给我带来的收益不仅仅是待遇的提高,包括中间做自动化测试遇到的坑,解决问题的思路,以及技术的扩展,增长了见识。最终形成了一套知识框架体系,得到一套有效落地的自动化测试方案。

  自动化测试心得:

  自动化测试没用的误解?

  自动化是测试工程师一个永恒的话题,关于有人经常问到我:至于"自动化测试真的可以提高效率吗?我觉得不行”,我觉得这是对自动化测试意义的最大的误解。一个知识比如自动化你觉?得?没有?用,是因?为你不?会。而你不会的东西,往往是你的雷区。那我们为什么又要做自动化测试?我认为最大的意义在于,对测试人员的能力的固化。脚本可以代表测试人员的测试方法,通过脚本就把在原来在人身上的能力,固化为组织的资产。比如:造测试数据,跑大量数据库脚本,页面服务监控等。

  自动化测试脚本,能让不同的团队即使不懂这个功能的人,也可以通过测试脚本来分享这种能力,这才是自动化的意义。

  关于测试开发

  后来一个机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。这对于我来说也是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高。到岗后顶住压力,不断的系统学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等。坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展测试开发工作。

  测试行业的现状

  现在测试行业的的趋势,你去面试任何级别的测试工程师都会问你是否会自动化测试,所以自动化测试已经是必备技能,而不是加分项。换句话说,会用开源的测试工具不足以在公司涨薪或者跳槽至一线互联网大厂。因为真正企业自动化测试落地肯定是一个团队在做,当你熟悉使用这些开源框架之后,你会发现有些框架之间是相通的,所以基于这些开源框架,我们打造一个属于自己的测试框架,可以根据公司实际测试需求自主封装适合项目的测试框架,落地实用。建立自己的技术体系,得到一套落地有效的自动化测试方案,从青铜变身王者。这样让我们自动化团队将更多的精力放在测试用例设计本身上面,达到提高产品质量,提升效率的目的

  那么如何来全面的学习自动化测试呢?

  一、掌握基本的Python基础语法规则,全方位提升Python编程技能,面向对象思维!

  二、全面掌握元素定位技巧、POM设计模式、关键字驱动、数据驱动、selenium的WebUI自动化测试技能!

  三、全面掌握元素定位、小程序自动化、Python+Appium的APPUI自动化测试技能!

  四、全面掌握request库的HTTP协议接口自动化测试技能,websocket接口测试、Dubbo接口测试!

  五、掌握自动化持续技能能力、自动化用力脚本运行、产出报告、自动化发送邮件、全流程持续集成自动化!

  六、独立搭建接口、UI测试框架、接口与UI框架整合一体化、场景关联应用,简历自己的技术体系

  七、扩展,提升职业技术深度!


作者:软件测试狂阿沐    

来源:http://www.51testing.com/html/16/n-4479116.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   背景介绍  产品文档作为产品交付的配套,承担着产品交付后的部署、开通应用操作指导的作用。  编写的文档质量好坏,直接影响产品交付开通应用的整体用户体验、产品口碑。  结合当前项目的研发过程中,对文档交付的质量、交付的时效性以及交付流程实践进行一下分享探讨。  按照整个产品研发过程中涉及到交付文档类别、交付阶段、文档作用以及交付周期大致划分如下:  由于当前工作涉及内容主要在敏捷测试阶段,针对敏捷测试阶段涉及的特性指导书类文档交付过程实践进行分享探讨。  问题分析  对于敏捷测试特性文档交付,从一开始被文档交付的困扰,到改进实践并形成一定的固化流程,跌跌撞撞中一路调整走上了正轨,实践过程分别...
            0 1 2229
            分享
          •   根据一份新报告,三星正在埃及建设智能手机制造厂。  据阿拉伯财经网消息,埃及通讯和信息技术部 6 月 2 日发布的消息显示,三星电子埃及公司将在 Beni Suef(埃及北部的一座城市)新建一家占地 6000 平方米的手机工厂。  报道称,新工厂将提供约 1400 个直接和间接的就业机会,尤其是在上埃及地区,该项目的建设工程计划于今年第四季度展开。  工厂投产后,最新的三星 Galaxy 手机将在新工厂本地生产,以满足三星在埃及市场的需求。  报道指出,埃及通讯和信息技术部长 Amr Talaat 与三星埃及公司董事长 Jun Su Jung 及其随行代表团进行了会谈,达成这一在埃及建立新...
            0 0 1151
            分享
          •   苹果公司在增加 iPhone RAM 方面走得最远的一次是 8GB,而且是针对价格较高的 iPhone 15 Pro 和 iPhone 15 Pro Max。然而,随着人工智能竞赛的白热化,科技巨头们都在推动自己的产品加入设备上的大型语言模型(LLM),这样一来苹果很可能不得不对其产品阵容进行调整。  据一家韩国证券公司分析称,其中一些变化包括增加即将推出的 iPhone 16 的运行内存,但这些说法是在有报道称该公司正在研究如何使用 NAND 闪存运行设备上人工智能之后提出的。  爆料人 Revegnus 没有提及这家韩国证券公司的名称,但他表示,一些分析师认为,苹果将增加这些机型的运行...
            0 0 673
            分享
          • 不知道大家有没有听过功能验收项这个东西,在敏捷开发测试越来越盛行的年代,精简的用例显得越来越好用。在传统项目中,编写测试用例一般是这样的步骤:使用思维导图编写测试点,导入到excel表格中完善测试步骤和语气结果,上传到测试管理库。而功能验收项是直接拷贝测试点中比较重要的部分,放到excel表格中,再添加一些版本相关的信息,即可成为一份功能验收项。下面展开说说吧:功能验收项相当于测试用例中的精华。功能验收项用于开发转测前自测,需要在开发转测前一天开发填写提供验证结果,在版本上线的时候测试也可以参考该验收项做最后的功能点检。功能验收项分为新版本新功能验收项和系统核心功能验收项。如果修改是全局的,则...
            6 6 6878
            分享
          • 软件缺陷:1)软件未实现产品说明书要求的功能2)软件出现了产品说明书指明不应该出现的错误3)软件实现了产品说明书未提到的功能4)软件未实现产品说明书虽未明确提及但应该实现的目标5)软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好软件测试:为了发现软件产品中的各种缺陷,而对软件产品进行验证和确认的活动过程,此过程贯穿整个软件开发生命周期。 简单的说,软件测试是以发现错误为目的而执行的一个程序或系统的过程。软件测试的目的:验证软件需求和功能是否得到完整实现验证软件是否可以发布尽可能多的发现软件中的bug尽可能早的发现软件中的bug对软件质量做出合理评估预防下个版本可能出现的问...
            3 4 4017
            分享
      • 51testing软件测试圈微信