16年毕业出来找工作,从小就比较喜欢计算机,大学报的也是计算机专业,奈何分数不过关,被调剂到偏门专业,在学校就有自己学测试(没人教,只能从简单的入手),学的一知半解的。
毕业后,知道自己的专业几斤几两,果断选择转行,捡起“软件测试”,在家里待了半年,天天上网查资料,找大佬,从白天到晚上,不是在学就是在学的路上,从测试理论到实战操作,大大小小的问题,在群里前辈的帮助下,总是能很快解决。慢慢的,测试方法,用例设计,web测试,app测试,接口测试。虽然离技术大牛还差很远,但是找一份初级测试工程师的工作应该完全没有问题。
第一份工作去的外包公司,但是有些外包公司给人的体验真的一言难尽
- 感觉进入外包公司会低人一等,总感觉自己是个外人,无法融入甲方公司!
- 另外感受不到归属感(过节什么的,甲方公司员工都有礼物,但你没有感觉格格不入!)
- 那些说外包公司不靠谱,是因为一旦甲方不喜欢你,可以随时与你的公司谈话,换一个人入场,而你可能会调往其他公司继续外包出去或者把你留在公司内部等待机会也或者把你开除,而这些都不会给你补偿。
在外包公司越待越觉得压抑,于是暗下决心,准备“向上”发展
学习Python,当有一门语言基础后,学习一些自动化测试框架,接口自动化,最终通过自动化来实现我们做回归测试或者冒烟测试的主要功能,以此减少我们的工作量,提高工作效率。
学有所成之后,果断跳槽,现已拿到字节的offer。
学习的路程是痛苦又快乐着的,现在从事测试行业近5年了,月薪16K
对于自学软件测试,其中的辛酸我是深有体会吗,所以我分享一下这些年来,我对测试行业技术上的一些归纳和总结,希望能帮助到有心在技术这条道路上一路走到底的朋友!
第一阶段:前置基础知识 可掌握的核心能力:
-
熟悉计算机相关概念;
-
掌握基础的测试理论;
-
熟练掌握HTML常用标签和语法规范;
-
掌握使用CSS定义网页样式;
-
掌握js的基本用法;
第二阶段:Linux和数据库 可掌握的核心能力:
-
掌握Linux操作系统按照和配置;
-
熟练掌握Linux常用命令;
-
掌握数据库增删改查操作;
-
熟悉数据库索引、视图、事务、常见函数等高级功能;
-
掌握Redis的string类型、hash类型、set类型、list类型等基本类型和操作;
第三阶段:测试基础 可掌握的核心能力:
-
掌握测试的基本概念和测试常见分类;
-
熟练掌握黑盒测试用例设计方法,进行功能测试用例设计;
-
熟练掌握缺陷报告的编写;
-
熟悉测试管理工具禅道和JIRA的使用
-
掌握项目测试流程;
-
掌握Web项目功能测试分析和用例编写;
-
熟悉测试计划,测试方案,测试报告的核心内容
-
掌握功能测试与数据库的关系
-
掌握Fiddler工具的使用
第四阶段:编程+数据结构可掌握的核心能力:
-
掌握Python基础语法, 具备基础的编程能力;
-
建立编程思维以及面向对象程序设计思想。
第五阶段:web自动化可掌握的核心能力:
-
能够熟练搭建Web自动化测试环境;
-
熟练掌握元素的定位方法和元素操作;
-
掌握鼠标键盘操作及HTML特殊元素的处理;
-
掌握使用UnitTest管理自动化测试的脚本;
-
熟练掌握PO模式的设计思想,并能够对页面进行封装;
-
掌握数据驱动的实现方式;
-
掌握日志的相关概念,以及日志的收集处理;
-
掌握在实际的项目中如何灵活运用自动化的相关技术。
第六阶段:移动端自动化 可掌握的核心能力:
-
掌握移动端APP测试特性;
-
能够熟练搭建移动自动化测试环境;
-
熟悉appium的工作原理;
-
熟练掌握ADB工具的使用;
-
熟练掌握元素的定位方法、元素操作和手势操作;
-
掌握单元测试框架pytest的使用;
-
掌握YAML数据读写;
-
掌握使用allure生成测试报告;
-
熟练掌握PO模式的设计思想;
-
掌握数据驱动的实现方式;
-
掌握Git的使用方式;
-
掌握Jenkins持续集成的环境配置;
-
掌握在实际的项目中如何灵活运用移动自动化的相关技术
最后为大家准备一份配套的学习资源
有需要资料的朋友可以关注公众号:软件测试大白,免费获取!包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。