我,29岁,程序媛2021年终总结

Posted 憨憨说测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我,29岁,程序媛2021年终总结相关的知识,希望对你有一定的参考价值。

今天是12.31日,是2021年最后一天,相信很多人现在都沉浸在今晚跨年的喜悦中,而我,兜兜转转的原地打转后,生活才在今年步入了正轨,说真的,在这一年多,有时候感觉挺累。短时间内需要完成的任务太多,很多时候熬夜加班,因此,在生活、工作逐渐稳定后,有必要对自己做个年终总结,发现出自身存在的问题,期待明年会变成更好的自己。

毕业到现在已经7年了,工作来来回回也换了大几个,直到转行软件测试,我才看到我人生的一点希望,觉得工作也能很稳定,而第一份测试工作就进入了一个小外包公司从事功能测试,因为这个行业的稳定性,一待就是3年,每天“点点点”实在是看不到生活的尽头,迷茫、无助无时无刻不伴随着我,直到去年年初因为实在不想颓废就离职了…

偶然的机会,在聚会上了解到在阿里的师兄,他已经干了3年了,一直跟稳定,他跟我说还是要进大厂,福利及待遇也会比那些小厂要很多,听的他的一番说辞下,让我下定决心,要进大厂,这样我的大厂路也正式开始…

就这样在家待待了几个月自学面试及技术层面,反正该学习的渠道我都试了个遍,比如:在网上找资源、加不少相关的技术交流群、报培训班… 不是在学习,就是在学习的路上,通过几个月的学习,对自己充满信心,抱着这个信心果然不久后就拿到了大厂测试offer。

就这样转行测试改变了我的人生轨迹,和一群努力奋斗、满腔热血的同事们一起,燃起了我的斗志,今年也稳稳当当的做了一年,觉得这一年也收获了非常多,也为自己创造了更好的前途!

下面给大家分享一下转行软件测试需要做下面3个准备(附带我的学习路线)

第一个准备:认知准备

  • 在开始学习之前,首先要明确的是对于行业和学习的认知(文末分享我的学习笔记)

  • 进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;

  • 技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;

  • 在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;

  • 学历很重要,项目经验很致命,英语是加分项;

  • 学习是长反馈、反人性的,不要期待短期速成,不要相信35岁失业的鬼话;

  • 沟通能力是和技术同样重要的,放在任何行业都是如此;

第二个准备:思路准备

  • 语言选择是Java还是Python? 不用纠结,都是相通的,也最终都要掌握。建议先从Python上手,后面再学Java;

  • 专研方向选择性能还是自动化? 不要被自动化蒙蔽了双眼,也不要轻视认为性能很好搞定,性能的调优很难,自动化有语言基础也能快速上手;

  • 大公司还是小公司? 能去大公司,就去大公司,尤其是在刚进入这个行业,大公司的流程和项目以及背书都会对职业发展有很大帮助;

  • 自学还是培训? 能有捷径,为什么不走呢,更何况已经27了,试错的机会已经很少了,关于如何甄选靠谱机构,请关注我主页其他回答: 测吧

  • 将来做管理还是技术专家? 即使是做管理,也必须建立在懂技术,能搞定问题的基础上。技术是根本,其余的都是锦上添花;

第三个准备:学习路线准备

1、软件测试基础理论知识:

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。

  • 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
  • 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
  • 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
  • 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
  • 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
  • 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
  • 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
  • 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
  • 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

2、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

  • linux系统基本知识:多用户,多任务,发行版本等
  • 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
  • 会部署和配置基本的应用jdk、 mysql、 tomcat
  • docker安装使用
  • 编写基本的 shell RAD本
  • 远程终端工具使用: shell, xftps等

3、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

  • 数据库基本概念
  • 关系型数据库
  • MYSQL基本的增改查语句,存储过程
  • MYSQL复杂查询、多表查询
  • MYSQL索引及事务相关概念
  • 数据库客户端工具使用:如 Navicat

4、软件测试功底技术——编程语言

推荐没有编程基础的朋友可以学习Python语言

Python语言的学习内容包含以下知识点:

  • Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序

  • 数据结构:

基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;

组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据

  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符

  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数

  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip

  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法

  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件

  • 测试框架:unitest、pytest等

  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器

  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

5、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

  • http/httpst协议学习
  • 常见请求方法学习:GET、POST
  • cookie和 session学习
  • 接口的基本概念
  • 接口文档认识
  • 接口测试用例编写
  • 接口测试工具使用:postman、Jmeter、SoapUl

6、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  • Jmeter及 roadrunner使用
  • 性能测试报告输出

7、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

  • Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey
  • Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
  • Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
    封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

8、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

  • 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
  • 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
  • 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

最后为大家准备一份配套的学习资源

有需要这份资料的关注公众号:豆子熊,免费领取!包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。

以上是关于我,29岁,程序媛2021年终总结的主要内容,如果未能解决你的问题,请参考以下文章

年终总结支愣起来——30岁程序员的2021年终总结

一个忙秃头程序媛的 2021 年总结

22岁专科菜逼Python的2021年终总结

22岁专科菜逼Python的2021年终总结

22岁专科菜逼Python的2021年终总结

22岁专科菜逼Python的2021年终总结