从功能测试(点点点)到自动化测试,软件测试工程师该如何成功转型---送给迷茫中的你

有很多的朋友问我,自动化测试应该怎么学,在网上看看视频能学会吗?现在网络上的软件测试资料很多,但是很多人就是没有规划,不知道该怎么去学习,往往没有头绪的学习,到头来都是无法坚持的,这个时候学习规划的作用就出来了。好的学习规划能够更好的帮助你学习,能让你少走很多的弯路。废话不多说,直接上规划图。

不论是转行自动化测试还是功能测试进阶学习还是开发转自动化测试的伙伴,这篇自动化测试工程师学习路线图,我想都是可以看看的。

同时也相信各位在掌握这份学习导图上的知识点后,能够独立搭建属于各位自己的Python自动化测试框架。

自动化测试的学习步骤

1.做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架-> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架

按照这个步骤来说,基本上到第7步,难度就比较大了,这个时候也可以称呼自己为“测试开发”。

学习指南

一、Python编程阶段

在这里插入图片描述
二、WebUI自动化阶段


三、APPUI自动化阶段

在这里插入图片描述
四、接口自动化阶段

在这里插入图片描述
五、自动化测试进阶之PyTest

在这里插入图片描述
如果你按照这这个学习路线把自动化测试吃透,那么月薪在15-25K是很轻松的事情,同时具备了代码能力,也就可以继续向测试开发去努力了!

自动化测试现状

1)国内大多数软件测试还处于传统测试转向自动化测试的过程中,还是“手工目测”,也就是这里点一点,那里敲一敲。

例如,要测试一个用户注册和登录的过程,这一个过程其实涉及到的用例极其多,为了达到90%的测试覆盖率,测试数据可能非常庞大,如果完全通过手工的话,可能我们测试加班加点,累成狗,也不一定能在指定的时间内,将测试任务完成。优雅一点的,可能会使用一些自动化工具(Selenium、Postman、Jmeter等)来辅助测试,但是一旦测试数据量大、测试任务繁重的时候,相信使用这些工具也未必能定时定量地完成。 2)现今国内互联网蓬勃发展,对了软件产品生产周期要求的越来越高,恨不得有了一个idea之后,一周就能出产品。因为一旦idea出来之后,如果不赶快抢占先机,极有可能难以立足于市场。

正是如此,敏捷开发在现今非常流行,而对传统软件测试的要求也是越来越高,为了减少项目上线周期,加快软件测试效率,那是非常急迫的。为啥国内绝大多数互联网公司,都如此拥抱自动化测试,也不难理解了。

3)既然市场如此偏爱自动化测试,作为传统测试工程师来说,如何融入当今快速发展的IT行业,提升企业竞争力,成为企业进入自动化测试领域里的排头兵,就是一个急需解决的问题。

显而易见,要想推动公司自动化测试,加强对软件产品敏捷开发过程的理解这是首要的,那编程能力的提升呢?就是必须的了,甚至能开发测试平台,那将会是你立足于软件测试行业的杀伤性武器了。

自动化测试的意义,能解决哪些问题?

你要是刚进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保障。

那么说进行质量保障的过程中,为什么要引入自动化测试呢?

举个例子,以前一个项目,一两个月发布一次,现在是一周,甚至有的时候2天就可以发布一个功能。如果是按照这个节奏,研发只需要改一行代码,你却要写很多的用例,甚至要回归,几十条甚至上百条的都有可能。

改动会越来越频繁,每一次的改动,我们都要去做回归的,而这种回归,在这种短时间迭代越来越短的节奏下,其实已经没有办法再靠人力去支撑了。

总结起来就是:

1)突破效率瓶颈,同时降低人力成本(注意不能把降低人力成本放在核心位置);

2)降低人为错误率,规避因为人的疲劳和惯性思维以及投机取巧导致的错误;

3)提升执行效率,以及应对高强度连轴转任务,搞定长时间的系统稳定性测试和高并发场景的压力测试;

4)增加软件的信任程度;

除了这些,与手工测试相比,脚本中是可以记录测试设计思路,拓扑图,测试点等相关的信息,是非常优秀的测试信息存储,另外也可以根据脚本中获取到的代码覆盖率,进行情况分析,进而补充测试用例。

学习自动化测试的注意事项

当你成为一名自动化测试工程师并开始你的测试工作时,出现问题是很正常的。如果你还没有深入研究Selenium自动化的测试脚本,就急于进行自动化网站测试,也可能会出现这种情况。虽然从错误中学习是件好事,但通过向他人学习来预防肯定是更好的。

在处理自动化测试项目时,测试人员需要承担巨大的责任。你的不恰当签核可能会导致生产中断,最终造成客户和声誉的损失。因此,作为一名自动化测试人员,你需要学习前辈的经验,避免出现这种错误。我总结了以下10个自动化测试人员需要重点关注的注意事项,可供参考。

1、定义好测试范围
2、明智的选择你的自动化测试工具
3、与其他测试人员协调好
4、考虑无代码自动化作为基础
5、避免假阳性和假阴性结果
6、关注代码的可重用性
7、100%的自动化是一个神话
8、遵循自上而下的方法
9、包括探索性测试
10、编写不受UI影响的测试脚本

自动化测试适合什么样的项目?

1、项目变动少

测试脚本的稳定性决定了自动化维护的成本,如果项目需求频繁的变动,测试脚本就需要不断的进行维护,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要时还要修改自动化测试的框架,所花费的成本就会很高。

如果项目大部分模块相对稳定,变动少,只是某些模块需求变动大,我们就可以使用自动化测试相对稳定的模块,变动大的模块任然用手工进行测试。

2、项目周期足够长

自动化测试从需求范围的确定,到自动化框架设计、代码的编写和调试需要相当长的时间,如果项目周期短,项目结束了,测试框架都没搭建好,那自动化测试便是笑谈。

3、项目资源足够

自动化不是一个人完成的,需要一个测试团队长期维护才能发挥自动化的价值,所以需要考虑当前团队的人力、物力能否满足支撑。

4、产品型项目

产品型项目只改动少量的功能,但是需要反复测试那些没有改动的功能,而这完全就非常适合做自动化测试。

5、回归测试

当存在大量的回归用例需要验证,需要占用大量时间和人员,这个时候就可以考虑把部分回归测试转换成自动化测试。

6、重复性的动作

自动化测试适用于多次重复、机械性的动作。

主流自动化测试框架

  • 自动化测试框架

桌面程序的工具有:QTP、AutoRunner

web应用的工具有:QTP、AutoRunner、Robot Framework、watir、selenium

  • 测试框架选择

由于B/S架构的诸多优势,早几年前大量C/S架构的应用转为B/S结构。从而也推动了web开发与测试技术的发展。这也导致QTP框架的落寞,Selenium框架及RobotFramework框架的大量兴起。

被测试有产品是C/S架构的,那么推荐QTP被测产品是B/S结构,那么推荐selenium;

  • 市面主流自动化测试框架

RFS:Robot Framework+Selenium

Selenium+unittest框架

为什么不是QTP或其它工具?因为selenium对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的试用selenium,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。

如果你在软件测试行业有许多的不解的困惑,那么欢迎和我一起在业内的交流群里面沟通探讨。群里面有免费的视频资料以及各阶段测试资源,希望能帮助你突破眼前的瓶颈。我已经把我这几年学习自动化测试的一些资源文档都放在这了,大家有需要自取。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值