时过境迁,自动化测试工作已经不再是一个可选工作,越来越多的企业在产品测试的过程中都将自动化测试列为必备的工作内容。
如果你恰好刚刚进入一家新公司,领导一上来就让你开展自动化测试,作为一名初出茅庐的测试新人,除了手足无措,你只能默默慨叹自己能力尚欠,眼前只会出现一个又一个无从下手的问题:
A:作为手工测试,如何营造机会和环境解决我们自身提升的瓶颈?(好慌!以为自己手工测试已经登峰造极,不料我慌了……)
B:如何在最短的时间内能够跨入自动化测试人才的队伍?(我就想想,万一实现了呢……)
C:如何落地自动化测试呢?(领导一说话,哭泣哭泣怕了怕了……)
D:又如何在后续继续提升发展呢?(老大不小了,不能一事无成了……)
面对以上种种问题,我们究竟该如何面对?又该如何解决?
你可能会这样做:
1.买了好几本编程语言的书,好厚啊!即使好不容易看明白一些,内容太多,怎么记住?
2.好不容易记住了一些,会写了两三个程序,怎么做自动化测试呢?
3.终于可以写一些自动化测试脚本了,企业对自动化测试工程师的要求是什么?怎么才能满足面试的要求呢?
4.自动化测试这个岗位后续的发展如何呢?能长久保鲜吗?......
听听15年资深测试工程师分享的自动化测试经验及发展方向,或许能帮助你解决很多工作中的迷惑!
01 想从事自动化,从哪里入手?
我们很多人都不甘于原地踏步,都希望自己能从事自动化测试这个岗位,更希望自己在每家公司都能站稳脚跟得到认可,但是目前该从哪里入手呢?而且时间又不多,怎么才能快速提升自己的能力呢?
(即时贴:明确提升目标、投入资源、提升方法以及取得的效果。)
方案1.尽快上班:
1、先围绕面试的考核点,确定一个自动化测试的方向,确定一个项目,然后按照自动化测试的流程和技术要求进行部分项目实战
2、总结整理工作问题和自动化测试成果
3、针对面试常见问题进行准备和整理,快速满足面试的要求
4、上班后并不是万事大吉了,无论公司是否提供自动化测试岗位和工作,我们必须利用业余时间,每天至少在自动化测试项目中投入1-2个小时
5、半年后必须有能力承担自动化测试的项目
方案2.至少先具备一定的自动化测试工作能力,再开始找有竞争力的工作:
1、拿出至少一个月的时间,以实际项目为背景
2、从头到尾完整演练整个自动化测试项目
3、达到能够独立完成某一个方向(web自动化/接口自动化/性能自动化/手机自动化)的自动化测试工作
4、能编写独立的自动化测试脚本
5、能够设计自动化测试框架
方案3.全面具备自动化测试工作能力,可以挑选好的工作
在方案2的提升模式下,具备四个自动化测试方向的独立工作能力。
无论选择哪个方案,最重要的就是要有一定的自动化测试项目工作经验,这是最基本的要求,因为企业用人的标准不是我们学过、看过自动化,而是需要我们亲自做过自动化测试,这个标准一定要达成才可以!)
02 按照以下步骤,提升自动化能力
测试大佬给了我们非常好的规划方向,但靠自己的能力和资源储备,光是找项目都不知道从何入手,而且也没有干过自动化测试工作,如何干?怎么干?靠自己的力量根本就做不到的!
理想和现实往往是有非常大的差距,但是只要有有效的方法还是可以快速拉近距离的。
(即时贴:要想快速提升自动化测试能力,可以按照以下步骤进行:
1、找一个项目
可以是自己以前做过的项目,也可以是开源的项目。
2、明确自动化测试方向
建议可以从web自动化/性能自动化/App自动化入手。因为接口自动化项目很少能找到开源完整的。
3、明确自动化测试工作流程。
一般而言,如果没有特殊情况下,自动化测试工作流程如下:
①前提条件:手工测试基本上完成,相应的bug也基本上修复
②产品需求或业务流程基本稳定,产品有长期运营的计划,不是只用一段时间
③明确自动化测试要达成的工作目标。
一般而言:
√基于UI的自动化测试(web/app自动化测试)都是为了最大程度的提高回归测试的效率和覆盖度;
√性能自动化测试主要是针对用户访问量或数据量较大的系统,测试系统的响应速度和系统的稳定性;
√接口自动化测试主要也是为了提升回归测试的效率和质量的。和UI自动化测试不同的一点是,接口自动化测试不受业务流程变更和UI变更的影响,只要接口调用参数和返回值没有变更,脚本的稳定性是比较强的。
4、确定自动化测试范围。
一般而言先将使用频率高且业务需求稳定的内容纳入到自动化测试范围中,对于使用频率低或需求经常变更的内容可以暂时不放入自动化测试范围列表中。
5、设计并研发独立自动化测试脚本。
设计和实现流程如下:
①进行版本设计,由简到繁逐步完成脚本研发,版本设计原则参考如下:
先以一组常量测试数据,快速跑通脚本,扫除语法技术障碍
再将常量数据替换为一组变量数据,进行脚本参数化准备
再使用列表/字典类型输入多组测试数据,进行少量的参数化
如果想大幅度提升脚本的测试数据覆盖率,使用文件存储测试数据,并优化
针对脚本的预期结果的验证进行优化
用脚本编写自动化测试报告
②针对不同的版本进行类图设计
③针对类图进行每个方法的流程图设计(2和3两步在脚本技术熟练后,可以省略,初学时一定要先进行设计,整理好思路后再编写代码,切记!)
④按照类图和流程图设计分版本进行脚本的实现
⑤先写注释再写脚本程序,边写边调试运行,不要全部写完再运行,切记
⑥发现问题后,要使用调试技术进行问题的快速定位,然后分析并修复bug。)
03 自动化经验,与你共勉
没错,只有跳出旧的思维模式,以全新的思维来考虑解决问题的方法,适当的时候有必要给自己“镀金”,学习和掌握更多新技能,为自己创造更多的机会!最后,分享以下几点测试经验与大家共勉:
1、无论从事什么行业,刚毕业的几年之内,一定要先把基础打好,尤其是技术类工作。以后不论走技术路线还是管理路线,这点都是至关重要的。
2、硬功夫(专业能力)和软实力(情商)都很重要。
3、要善于记录、分析和总结。针对测试,类似于经典bug出现的根本原因、复现方式、避免漏测的办法、改进建议等总结。
4、以小见大。出现一个bug,不要仅仅局限于这个bug,要多思考问题出现的原因,是流程出现问题了呢?还是其他原因?是不是可以优化流程来避免以后此类问题的发生呢?这样,解决一个问题相当于解决了一类问题。所以要多思考、多提建议。
5、趁自己还年轻,合理利用空余时间充电。一个人下班的时间,决定了他的高度;一个人如何使用空闲时间,决定了他能走多远。
Python全栈自动化测试学习路线
1. 自动化测试必备Python编程内容
2. Web UI 自动化测试基础内容
3. Web UI 自动化测试实战内容
4. APP UI 自动化测试基础内容
5. APP UI 自动化测试实战内容
6. API 接口自动化测试基础内容
7. API 接口自动化测试实战内容
8. CI/CD持续集成专项技术
9. 自动化测试框架实战技术
相信看到这里的,不管是新手还是前辈,都对自动化测试有了一个大体的认知。希望这篇文章能帮助新人更好地了解软件测试行业,也同样希望这篇文章同样能帮助已经有几年测试经验的前辈们做好自己的职业定位,确定未来的发展方向以及做好技术沉淀。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取