汇智妹从业于IT培训行业,软件开发、软件测试都接触比较多,所以来回答一波:
就目前IT行业的发展趋势来看,软件开发和软件测试发展都比较好,因此,选择哪个方向去发展就要结合自己的实际情况来选择。
软件测试工作与软件开发工作相比,主要有以下几点不同。
1.知识体系要求不同
从软件生产活动分工来看,软件开发与软件测试是软件生产过程中非常重要的两个环节。软件开发人员需要了解业务背景、需求、编程语言、数据库、操作系统等知识,在整个知识体系中是偏向于产品构建型知识。
软件测试人员则不然,在日常测试工作中,需要站在用户的角度思考问题,可以对软件开发及软件内部知识不做太多了解,更多地偏向于应用产品、破坏产品。在工作中可能同时测试若干项目,可能面临着不同编程语言编写、不同架构平台、不同业务知识背景,甚至完全不同的操作模式(网页游戏和手机游戏),因此测试工程师需要知识的广度,在知识广度增加的同时提高技术深度。
2.技术技能要求不同
软件开发工程师需掌握一系列专业的编程语言、数据库、操作系统、服务器管理等知识,编程技能,如C、C++、Java等,数据结构、算法,常用的IDE平台,如VS、Eclipse等,数据库如MySQL、SQL Server、Oracle、MangoDB等,操作系统如Windows Server、Linux/UNIX等。开发知识更新相对较快,对脑力要求较高,随着年龄的增长,精力逐年下降,因此很多开发工程师做到一定年限后基本都转向管理岗位了。
软件测试掌握的技能相对要简单些,基本都是围绕应用层面考虑,如测试理论、测试流程、测试用例设计方法、缺陷管理知识。如果需要实施自动化或性能测试,可利用Selenium、Appium、Jmeter、LoadRunner等工具,掌握通用的编程语言,如C、C++、Java语言等,即可满足大部分需求,也可以学习些脚本语言,如js、vbs、Python等,而数据库、操作系统等方面的知识仅在实现性能测试或其他测试目标时需要。初学者选择一个门槛低,提升快、适合自身性格发展的职业是比较明智的选择。
3.问题思维模式不同
软件开发工程师的问题思维模式是创造性的,关注重点是如何构造,如何实现,如何编写高质量的代码;软件测试工程师的思维模式则是破坏性的,会想方设法从用户的使用角度破坏系统,构建正常、异常输入,发现被测对象表现特性与用户需求的偏离现象。
如有更多相关问题,欢迎咨询!
本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你。
软件开发与软件测试都是软件行业必备的两个技术方向,那么两者之间如何选择呢?可以听我来分析一下。
1.两者对比
软件开发相对于测试来说,薪资肯定是要高一些,就业需求也会更多,比如在公司里面,一个技术团队,假如有20人,那么开发人员可能要占一半以上,而测试人员也就占1~2名就够了,所以测试的需求量远没有开发那么大。
并且测试人员的工作强度和难度都比开发小,这也就决定了测试的薪资没有开发那么高。
2.自身情况
我们要学习一个技术,首先要了解一下自己的个人情况。比如对哪个更感兴趣,毕竟兴趣是最好的老师。再考虑自己之前的专业,技术储备如何,如果是非计算机专业零基础,并且逻辑思维能力很差,那么可以考虑学习软件测试,反之则可以考虑软件开发。一般女生学习测试的比较多一些。
如果想学习开发,这是Java学习视频,关注我免费领取。
我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获。
如果有Java,Android,H5等开发方面的问题,或者是开发求职方面的问题,都可以在评论区留言,或者私信我。
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/3266.html