目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
过去十年,IT迅猛发展,那时候软件开发和测试需求每天都在增加,对应聘者是来者不拒,美团掀起的千团大战,则一下子提高的软件开发、测试的薪资水平,此后虽然一地鸡毛,但是间接影响就是软件开发、测试高薪资对从业人员的高吸引力,特别是测试的门槛偏低。
2023年现在软件测试进入高要求阶段
Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/
近几年,各大厂都在缩减开发与测试比例,以前华为开发与测试比例是1:1左右,现在提倡全栈工程师,比例就有所下降,大概3:2左右,后面会更多。
因为现在都在搞自动化测试,减少了手工测试人员,而相应的现在软件越来越庞大,越来越复杂,对安全、性能、可兼容的要求更高。
现在要求测试几乎是全流程参与,对测试人员的业务感知、代码阅读等也提出了更高的要求。
自动化测试已经成为测试工程师的标配。
接下来我们就来讲解自动化测试
怎样落地自动化测试
在讨论新手从零到一落地接口自动化测试之前,我想先抛出我的几点建议:
从零开始,不要直接去学习所谓的自动化框架;
学习框架之前,很有必要学习网络协议和编码知识;
为什么这么说?
新手一般技术基础不太扎实,且没有太多编码实践,直接学习框架特别容易一步一个坑。
从零开始学习落地接口自动化或者其他自动化测试,我更建议从易到难的去落地实践,这样一方面可以在日常工作中优先保证工作的完成,提升工作效率;
另一方面就像打怪升级一样,从易到难去学习提升自己,并不断优化自动化测试在工作中的实践。从易到难落地接口自动化测试,大概可以遵循如下几个步骤:
学会用工具进行接口测试(如jmeter/postman);
学会用持续集成工具(如jenkins)将接口测试脚本批量执行;
学会诸如git/gitlab等版本和源代码管理的工具,便于团队多人协作;
学习一门编程语言,利用自动化测试框架将工具脚本转化为代码脚本;
学习将公共部分封装,优化代码结构,提高写代码脚本的效率,降低维护成本;
学习数据参数化管理的方法,可以从Excel——配置文件——数据库——造数工厂这个方向迭代;
尝试按照业务线和测试场景区分脚本集合,然后引入mock,降低服务间的调用依赖,提高执行效率;
开始造轮子,搞KPI,开发自动化测试平台;
自动化测试成熟度模型
初级阶段-测试半自动化
先利用工具将日常费时的手工测试部分转化为半自动化(如postman/jmeter/jenkins),不要考虑什么框架或者CICD等高大上的东西,先解决部分效率问题,才能有时间和资源投入后续的建设。
当然这个阶段更适用于初创企业或者小型公司的测试同学。
中级阶段-回归测试自动化
有了前期的部分建设,接下来可以将日常的提测冒烟测试、系统测试阶段的主流程回归测试以及部分造测试数据的过程转化为自动化。
这个过程中一方面需要培养提升建设团队同学的技术能力,另一方面为自动化测试的大范围落地做铺垫(毕竟很多公司自动化测试看不到短期效益就变成了纯粹的KPI然后不了了之)。
注意:上面我说的都是测试自动化,并不是自动化测试。测试自动化指的是先将日常手工测试比较费时且重复度较高的部分转化为利用工具执行,
这样做是为了提高效率,解放人力资源,也是为了打好基础,顺带让领导知道,做这些事对团队有长期价值的。
高级阶段-大范围自动化测试
到了高级阶段,我个人认为就可以开展大范围的自动化测试了。
这里的大范围并不是说完全不需要手工测试,而是按照自动化测试的纺锥模型(不是金字塔模型),按照UI-10%/API-70%/UNIT-20%的占比去不断建设和落地。
当然,这个阶段可以开始尝试测试左移的实践,测试同学去做更多具有创造性和探索性的工作,比如:
花更多时间在需求阶段,包括需求分析和需求评审,做好需求阶段的质量卡点;
设计更高效的自动化测试流程框架,提升测试用例的有效覆盖率(正交实验法);
推动研发同学实践单元测试,测试同学提供case并评审验证,研发同学负责落地;
建设质量度量相关的事情(为了解决问题验证效果而度量,并非为了度量指标而魔改自动化);
成熟阶段-自动化测试流水线
有了前面三个阶段的技术建设和用例沉淀以及不同团队间的协同配合,这个阶段可以考虑将自动化测试融入到企业的自动化交付流水线中。
关于devops的持续交付流水线相关的内容,后续继续更新…
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
成功需要勇气与决心,需要不停地追求和付出。只要坚持自己的梦想,跨过挫折和磨难,最终的胜利属于那些不畏艰险、敢于拼搏的人!
在人生道路上,我们需要付出比别人更多的汗水和努力。只要拥有一颗不屈不挠的心,坚定地向目标前进,即使路途艰险,也能最终到达成功的彼岸!
每个人都有自己的梦想,但成功属于那些不断拼搏、不断进取的人。只要坚定信念,勇往直前,终会走出一条光辉的人生之路,实现自己的理想与价值!