前言
是的,我一家小公司工作了整整两年时间,在入职这家公司前,也就是两年前,我就开始规划了我自己的人生,所以在两年时间里,我并未懈怠。
现如今,我已经跳槽到了字节,入职字节测试岗,顺利拿下 offer。自己的情况很普通,本科文凭,没有背景,分享这次我的经历,想鼓励和我同样起点的人!
字节面试题(技术部分)
-
你了解哪些软件测试方法?
-
请介绍一下你最常用的测试工具。
-
你认为什么样的 Bug 是比较严重的?如何判断 Bug 的优先级?
-
请说出至少三种代码覆盖率度量方法。
-
你熟悉哪些自动化测试框架?使用过哪些?在什么情况下会考虑引入自动化测试?
-
如何设计一个良好的测试用例?请列出几个测试用例设计的要点。
-
你了解哪些性能测试工具?对于一个网站或服务应该如何进行性能测试?
-
请说明一下黑盒测试和白盒测试的区别。
-
你了解哪些安全测试方法?在什么情况下需要进行安全测试?
-
请谈谈你对持续集成的理解,以及你如何在项目中实现持续集成。
-
在项目开发中,你通常从哪里获取测试需求信息?如何与其他角色协作?
-
你遇到过什么比较困难的 Bug 案例?你是如何解决的?
-
你了解哪些测试流程?在项目开发中,你通常如何执行测试计划?
-
请简述一下你对缺陷管理的理解,以及你是如何进行缺陷跟踪和管理的。
-
你认为软件测试在项目开发中的作用是什么?如何证明你的测试工作对项目有贡献?
第一件事:分清阶段,制定计划
从我大学之后,我清晰到自己的现状,也明白要想改变自己的人生,那就要懂得去规划。所以,从我实习工作开始,就已经对自己的职业生涯开始进行了一个规划,而我的规划很清晰地分成了几个阶段,也把每个阶段的目标和重心确立了下来。
-
第一阶段:0~3 年;我给自己的第一个时间就是 3 年时间,3 年完成第一次跳槽,而且需要跳到更大的平台。
-
第二阶段:3~7 年;确立自己的发展方向,自动化测试工程师、测试开发、性能测试 或者安全测试均可,但我知道,无论是朝哪个方向发展,技术知识的储备一定要系统完善。
-
第三阶段:7~未来;这个阶段,我应该完成了自己的发展方向,这个时候需要思考人生,或者继续自己的爱好,享受生活,也或者开始进行创业。
第二件事:梳理知识,重新学习
在唯品会的三年里,我为跳槽做准备,也为第二阶段的发展方向做准备,所以梳理自己的知识,让自己重新开始学习。这三年里,我从未落下过提升自己,自己的学习方向也是按照自己梳理出来的知识路线进行的,一步一步,有条不紊。
-
第一阶段 测试基础
测试基础是软件测试最重要最加分的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好是学到什么程度呢,最好是能够理解,能有自己的话表述出来
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的分类、BUG的六要素、BUG的生命周期、BUG的定义.
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
第二阶段 工具学习
软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。在这个阶段,学习工具什么的,重点在于接口测试的学习,所有的工具的学习,都是在为了接口测试的学习做铺垫。
下面我会列出需要学习的工具和知识点,按顺序学习就好。 - 简单的网络协议:TCP/UDP,HTTP/HTTPS
- Linux的基本操作和常用指令。
- MySQL数据库的基本操作和常用sql语句。
- fiddle抓包工具的使用。
- postman接口测试工具的使用。
- jmeter和loadrunner性能测试工具的使用。
第三阶段 代码学习
OK,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了。
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章。
嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐python。
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用 了!
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java。 python的话也是一样的(python现在变成主流了)
总之前期你两者二选一的学习就OK了。建议是学习python
啥?你问我学的啥。
我当然是两种都会啊。
哈哈哈哈哈哈哈,惊不惊喜!意不意外!
第三件事:勤写博客,多做笔记
合格的开发人员一定是要养成良好的学习习惯和工作习惯的,程序员为什么要勤写博客,多做笔记?理由很简单:
-
整理思维、加强理解。
-
方便未来、回顾复习。
-
记录成长。
-
锻炼写作文字组织能力。
-
跟其他人反馈、互动,别人会发现一些你发现不了的问题,提升你的思维。
第四件事:社群互动,拓宽圈子
人脉的重要性,相信每一个工作的社畜心里都清楚,而我们开发者同样也需要积累自己的人脉。所以,在唯品会的三年里,我并未只是早出晚归,整天对着电脑工作,我会利用自己的剩余时间,去参与到一些社群里,与同行交流,参加一下线下的会议或者活动是我比较直接的扩宽圈子的方式。
第五件事:懂得复盘,准备面试
我学会了复盘自己,每年给自己的一个总结,包括知识、工作、生活及情感等各个方面,是否把自己的丰富度进一步地提升了。今年是我第一阶段的第三年收尾,也给自己这三年来做个一个总结,同时也要开始开展我的跳槽计划,然后准备面试。
总结
外行对于程序员的认知很单一,也有很多刻板印象,但不管如何,作为测试人员的我们,自己一定要正视自己。如果我们连自嘲和自卑都分不清楚了,那发展也就仅限如此了。
所以,尽早规划自己,朝目标发展,才是上策之道,而不是怨天尤人,等到 30 岁后再去焦虑。
送上一句话:
如果不想成为“工具人”,就不要停下成长的步伐,打造属于自己的独特价值,具备不可替代的稀缺属性,这样才能不被淘汰,也能够在遭遇变化时,随自己所愿进行选择。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!朋友们如果需要可以自行免费领取 【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!