做为从事测试工作十几年的一个老测试,看了好几天这个问题,但却一直没点进来回答这个问题!原因很复杂,但今天最终还是想给希望踏入这个领域的有心人分享一些个人经验!
一、测试是一个入门相对容易的职业。可以这么说,只要对电脑操作有一定了解的人,原则上都可以去做软件测试,只是刚开始能做的测试任务比较简单罢了!
二、测试又是一个精通比较困难的职业。很多非常牛的计算机系学校开设有专门的软件测试硕士专业,用来专门培养高水平的测试人员。
从以上两个极端的测试从业者水平之间的知识差距可以分析软件测试大概需要学习的内容。
基于以上,可以说软件测试是一个需要活到老学到老的职业,你愿意学的内容根据你希望达到的职业目标紧密联系在一起的!
希望以上对您有一定参考和借鉴!
一枚IT兵哥
庚子年春于北京
1/6 分步阅读
会一门编程语言,会到什么程度,能写自动化脚本;但是能不能做好测试不仅仅是会编程而已。
2/6
会SQL,除非那种报表类型的测试,会普通增删改查,知道4种join的区别就可以了(如果你想成为DBA,那么建议你还是深入研究更为妥当)。
3/6
测试用例、测试方案要会写,常用的测试设计方法要知道。
4/6
会通信协议,HTTP是必须的,看行业脑补,做电信的SMPP/MM7/MDSP,做即时通信的SIP/XMPP,会到什么程度,有个RFC在手边能够读懂报文。
5/6
会性能,这个比较宽泛,要学的太多,前端调优,中间件调优,函数调优,数据库调优。
6/6
Windows、Linux系统命令要会敲,安全性和易用性要了解。
软件测试的学习门槛其实是很低的,不需要有计算机基础,也不需要你有相关的背景,只要认真学习,耐心细心,都能够学会。因为软件测试课程会从计算机基础开始讲解,再一步步深入到具体的软件测试方法和项目实战。
软件测试是分为手工测试和自动化测试的,自动化测试可能需要编写脚本来控制测试工具进行自动化测试,但是手工测试则不需要,只用手动点击进行测试就可以了。
如果你觉得自动化测试有点难度的话,只掌握手工测试也能够做软件测试工程师,找到不错的工作。
当然,如果想要升职加薪的话,在后续掌握自动化测试也是很有必要的。不过那也是职业生涯后几年的事情,作为零基础的IT小白,现阶段努力学好手工测试就可以了。
手工测试分为功能测试、接口测试、性能测试三大类,并不需要学好所有方向,只需熟练掌握其中一个方向就可以从事相应方向的测试工作了。
其中功能测试相对来说比较基础,是初级软件测试工程师大多会从事的方向。接口测试和性能测试就属于进阶一些的方向了,但也不是很难,前期可以先了解一下,后期想从事相关工作的时候再掌握就可以了。
[从大的方向来看,需要学习以下内容:
1.计算机网络,例如了解什么是IP、TCP协议、UDP协议、http协议等。
2.软件工程,了解软件开发的流程,软件的开发模式。
3.操作系统,例如linux和windows平台的运维。
4.测试工具的学习。
5.软件测试理论,例如需求用例设计,用例评审,bug管理等
6.开发语言的学习,例如python或者java等,数字sql等数据库语言。
你好!很高兴回答你的问题,软件测试专业是当下热门专业,就业前景非常广阔。该专业所需要的技术知识学习难度较大,知识丰富度较高。从你的问题中,看出来你对该专业充满兴趣,以下是我对你所提问题的归纳总结,希望对你有所帮助和更加坚定学习好这门专业。
软件测试专业主要分为测试理论基础、测试项目实战、测试工具、自动测试实战四个课程阶段学习。
一、测试理论基础
1、软件前景分析。课程详情:(1)为什么学测试?(2)互联网行业发展前景分析?(3)测试行业发展及人员需要具备的能力。(4)什么是测试?为什么企业越来越重视测试?
2、测试生命周期。课程详情:(1)测试定义,分类,原则,策略,方法,模型,流程,测试生命周期。(2)模拟测试计划需求澄清过程。(3)掌握测试计划编写的要素。
3、测试用例设计与管理。课程详情:(1)测试用例编写原则,标准,内容。(2)用例管理与维护。(3)测试用例设计:等价类划分,边界图,场景法,因果图,错误推测。
4、BUG的编写及管理流程。课程详情:(1)BUG的起源、定义与分类。(2)BUG严重程度,优先级,状态标准设定。(3)BUG生命周期状态流程管理。
二、测试项目实战
1、Web项目实战。课程详情:(1)模拟项目启动,组建研发团队。(2)项目测试计划设计。(3)测试执行、BUG执行。(4)项目报告总结编写
2、APP端测试。课程详情:(1)企业级APP测试重点功能分析,测试点提取。(2)企业级兼容性测试。(3)APP测试资源准备。
3、APP端项目实战。4、敏捷测试。5、探索式测试。
三、测试工具
1、数据库基础-MySql。课程详情:(1)数据库管理工具。(2)数据库命令使用。(3)数据库高级查询使用。
2、Linux实战。
四、自动化测试实战
1、Selenium Web自动化测试。
2、接口测试。
3、接口自动化测试。
4、性能测试。
以上是较为详细的软件测试不同阶段学习的内容,知识内容非常之多,我个人感觉,对于初学者这些课程几乎接收不全,即使学会,很难理解,无异于给自己压力, 我建议你先明确自己的阶段,入门一般可以找一本基础书籍看看定义概念,理解岗位,对于现在主流的工具有一些浅显的认识,一般就可以达到入门的标准。
从本科阶段来看,几乎没啥区别。
以我在的厦大计算机科学系和软件学院来说,我们系里面还分理论和应用两个方向,软件学院也有分方向,不过只是平台不同,都是软件应用方面的。所以数学课上,我们系理论方向的学生上的是数分、高代,比较难,而我们应用的和软件学院一样上高数、线代。
计算机科学相对就有更数学、更学术的方向,比如去研究数理逻辑啊什么的,软件学院则更偏应用。
还是拿我校为例(不同学院还是不一样的),我校的软件学院要上好几门高级
编程语言
的课C/C /JAVA等,而我们当时就上了一个学期的C,再加5周小学期的另外一门,汇编不算高级语言。两边应该都上。学校计算机
系很多教授都是图像方向的,应用范围小,所以软件学院和公司的联系比较密切,就我所知就有几家公司和学院签合约了,我大计算机系没听说过。学生可能交的钱多了,所以做起项目来比较认真,项目经验也许就比我大计算机系一堆无所事事的家伙多,所以软件学院去公司实习比我大计算机系要顺利得多,找IT工作也就顺利一点。硕士来说的话,我只知道全日制的,二者的差别很大的。一是学费,计算机技术8000,软件工程在软件学院20000。二是培养模式,计算机技术第一年上课,后来就跟着导师,导师有项目就做项目,没项目就写论文,反正一切听导师的,让你打杂你也得干,所以没有实习。
软件工程第一年上课,第二年全部出去实习了,一般第三年半学期回学校写毕业论文找毕业正式工作。找工作的时候软件工程因为实习一年了,所以还是有些优势的。是我的话,再给我一次机会,会选软件工程,好考,工作也好找,贵的那点学费,一个月工资就回来了,而且一年实习也赚回来了。关于导师,不评价了,你懂的
当然各个学校的培养方式也有所差别
计算机科学与技术和软件工程,此外还有电子信息工程专业,学习的内容,工作的岗位其实是有很大程度上有交叉混合的。无所谓哪个更有前途,那个更好,其实它们都差不多。
差别在于计算机科学与技术主要学习编程,网页设计,APP,电脑软件开发,游戏开发运行等。而软件工程主要负责程序设计,软件开放,运行和维护上,相较而言软件工程范围更广泛要学习的门类更多而已。
但就工作岗位上这两个专业从事方向是大同小异的编程方向,主要为JAVA初级程序师,JAVA计算机程序师,JAVA工程师,c语言工程师;net方向,net网络开发工程师等;其他方向,系统维护人员,数据库研发工程师等,所以说这两个专业其实是比较有共性的。
纯属个人观点~图片来自百度~赞同点赞让更多人了解,不喜勿喷,谢谢!
交大的这两个专业基本是一样的,大概就是软件工程会讲的偏工程,少讲一些电相关的知识。所以我作为软件工程学生就在学操作系统时候稍微对硬件做一些了解。计算机技术要从电的角度更加底层看这个问题。
作为过来人说一下自己的看法,两者的课程设置上很相近,但是又有各自的一些特有的课程,从培养方向上,计算机科学与技术专业某些方面偏向于硬件,软件工程则更偏软件,就业来看,两者好像都在从事软件开发或者互联网行业。但是某些学校软件工程专业学费很贵,相应的会有些到企业的实习机会或者其他实践课程。
以上全部就是关于软件工程学什么的详细介绍,如果对你有所帮助或希望获取更多软件工程学什么的资讯内容,欢迎收藏关注本站。
标签: 软件工程学什么