作者:hacker 日期:2022-07-21 分类:黑客技术
零基础学习软件测试无非有两种方式:自学和培训。
关于自学,无需多言,如果你自律性强,具备学习能力、有专研问题的好奇心、以及解决问题的能力,那么自学是完全ok的。蜗牛学院这里也给大家整理了一份软件测试的学习路线,希望可以帮助大家少走弯路。
如果你选择培训,那么就分线上课程培训以及线下面授培训。
线上课程可以在网上找,也可以报一些培训班的课,这种学习效率一般会高于纯自学,因为老师会有一些项目演练,不至于让你只学习理论知识。当然,你学完后能不能融会贯通、合理运用又是另一回事了。
线下面授班因为场地、师资、以及各种硬件设施等成本,学习费用一般高于网教课程,面授班最大优势在于有问题可与老师面对面直接解决,学习效率最高,并且有一个技术学习环境。
总结来看,在线课程更适合有行业基础经验的工作者,他们利用自己下班后或周末的碎片时间给自己充充电,以此来提升技术能力。对于零基础转行者而言,还是线下面授班的学习效率更高一些,花最少的时间学更多的知识,但要考虑下自己的经济情况。
给你复制下 你看看吧
- 根据V模型、广义测试概念等,(静态)测试的越早,发现缺陷越早,越有利于产品的质量、加快产品开发周期、降低企业的成本。更重要预防设计出现严重的缺陷,如果设计出现缺陷,在系统集测试发现问题时,所造成的返工将是可怕的。这就需要对设计进行复审、评审,而在这过程中,需要测试人员参与。
- 对于当前系统越来越复杂,不管是J2EE架构还是.Net架构,不管是集中式网络系统还是分布式系统,不管是主机系统还是服务器集群系统,其设计往往不是一蹴而就,而且要基于以前的经验进行设计,根据教训(发现的问题)而优化系统结构。
- 软件系统越复杂、提供的功能越多,其测试要求越高,这就决定系统必须具有良好的可测试性,这一点通过开发设计架构师来保证,不是十分保险。
- 系统的性能、安全性、稳定性、可靠性等的测试,在技术、平台环境构造、系统部署上有很高的要求。
作为软件测试架构师,其主要责任是:
- 审查系统架构、系统构件/组件及其接口关系等的设计
- 确保系统的可测试性
- 设计软件系统的测试策略和方法,特别是在系统的性能、安全性、稳定性、可靠性等方面的测试方法、技术线路和质量标准
- 构件复杂的系统测试环境,并分析、解决测试中出现的较深的技术问题(Troubleshooting)和帮助做好缺陷的隔离
- 对系统(性能、安全性、稳定性、可靠性)测试作出分析、评估,并提出为改善系统性能、可靠性而进行设计修改、代码重构的建议
- 设计测试自动化的技术框架,主持重要的测试工具的研究、评估、设计。
- 参与系统部署的设计
- 参与新技术的评估和引进
- 帮助改进测试流程、提高测试效率
同时,招聘软件测试架构师,却是非常困难的,主要的原因有:
- 对于大多数技术很好的工程师、架构师,对过程管理、测试策略和方法、质量等关注较少,理解不够,缺乏良好的RUP或CMM/CMMI方面的造诣。而测试工程师在技术实现上机会较少、努力不够,技术功底不够,所以具有在系统架构和测试方法等多方面能力很强的人,是不多的。
- 目前国内业界还存在偏见,具有精湛的技术和丰富的经验的技术人员,更愿意做开发,不愿意做测试,这种现象偶尔表现在公司的薪水体系上、或者企业的管理层对此重视不够、决心不够。
- 国内测试专业发展比较迟,自然在人才市场上,有经验的、专业的测试工程师就不多,更何况是技术精湛的测试架构师。
- 软件测试架构师定位不清楚,企业没有给出清楚的责任和工作内容。
- 技术人员随着年龄增大,倾向于向管理发展,多数企业的政策也是向这方面引导。例如副总、经理等管理职位薪水要比纯技术人员高。实际,在多数外资企业,很强的技术人员(架构师)完全有可能高于他/她的上司。
作为一名IT从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,从网络安全的就业方向来看,可以就业到云计算、大数据、物联网、人工智能等多个领域,而且随着云计算等技术逐渐开始落地应用,未来这些新兴技术领域对于安全类人才的需求量会逐渐提升,整体的就业前景还是比较广阔的。
以大数据领域为例,随着数据价值化能力的不断提升,大数据领域对于数据安全的重视程度也会逐渐提升,对于大数据技术体系来说,没有安全的大数据一定走不远,所以当前学习网络安全的初学者,也可以重点关注一下大数据安全领域的相关知识。
在5G通信时代,物联网将会迎来新的发展机遇,而且物联网是产业互联网的重要基础,所以大量传统行业企业也会纷纷建设自己的物联网,所以物联网有望成为一个重要的创新、创业领域。从物联网的技术体系结构来看,当前物联网一共有六大层次,其中安全单独占据着一个层次,而且安全也是其他五层(设备、网络、物联网平台、数据分析、应用)的重要支撑。所以,从这个角度来看,物联网也将成为网络安全一个重要的应用领域。
从网络安全所涵盖的内容来看,网络安全涉及到传输安全、存储安全、运维安全等多个领域,涉及到的知识面也比较广,不仅涉及到操作系统、计算机网络、数据库等知识,同时也涉及到密码学等相关内容,所以不仅知识量比较大,难度也相对比较高。
最后,网络安全的相关工作岗位不仅与所处的技术体系(物联网、大数据等)有关系,与应用场景也有密切的关系,所以安全从业者本身的工作边界还是比较宽的。
零基础学习软件测试的方法有:
一、了解测试基础
例如测试流程,测试方法,测试用例的编写,软件测试计划编写,包括测试的主流模型,还有缺陷管理工具(如禅道jira或其它),了解数据库,这里的了解是指增删改了解,并且“查”要尽量做到熟练。
二、学习并掌握计算机网络方面的知识
主要是协议之类的(如netbeUI协议,IPX/SPX,TCP/IP,OSI等这些协议),然后在把app跟web测试的测试方法及流程,测试思路,前后台的逻辑分析,包括测试点及测试的范围,都细心标记,主要是工具的结合使用。这样能为你后续的工作提高效益,也不至于出现在工作中不知道怎么介入和开展工作的情况。
三、软件测试技术成长
软件测试技术成长可以从以下几个问题入手,去进行查漏补缺,去进行学习!
功能方面:如何设计测试用例?如何进行发散测试?如何防止漏测?
性能方面:用户常用的功能如何才能体验性更好,速度更快?
安全方面:软件有没有做最基本的安全防御?常见的SQL注入,CSRF攻击是否对我们的软件安全有威胁?你的软件足够的安全吗?
自动化方面:自动化是什么?在什么情况下做自动化?哪些功能测试用例适合通过自动化脚本来执行?
四、要想有效快速学习软件测试,良好的时间管理方法对你大有裨益。
时间管理每个人有自己不同的方式,对我来说最受益的两条建议就是:
1.按照工作的优先级进行处理,可以参考时间管理的工作四象限法。
2.对自己每天的时间进行记录,长期归纳总结,得出最适合自己的时间管理方案。
扩展资料:
软件测试需要学习测试用例、测试用例的方法、缺陷管理工具、掌握数据库、App测试、python语言、Linux系统、前端语言等技能。
1、测试用例
这是每一个工程师必备技能,也是标志你进入测试行业最低的门槛,关于测试用例可以参考我以前写的文章。
2、测试用例的方法
测试用例的方法,只用掌握相关的方法,才能把测试用例写好,覆盖度高。
3、缺陷管理工具
缺陷管理工具,就是提交bug工具,这是评价软件质量考核之一,也是软件工程师的价值所在。
4、掌握数据库
掌握数据库非常重要,这个世界由许许多多数据组成,软件测试,就是满足客户的需求,但必须数据正确,其实软件工程师需要对数据流向的了解,才能更加深入地了解业务,这也是一项基本技能之一。
5、App测试
App测试,从兴起到目前市场的成熟,APP可以说成为市场上的主流产品。若你不会APP的测试,很多公司是是不要的,所以需要我们深入了解。web测试,其实跟App相似。
7、python语言
python语言是现在最流行的语言,这是测试人员技能升级最好的方式之一,测试人员可以利用他做非常多的事情。
8、Linux系统
Linux系统,测试人员利用它最多的是看日志,更好地为开发定位bug,这也是提升技能之一。
9、前端语言
前端语言,可以让自己更好的判断bug是前端还是后端造成的,多学一点技能对于测试人员非常好的。
做测试已经近六年了。在测试技术方面的技能长进了不少,又能享受写代码的乐趣,同事们经常交流对软件测试技术的见解,也在项目中实现一些创新的测试技术和基于自己的想法设计好的测试框架,每天过的很开心。随着对测试这个职业的了解越来越深,对微软测试技术的掌握越来越多,慢慢地,人就开始对那些测试大牛在做什么感兴趣了。他们就是那些在公司内部挂着测试架构师头衔的一小撮人。TheyareTestArchitects。 什么?你的公司还有测试架构师这么一说?呵呵,好像很多人都会这么问吧。大家听架构师听多了。比如我们头比尔的头衔就是微软首席软件架构师。一般来说,说到架构师,人们想到的都是软件设计架构师,那些设计整个产品架构,决定各模块如何协调工作,决定采用何开发平台的大师(对不起,可能每个人对大师的定义不同,如果你心目里只有Lippman,Stroustrup,Anders这样的人才能称为大师,那么原谅我的定义,我的大师就是那些杰迪武士里的Master,他们中有些人是Yoda/Anakin这样实力超人的,但也有一些普通的我们每天都可以从他们身上学到不少东西的人,我愿意把后者也叫大师。)。那么测试架构师,他们是些什么人?他们凭什么拿着和设计架构师一样的薪水?我们怎样成长为测试架构师呢?我也是带着这样的一个个问题,在雷德蒙总部有幸遇到一个测试架构师艾德的。那天,大晴,有利西方。 如果你是一名测试架构师,那意味着你有很多事情可以做,虽然你不一定都做:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为你的公司考虑如何提高测试效率;但总的来说,我们可以这样描述:测试架构师领导公司测试技术的发展和测试策略上的方向。区别一个测试架构师和普通测试工程师的特质是:他关注的是一个功能模块,一条产品线,还是整个公司的测试部门的问题。甚至对于一些更加资深的测试架构师,他们已经不再局限于产品当前版本的测试,他们可以前瞻性的考虑未来的版本的测试策略和技术。 测试架构师的角色可以和设计架构师的角色互相比较着看,设计架构师,计划/设计一个产品,关注着产品的研发过程。同样的,测试架构师他们计划/设计测试平台,关注着产品的测试过程。(废话而且拗口是吗?:))但他们倒是有一个让我们IT民工羡慕的共同特点,他们更多的是提供咨询服务,并不亲身去帮你写完每一行代码。他们的工资不由他们敲多少字决定。呵呵。测试架构师具备测试技术测试方法学上雄厚的知识,不仅仅是公司内部的知识,也包括公司外部的知识。所以他们具备实力给那些测试经理们提供咨询服务,告诉他们,什么样的测试技术什么样的测试平台会符合公司要测得产品,什么样的软件流程可以更好的保证软件质量。那有人会自然想到,这不是测试经理的事情吗?不然,测试经理,我们都是知道,人一到了经理这个位置,杂事就多了,员工加薪,员工福利,办公室装修,测试实验室购买新机器。什么事情都可能找到测试经理头上。测试经理的主要责任,应该是领导和培养一个优秀的测试团队。所以领导和培养是他的重点。对于剩下得测试技术测试策略上的任务,这时候他身边的测试架构师就起到了辅佐的作用。我觉得,这样的一个解释可以让很多测试经理如释重负,把技术和管理的重担全部依赖在测试经理的身上,有点不近人情了。呵呵。 测试架构师不仅仅是需要影响到公司内的测试机构测试社区,还需要影响开发机构甚至市场部门,好的测试架构师,可以从保证质量的角度,对产品的研发销售各个方面施加深远而正确的影响,也吸收来自各个部门的建议,最终提高整体软件质量。所以说一个优秀的测试架构师,也可以是一个不错的设计架构师,不错的用户需求分析师。因为软件质量保证是一个贯穿需求分析、设计、测试整个软件项目的过程。做好测试架构师,就要求你能够驾驭软件项目各个阶段。所以对开发和其他部门的熟悉是必不可少的 1,他们不是项目经理,虽然前面说了很多软件测试架构师对项目的各个方面施加影响,但是他们不是项目经理。一个纯粹的项目经理要考虑的事情还有很多很多,如果一个测试架构师最后扮演了项目经理的角色,那么对项目还是对测试架构师,都是不益的。 2,测试架构师不是一个水到渠成的头衔,不是你做了很多年测试,对产品很了解,就自然成为了测试架构师。你需要有足够的技术前瞻能力和对公司内的影响力以达到对产品测试策略和技术方向提供咨询。 3,不只是一个纯粹的软件测试技术编程高手,一个测试架构师的存在是为了解决实际项目产品中的测试问题,并不是一个纯粹的测试技术编程爱好者。一个热衷于单元测试开发框架的人,可以是一个编程好手,但未必是公司需要的测试架构师。一个架构师,对技术和测试策略测试方法学都能在解决实际问题上运用娴熟
已有2位网友发表了看法:
访客 评论于 [2022-07-21 21:00:25] 回复
你只学习理论知识。当然,你学完后能不能融会贯通、合理运用又是另一回事了。线下面授班因为场地、师资、以及各种硬件设施等成本,学习费用一般高于网教课程,面授班最大优势在于有问题可与老师面对面直接解决,学习效率最高,并且有一个技术学习环境。总结来看,在线课程更适合有行业基础经验的工作者,他们
访客 评论于 [2022-07-21 22:24:23] 回复
出为改善系统性能、可靠性而进行设计修改、代码重构的建议- 设计测试自动化的技术框架,主持重要的测试工具的研究、评估、设计。- 参与系统部署的设计- 参与新技术的评估和引进- 帮助改进测试流程、提高测试效