转行做软件测试应该做一个怎样的学习规划
我们先理一下测试工程师是什么。
测试工程师,软件质量的把关者,目前传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。
测试的工作在开发之后,是产品上线前的最后一步。一般来说,当开发按照产品需求、交互设计、视觉设计完成软件开发后,就把完成版本提交给测试,测试人员再根据既定的测试用例进行功能测试、兼容性测试、性能测试等,逐渐收敛BUG,最后才能正式上线。
测试的工作主要由四部分组成
功能测试:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
兼容性测试:指对所设计程序与硬件、软件之间的兼容性的测试,包括软件能否在不同操作系统、不同机型、不同应用软件上、以及向前向后等兼容性能。
性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,以保证产品在大流量前提下都能正常运行,像我们熟知的负载测试和压力测试都属于性能测试,
安全测试:以发现安全隐患为目标,防止产品上线后被攻击。
完成这些测试的步骤后,一款互联网产品就可以正式上线了。
因此,测试既是产品的第一个体验者(最早从开发手中接过成型的产品),也是产品质量的最后一道防线守卫者(做各种测试,保证用户拿到的最终成品可用、易用)。因为测试的工作特性,他需要从用户的角度出发体验产品,这也决定了测试与开发、策划、设计等岗位交流、沟通的时间也会成为工作的一部分,甚至承担起整个产品的协调工作。这样看来,把测试称为QA(质量保证人员)也就一点不奇怪了。
测试无用论?
即使前面废话了很多,对测试有偏见的人依然会说,
“测试的工作其实开发也能做啊,何必再设一个测试呢?”
会产生这种想法也并不奇怪,毕竟隔行如隔山,不过这里还是要指出,上面的论述的错误之处在于
(1)完全割裂了测试与开发工作
(2)测试的工作被简化成找BUG
事实上,找BUG只是测试最初级的阶段,虽然必须承认,测试的门槛低于开发,但优秀的测试人员工作量之大,专业度之高,绝非一般用户能替代。
就像我们每个人都会接触到的kpi指标一样,测试的每块工作内容也都有不同的能力等级划分:
(1)手工测试,发现BUG
(2)通过各种手段,确认这个BUG是一个需要解决问题,然后确定该BUG的重现步骤并尽可能简化
(3)了解被测产品框架,能从代码中定位BUG源头,并能给出可能的解决方法
(4)尝试找出该BUG发生的原因,并能找出检测同类BUG的方法(标准化)
(5)能在保障产品质量的基础上,协调起整个项目上线的时间和流程
以上能力,是从授人以鱼向授人以渔递进的。
当你在执行前人的测试用例时,找BUG固然是工作要求,但最主要的用意是学习用例的编写思路和方法,从案例中总结出规律,进而开始自己编写标准化测试用例,以免同类问题生出千万条不同用例。
一个测试的能力,能达到的层级越高,团队中的开发、策划就能节省更多时间,团队运行也会更高效。而专业的测试,正常来说应该比开发对产品有更深入的理解,对于可能影响测试的因素,像Tomcat配置、数据库索引、多线程等都会有丰富的经验。
从入门到精通测试,距离有多远?
始终认为,每个专业的学习与进步,都有赖于三个因素:
(1)坚持
(2)资源
(3)天赋
以第一个最重要,但第一个和第三个都不是外部可控因素,全靠自己,所以这边也只能列一些可以参考的资源。
职业发展规划
做软件测试工作是比较容易升职到管理岗的,因为测试人员可以更加全面地看待问题,对全局的把控能力更加出色。如果你的职业规划是做管理人员,那么积累了几年技术层面的经验之外,就有机会晋升为测试组长,月薪在10k-15k左右。如果你想要往更高的层级晋升的话,就还需要提升自己的管理能力,这样才有机会做到测试经理岗位,拿到15k-25k的月薪。如果想要有更好的职业发展,那就要看你的综合能力了,如果做到项目经理或者产品经理,那么就可以争取到15k-35k的薪资。
2020-09-19 · 百度认证:西安菁英教育科技官方账号
广告 您可能关注的内容 |