一、为什么要规划自己的学习路线
本人工作一年多点,目前在一家公司中担任QA的角色,说白了就是软件测试(本来面试的应用软件开发,进去分到了开发部门的测试团队);
由于团队比较小,虽然个人定位是负责自动化测试、测试开发的工作内容;但是由于人手不足导致自己也需要承担手工测试、硬件环境维护、实验室管理、硬件环境安装等杂七杂八的活,也就是杂活太多了;
目前陷入了一种,每天早上到公司打卡,座到工位上就开始查看万年不变的自动化冒烟测试是否正常、之后就开始了无尽的手工无脑测试(有简单的测试设计),需求测完了测专项,专项测完了测里程碑,里程碑测完了测故障回归,故障回归测完了测需求回归如此无尽的循环;测着测着,诶晚上9点了下班回家了;
平时只有闲下来时进行测试开发、自动化测试相关的工作与学习,否则就只能敷衍、牺牲手工测试的时间;但是水平提升很慢,没有方向,学了就忘,没有总结;
导致现在自己看不到自己的价值,提升不了自己的水平,并且行业对于软件测试人的要求更加明确,更加严格,以及大厂对于软件测试的门槛提升,不会简单问你简单的测试问题,而更希望测试拥有更加全面、更加优秀的能力与技术栈,导致自己会被行业所淘汰。
所以,规划自己的学习路线、逼自己学习,才是软件测试人,在这个行业里的唯一生存之道。(光靠公司内简单的自动化测试框架、老旧的python版本与RF,能学到的新东西很少,必须自己痛定思痛,崛起读书)
二、学什么,学到什么程度?
- 首先,可以查看大厂招聘,对于测试人员的要求;
- 软件测试:WebUI测试/AAPUI测试/接口测试;
软件测试行业的核心技术:自动化测试;
语言主流python; - 测试平台OR测试框架?
在实际工作中,开发一个完整的测试平台的耗费是比较大的,如果不是大厂不一定承担得起;所以测试框架更加适合普通人开始学习;(目前本人使用的RF+测试框架进行自动化测试;通过框架将所有用例进行管理、分类、执行,能够对硬件规格进行区分、初始化,对不同冒烟需求进行自动化冒烟测试)
所以,基本要求是测试人员需要能针对三个软件测试方向,基于python开发出优秀的自动化测试框架;
三、 需要学习的技术内容
- python语言
- web:selenium、cypress、playwright、RF…
本人公司使用RF,但是本人正在学习selenium(使用范围大)
推荐:selenium+webdriver
会的标准:能够结合企业的实际需求,设计不同的测试形态
关键字驱动、pom+数据驱动(excel/yaml/py/json)、用例管理、报告集成、配置管理(通过一套代码更换配置实现不同的测试)、日志管理等;测试用例、测试套件管理;日志使用等 - 接口: 单接口的全覆盖与关联接口的业务链覆盖
- APP:效率较低,不如学习web端;appplum
需要补充的其他技术:
- 多用例并发与测试框架分布式部署技术
- 目前主流的框架技术微服务架构体系(进阶到架构的测试)