• 12
  • 11
分享
  • 2020年的年终总结:简述毕业后的测试之旅,愿测试人都不再迷茫!
  • 北极 2020-12-21 15:51:18 字数 3419 阅读 3698 收藏 11

前言:很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,希望对刚入行或者准备学习测试的朋友提供一点指引。在软件测试这个行业,一路走来我看到了太多想提升测试技术而没有明确方向的人,深刻的体会到测试人员的技术痛点,以及测试这个角色在互联网公司的待遇和地位远不及其他岗位,甚至还是会有很多人会认为测试在公司随时能被取代,可有可无。那么在软件测试行业如果只会手工测试的我不做测试了,我还能做什么?唯一办法就是保持持续的学习,希望大家莫做“收藏家”,我见过很多人收藏从未停止,学习从未开始,大多数人的原因是“工作忙,没有时间”,我和大家的时间一样是每天24小时,但是我能够挤出时间来学习,无论每天工作多晚,学习从来都是日积月累的,不可能拔苗助长,一步而蹴,愿大家十年磨一剑,一朝试锋芒,愿测试人都不再迷茫!

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

我大学学的电子信息工程专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。

有人问到我,在一线城市做功能测试,如果定个小目标,想拿到年薪二十万,需要具备哪些技能?

首先必须熟练整个产品的业务流程、业务是基础,这样保证产品在快速迭代时、不仅保证新功能的完整性,而且快速回归原有功能不受影响。

然后需要掌握一些常用测试工具来辅助测试:

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

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

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

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

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

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

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

当时我掌握了以上技能点,在公司将工作效率提高了,相对比较轻松,这就导致我有充足的时间,拾起编程语言,最初用的java语言,然后学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺神奇,激发了我浓厚的兴趣。

后来发现Python语言越来越火,而且我发现python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适,

python还能用来爬虫,用python还能写一些定时脚本,数据库脚本,效率非常高。

1、挑战自动化测试
我当时在公司做功能测试做的也心累,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然向领导申请做自动化测试工作,
于是我顶住压力,不断的系统学习自动化测试技能,而且学以致用。我将公司产品前后端的自动化测试全部落地实现。

那些自动化脚本真正成为公司资产,在每次上线回归带来的收益远超出我的预期。并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。后面负责自动化测试团队工作,核心框架搭建。学习用到的技术栈包括Python语言、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成等,让我见识到技术的魅力,技术功底的提升能让整个人非常自信。

所以自动测试给我带来的收益不仅仅是待遇的提高,包括中间做自动化测试遇到的坑,解决问题的思路,以及技术的扩展,增长了见识。最终形成了一套知识框架体系,得到一套有效落地的自动化测试方案

2、自动化测试心得
自动化测试没用的误解?

自动化是测试工程师一个永恒的话题,关于有人经常问到我:
"自动化测试真的可以提高效率吗?我觉得不行”,我觉得这是对自动化测试意义的最大的误解。

一个知识比如自动化你觉‎得‎没有‎用,是因‎为你不‎会。而你不会的东西,往往是你的雷区

那我们为什么又要做自动化测试?我认为最大的意义在于,对测试人员的能力的固化。

脚本可以代表测试人员的测试方法,通过脚本就把在原来在人身上的能力,固化为组织的资产。

比如:造测试数据,跑大量数据库脚本,页面服务监控等

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

3、测试行业的现状
现在测试行业的的趋势,你去面试任何级别的测试工程师都会问你是否会自动化测试,所以自动化测试已经是必备技能,而不是加分项。

换句话说,会用开源的测试工具不足以在公司涨薪或者跳槽至一线互联网大厂。因为真正企业自动化测试落地肯定是一个团队在做,

当你熟悉使用这些开源框架之后,你会发现有些框架之间是相通的,所以基于这些开源框架,我们打造一个属于自己的测试框架,

可以根据公司实际测试需求自主封装适合项目的测试框架,落地实用。建立自己的技术体系,得到一套落地有效的自动化测试方案,从青铜变身王者。

这样让我们自动化团队将更多的精力放在测试用例设计本身上面,达到提高产品质量,提升效率的目的

在软件测试这个行业,一路走来我看到了太多想提升测试技术而没有明确方向的人,深刻的体会到测试人员的技术痛点,以及测试这个角色在互联网公司的待遇和地位远不及其他岗位,甚至还是会有很多人会认为测试在公司随时能被取代,可有可无。

如何在繁琐重复的手工测试工作中,慢慢扩展积累测试技术,建立自己的技术体系?

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

但是有个比较常见的问题,由于现在企业大多数都是敏捷开发模式,容易陷入版本快速迭代中,

以至于没有时间精力再去额外学习一些高级和主流的测试技术,如某种编程语言、自动化测试工具、测试框架搭建、测试平台研发

即使挤时间强迫自己学习,也不知道从哪里开始入手,那些碎片化的东西,只能让你了解,很难很难消化,

当你要形成自己的输出,用自己的思路和技术来做项目的时候,你要回到那个知识框架里面去学习

不要碎片化信息学习,那不叫学习,要有决策性学习,系统的学习,学习解决问题的思路。

比如自动化测试,已经是测试工程师的必备技能,搭建自动化测试框架也是测试人员能力分水岭的体现。

4、企业需要的人才究竟是什么样子?
下面我分享了几张图谱,通过图谱你可以很明确的知道自己缺乏什么。
5、那么如何来全面的学习自动化测试呢?

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

1.png

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

2.jpg

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

4.png

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

5.png

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


6.png

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

6.png

技能扩展,提升职业技术深度

7.png

项目实战

8.png

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

三、最后
凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

2020年对大家来说都是很难的一年吧,对我也是,但是这一年还是艰难的挺过来了,冬天都快过完了,虽然还会有其他的冬天到来,但每年的冬天是独一无二的,我们总不能一直沉浸在一个冬天,希望每年的冬天你都能告诉自己:“我进步了,我成长了,我加薪了,我升职了”,愿您事业顺利,家庭美满!


作者:Detail-L

原文链接:https://wenliang.blog.csdn.net/article/details/110915784

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   最近一个学生也可以说是朋友,他遇到了一个让他困扰的职场难题,背景如下:  1)他们公司准备搞安全测试了,现在有人员培训的计划,所以全组有学习安全测试课程的安排。  2)他自己目前专职性能测试1年了,现在他领导有意想把他往安全测试的方向发展,但是他自己内心是排斥安全测试的,但是又不好拒绝领导的好意。  3)自己不想去安全,不是因为不感兴趣,而是因为目前阶段自己觉得性能还没完全摸清楚,现在又进入另外一个陌生的领域,心里没底。  4)且公司内部目前打算培养3个人做安全测试,他从性能部门转过去从零开始学习安全测试。  5)自己也不清楚安全测试的发展情况,非常头疼。目前就只想好好把性能搞好。  6)...
            0 1 517
            分享
          •   等价类划分法  等价类划分法即把所有可能输入的数据划分为若干个区域,然后从每个区域中取少数有代表性的数据进行测试。等价的意思就是说程序对它们的处理方式都是一样的。  有效等价类  有效:是因为它们都是符合需求文档中定义的数据;  等价:是因为它们都是同一类型的数据。  无效等价类  无效:是因为它们都是不符合需求文档中定义的数据;  等价:是因为它们都是同一类型的数据。  等价类划分(测试点):  等价类划分法设计测试用例  边界值分析法  在功能测试中,边界值分析法也是测试人员常用的一个方法,它通常被视为对等价类划分法的一种补充。边界值分析法是取稍高于或稍低于边界的一些数据进行测试。为什...
            0 0 666
            分享
          •   51testing软件测试圈“季度更文活动——万字更文”已经结束了,感谢各位的参与。  本次更文活动时间为2023年3月1日--2023年4月16日!  获奖情况和评审情况如下表所示:作者投稿字数6分及以上的文章数活动奖品九哥91542篇公牛魔方插座米果橙柠149140篇小米加湿器FunTeste742958篇小米加湿器*额外奖励100元京东卡优秀文章一览:· 卷完职场卷AI,测试真的会被ChatGPT代替吗?· 金三银四想跳槽?这篇测试人分龄跳槽指南请收好· 应对自动化测试9大挑战· 敏捷 ? DevOps ?· 国际化和本地化测试·&n...
            1 1 6124
            分享
          •   手工测试做了好多年,点点点···成了每天必须做的事情。但是随着自动化测试趋势的日渐明显,以及受到薪资、技能的双重考验,掌握自动化测试成为了必备技能。  手工转自动化测试,不是一蹴而就的。“预先善其事,必先利其器”,凡事之前都需要一个良好的准备,自动化测试何尝不是呢?  在测试行业,一个一直被讨论的问题就是:手工测试没有前途,自动化测试会取代手工测试?  如今随着软件需求的变化比以往任何时候都快,越来越多的企业正在采用敏捷方法来缩短开发周期并加快上市时间(TTM)。  在这个瞬息万变的技术环境中,应用程序质量比以往任何时候都更重要,手动测试似乎既耗时又重复,并且容易出现人为错误。  从手动测...
            0 0 929
            分享
          • 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 一、了解一下HTTP与RPC1. HTTP(HyperText Transfer Protocol) 说明:超文本传输协议,是互联网上应用最为广泛的一种网络协议。优点:就是简单、直接、开发方便,利用现成的http协议进行传输。流程图:2. RPC(Remote Procedure Call)说明:远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议...
            11 11 1233
            分享
      • 51testing软件测试圈微信