前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了快6年软件测试员。。。为了进大厂,也花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到,如果只是为面试而刷题是不是在浪费人生呢?但事实上是你都不刷题连门槛都跨不了
字节的面试会问些什么问题呢?他给我的留言是这样的:
- 软件生存周期及其模型是什么?
- 线程和进程的区别
- 描述 TCP/IP 协议的层次结构,以及每一层中重要协议。
- 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
- 进程调度算法有哪些,在实际情况中如何选择这几种算法
- 游戏引擎和体感传感器可以连起来的原理
- 用共享存储方式通信会有什么问题,如何解决
- 针对上线前大量的渠道包验证有没有考虑过效率提升
- 你所在的业务线的前后端架构、中间件
- 在某地刷抖音,视频中断如何定位排查
- V 模型几个阶段的详细内容
- unitest和pytest框架讲解以及使用的是哪个一个为什么不用另一个?
- 持续集成怎么做到定点自动执行
如果你恰好刚刚进入一家新公司,领导一上来就让你开展自动化测试,作为一名初出茅庐的测试新人,除了手足无措,你只能默默慨叹自己能力尚欠,眼前只会出现一个又一个无从下手的问题:
A:作为手工测试,如何营造机会和环境解决我们自身提升的瓶颈?(好慌!以为自己手工测试已经登峰造极,不料我慌了……)
B:如何在最短的时间内能够跨入自动化测试人才的队伍?(我就想想,万一实现了呢……)
C:如何落地自动化测试呢?(领导一说话,哭泣哭泣怕了怕了……)
D:又如何在后续继续提升发展呢?(老大不小了,不能一事无成了……)
面对以上种种问题,我们究竟该如何面对?又该如何解决?
你可能会这样做
1.买了好几本编程语言的书,好厚啊!即使好不容易看明白一些,内容太多,怎么记住?
2.好不容易记住了一些,会写了两三个程序,怎么做自动化测试呢?
3.终于可以写一些自动化测试脚本了,企业对自动化测试工程师的要求是什么?怎么才能满足面试的要求呢
4.自动化测试这个岗位后续的发展如何呢?能长久保鲜吗?…
听听15年资深测试工程师分享的自动化测试经验及发展方向,或许能帮助你解决很多工作中的迷惑!
一、想从事自动化,从哪里入手?
我们很多人都不甘于原地踏步,都希望自己能从事自动化测试这个岗位,更希望自己在每家公司都能站稳脚跟得到认可,但是目前该从哪里入手呢?而且时间又不多,怎么才能快速提升自己的能力呢?
明确提升目标、投入资源、提升方法以及取得的效果。
方案1.尽快上班:
1、先围绕面试的考核点,确定一个自动化测试的方向,确定一个项目,然后按照自动化测试的流程和技术要求进行部分项目实战
2、总结整理工作问题和自动化测试成果。
3、针对面试常见问题进行准备和整理,快速满足面试的要求
4、上班后并不是万事大吉了,无论公司是否提供自动化测试岗位和工作,我们必须利用业余时间,每天至少在自动化测试项目中投入1-2个小时
5、半年后必须有能力承担自动化测试的项目
方案2.至少先具备一定的自动化测试工作能力,再开始找有竞争力的工作:
1、拿出至少一个月的时间,以实际项目为背景
2、从头到尾完整演练整个自动化测试项目
3、达到能够独立完成某一个方向(web自动化/接口自动化/性能自动化/手机自动化)的自动化测试工作
4、能编写独立的自动化测试脚本
5、能够设计自动化测试框架
方案3.全面具备自动化测试工作能力,可以挑选好的工作
在方案2的提升模式下,具备四个自动化测试方向的独立工作能力。
无论选择哪个方案,最重要的就是要有一定的自动化测试项目工作经验,这是最基本的要求,因为企业用人的标准不是我们学过、看过自动化,而是需要我们亲自做过自动化测试,这个标准一定要达成才可以!
二、按照以下步骤,提升自动化能力
测试大佬给了我们非常好的规划方向,但靠自己的能力和资源储备,光是找项目都不知道从何入手,而且也没有干过自动化测试工作,如何干?怎么干?靠自己的力量根本就做不到的!
理想和现实往往是有非常大的差距,但是只要有有效的方法还是可以快速拉近距离的。
要想快速提升自动化测试能力,可以按照以下步骤进行:
1、找一个项目
可以是自己以前做过的项目,也可以是开源的项目。
2、明确自动化测试方向
建议可以从web自动化/性能自动化/App自动化入手。因为接口自动化项目很少能找到开源完整的。
3、明确自动化测试工作流程。
一般而言,如果没有特殊情况下,自动化测试工作流程如下:
①前提条件:手工测试基本上完成,相应的bug也基本上修复
②产品需求或业务流程基本稳定,产品有长期运营的计划,不是只用一段时间
③明确自动化测试要达成的工作目标。
一般而言:
图标勾基于UI的自动化测试(web/app自动化测试)都是为了最大程度的提高回归测试的效率和覆盖度;
图标勾性能自动化测试主要是针对用户访问量或数据量较大的系统,测试系统的响应速度和系统的稳定性;
图标勾接口自动化测试主要也是为了提升回归测试的效率和质量的。和UI自动化测试不同的一点是,接口自动化测试不受业务流程变更和UI变更的影响,只要接口调用参数和返回值没有变更,脚本的稳定性是比较强的。
4、确定自动化测试范围。
一般而言先将使用频率高且业务需求稳定的内容纳入到自动化测试范围中,对于使用频率低或需求经常变更的内容可以暂时不放入自动化测试范围列表中。
5、设计并研发独立自动化测试脚本。
设计和实现流程如下:
①进行版本设计,由简到繁逐步完成脚本研发,版本设计原则参考如下:
- 先以一组常量测试数据,快速跑通脚本,扫除语法技术障碍
- 再将常量数据替换为一组变量数据,进行脚本参数化准备
- 再使用列表/字典类型输入多组测试数据,进行少量的参数化
- 如果想大幅度提升脚本的测试数据覆盖率,使用文件存储测试数据,并优化
- 针对脚本的预期结果的验证进行优化
- 用脚本编写自动化测试报告
②针对不同的版本进行类图设计
③针对类图进行每个方法的流程图设计(2和3两步在脚本技术熟练后,可以省略,初学时一定要先进行设计,整理好思路后再编写代码,切记!)
④按照类图和流程图设计分版本进行脚本的实现
⑤先写注释再写脚本程序,边写边调试运行,不要全部写完再运行,切记
⑥发现问题后,要使用调试技术进行问题的快速定位,然后分析并修复bug。)
三、自动化经验,与你共勉
没错,只有跳出旧的思维模式,以全新的思维来考虑解决问题的方法,适当的时候有必要给自己“镀金”,学习和掌握更多新技能,为自己创造更多的机会!最后,分享以下几点测试经验与大家共勉:
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. 自动化测试框架实战技术
自动化测试学习视频
Python入门基础必备学习资料
面试资料
我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我的企鹅qun大家一起讨论交流,里面也有各种软件测试资料和技术交流。
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!