最近有同学问小编:我最近考虑转行IT行业,但是不知道该选择软件开发还是软件测试岗位?希望老师能够指点迷津。
做软件测试需要掌握的技术有哪些?
如果要做一名让开发人员佩服的测试人员,需要掌握的技能。
1)编程语言
至少要掌握一门语言,不管是简单的php,java,还是C++也好,或者其他的脚本语言python,perl还是shell也好,至少用一种语言真正的做过一些事情,而且能拿来就用。
2)数据库
至少要掌握一种数据库的DBA,对SQL的操作要熟悉,至少能熟练的运用JOIN进行查询,知道基本的HAVING的用法,如果能写存储过程,并且能优化存储过程那当然更好了,测试人员离不开数据库的管理和数据库的操作。
3)操作系统
作为测试人员,各种操作系统应该很熟悉,系统安装,配置,管理,一个都不能少,对于Linux,至少要对一种系统做过系统管理,熟悉常用的命令行操作,具体要会哪些,建议google一下,用Linux的时候,尽量能用命令行,就不要去点鼠标,因为它不是windows,要改变这样的习惯。能在Linux下能安装和配置软件,最好建议大家自己下载sourcecode,亲自编译,了解make file的原理。
4)扎实的软件测试理论
这是做为测试人员最基本的,不要连开发人员都知道的一些测试方法,测试人员竟然没听过,很多测试人员觉得理论知识都看过,以为自己就了解了,其实做过一段时间之后,再回头去看理论,会有更多的收获,工作多年之后再看测试方面的书籍,发现还是会有不同的收获,理论是实践经验的总结,不能说最好,但是如果说设计测试用例的时候,如果每种方法都有涉及到,肯定会发现用例覆盖率会高,而且容易发现bug。
5)尽量自己分析问题
发现问题了,怎么办?可以找相关的开发人员帮忙分析,但是在发现问题之后,能自己尽量的寻找线索,首先要确定非环境因素,比如检查配置是否全部正确, 络是否有问题等等,然后确定非环境因素后,保护现场,保存记录系统提示信息,如果有日志功能,那自己先根据日志查找一些线索,并把自己检查过的地础和做过的分析信息尽可能多的提供给开发人员,而不是仅仅把错误日志或者错误信息丢给开发人员分析就不管了。
6)多涉猎一些项目之外的知识
不要做一个项目,就两耳不闻窗外事,做测试的就是要涉猎的广,跟开发不同,测试是要能接受任何类型的项目,因为测试是一门方法学,方法学是不受某个产品或者领域限制的,但是如果对其他领域也了解的多,对做测试是有帮助的,前沿技术也要了解一些。
7)掌握一些安全方面的知识
往往系统安全是很重要的,如果能提出一些系统安全方面的漏洞,那别人自然会觉得你考虑的比较全面,至于安全方面需要哪些知识,首先从 络安全入手,了解一些密码学方面的知识,比如了解常用的加密算法原理,比如 文加密传输协议原理,建议看一下hash的方法,这个简单容易理解,还比较容易举一反三。
8)提高沟通能力,懂得尊重开发人员
测试人员要面对的人员很多,客户,项目经理,开发人员,产品经理等,有时候会全部都接触的到,那么沉默就不一定是金,有良好正确的沟通能力,会帮助测试人。
开发岗位的技术要求有哪些?
开发岗位要求:
1、在软件项目经理的领导下,配合完成程序设计和开发。
2、按产品需求进行软件设计和编码实现,确保安全、质量和性能。
3、参与内部测试、部署、实施等工作。
4、分析并解决软件开发过程中的问题。
5、熟悉Java EE 技术,包括Servlet/JSP 、JDBC 、JMS 、Web Service 等,对各种开源的软件如Spring 、Struts 、hibernate/ibatis 、Tomcat 等有深入的了解。;
6、熟悉css/xml 等 页技术,熟练Ajax (jquery 、mootools )、Java 技术;
7、熟悉Oracle 、Mysql 数据库。
8、熟悉面向对象编程,具有良好的编程风格、习惯;了解软件开发流程,熟悉MVC 模式;并有在MVC 模式下进行中大型web 开发的经验;
9、可以单独对已有的系统进行维护,工作认真细致负责,有良好的自学能力,独立思考能力,能够在短时间内学习并应用新技术;
10、积极热情、沟通能力强,有强烈的责任心,具有良好的团队合作精神和敬业精神;
11、能够承受工作压力,能在规定的时间内高效完成任务,具有良好的团队合作精神。
初入职场应该选择软件开发还是软件测试?
从长远的职业发展来看,个人觉得选择软件开发比较适应当下的多元化就业发展。
(一)软件环境方面:软件开发发展前景大一些。软件测试只有大公司才要,中型公司很少有招软件测试的,所以要学还是学习软件开发吧。
统计显示,在中国一百二十多万软件从业人员中,真正能担当软件测试职责的不超过 5 万人。在软件业发达国家,软件测试人员与开发人员之比接近 1:1 ,而在中国该比例仅为 1:8 左右,很多企业没有专门的测试职位。
(二)当然是软件开发比较有前景了,①先从所涉及的技术难度来说,肯定是开发有技术难度了,对你的提升比较大,会了难的,在做简单的易如反掌;会简单的想做难的,又是需要很长时间和很多精力去学习的;②从岗位来说,软件测试岗位没有软件开发岗位多,软件测试很多大公司才需要的,对学历要求很高,而且有部分公司,开发人员就兼职做了模块测试,就不需要测试人员了。③从薪资来说,一般来说测试薪资是 4k左右,开发起薪都在8-10k。④最重要的选择开发,发展路线会比测试路线更广,开发,你可以转大数据分析,可以做游戏,系统,App等各种开发,测试就只能做测试了。
软件开发和软件测试可以互转吗?
不可以互转。
原因如下:
①软件开发转测试很好找的,做测试更需要的是对业务的熟悉,并不全部依赖于工具,对Linux系统熟悉,对SQL熟悉,当然你需要懂一点测试理论,要学会编写测试计划,用例,方案等,至于性能测试的肯定就需要工具Loadrunner吧,这个普及的WinRunner,性能测试更需要的是经验,工资高,你有开发经验的话转个开发测试或者自动化测试都可以,待遇不比开发少,只是可能还是要有一部分开发的工作,还要兼顾测试的。不知道楼主为什么想转测试,如果觉得测试比较轻松的话那我劝你还是不要转了,因为我就是做测试的,工作内容很繁琐,没有点耐心很容易崩溃的。
②软件测试转软件开发呵呵~~~要是真准备这样做的话还是慎重考虑下,理由如下:
1、转开发,你怎么就知道不会遇到你所说的“接触不到一点技术,很难有提升, 很迷茫 ”,事情都是两面性的!
2、“有开发基础的测试人员 现在很吃香”不一定非要转作开发才能积累开发经验呀,你可以在做测试的过程中编写一些小工具,或者提高对脚本的编译能力,这些都是很有价值的,比起做开发要好多了;
做测试有经验了,再去转行开发,相对于是又重头开始,工资你要接受一下子变低,还要付出1W的培训费,最后再转回测试,暂不说花费了多少张毛爷爷,这期间又浪费几年的时间,你觉得值么?
其实不管是测试还是开发,只要确定了目标和方向,相信你一定会找到出路。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!