
在学生的入学评估和沟通过程中,Internet上有很在问以下相关问题: 做软件测试或软件开发好吗?学习软件测试或软件开发好吗?软件测试与软件开发之间的区别和联系是什么?在职业转变过程中,您如何考虑进行软件测试或软件开发?等待这样的问题,一个接一个地回答它们比较麻烦. 现在,我将写一篇博客文章,专门从多个方面比较软件测试和软件开发,包括基本质量要求,性格要求,入门门槛,知识结构,竞争压力,职业发展,职业前景等. 希望给您一个相对的看法. 选择软件测试和开发的全面解决方案: 朋友.
首先,[基本质量要求]的基本素质包括逻辑思维能力,问题分析能力,沟通能力,协作能力和怀疑论等.
【软件测试】: 作为一名出色的测试工程师,您需要相对较强的综合素质,例如“五心”,责任心,谨慎,耐心,专心,信心等. 这里不赘述,您可以查看我以前的相关博客文章;五个“学习”逻辑,许多公司会在招聘过程中刻意检验测试工程师的逻辑思维能力. 对于调查,测试工程师需要在工具的帮助下分析问题的外观,并具有良好的知识背景,以分析问题背后的深层原因. 心理和测试工程师不仅需要从用户的角度进行测试,还需要了解开发人员的心理并分析其错误模式. 统计,测试报告很好地显示了统计知识. 在经济学上,一个好的测试必须是帮助提高软件质量,从而提高用户满意度,并带来更多的市场来实现盈利. 沟通技巧反映在测试工程师与开发人员和用户进行沟通的需求中. 协作和怀疑对于测试工程师来说也是非常重要的素质.
[软件开发]: 应该注意,此处提到的软件开发更倾向于软件编码,并且不包括软件设计和软件需求分析人员. 这是软件编码的未来职业方向. 作为一名优秀的开发工程师,在质量方面更倾向于某个方面,并且对逻辑思维能力的要求比对测试工程师的要求低. 因为在成熟的开发模式中,普通编码人员更加掌握了开发语言和开发平台的语法. 因此,印度的高中学生可以编程,而中国则不能. 从这个角度来看,“五心”和“五个大学问题”的要求不是很全面. 如果测试更加强调综合素质,那么开发会更多地关注素质的某些方面.
第二,[角色要求],有人说角色决定命运,从某种意义上说也是正确的. 性格会在一定程度上决定一个人的兴趣,一个人会喜欢这种工作.

【软件测试】: 从一个综合的角度来看,作为一名出色的测试工程师,最好是性格外向,尽管这并不意味着您需要像销售人员一样外向,并且善于与人沟通. 但至少您应该愿意主动与开发人员和用户进行交流. 此外,对于角色而言,要求测试工程师变得更加敏感,更加怀疑,严谨,追求完美的角色和彻底的心态也很重要. 从沟通的角度来看,过于内向的人不适合软件测试行业,至少不适合一线测试工程师.
【软件开发】: 开发工程师对人格的要求不是很明显,内向和外向的人格与优秀的开发工程师无关. 因为开发工程师更面对开发环境,所以不断修改代码?还有很多重复且乏味的工作. 所以性格要求可以忍受孤独. 因此,长时间编写代码的人有时会感到烦躁. 有两种方法可以消除这种不耐烦. 一种是力求对通信需求进行周到的设计和分析. 另一个是银行,例如开发管理或项目管理或测试开发.
3. [入门门槛],这部分内容是专门为希望进入软件测试和软件开发领域的人们编写的. 互联网上许说,软件测试的入门门槛低,软件开发的入门门槛高. 实际上,这种观点是有偏见的. 让我们具体比较一下.
【软件测试】: 从客观上讲,进入软件测试领域的方法更多,但这并不是一个较低的准入门槛. 例如,某些人可以通过行业知识背景进入软件测试领域. 测试工程师学习金融,不一定要学习计算机. 有些人甚至可以通过个性和基本素质进入软件测试领域. 例如,微软以前雇用过家庭主妇来进行软件测试. 并不是说微软不重视测试. 实际上,微软比任何软件公司都更加关注软件测试. 在所有Microsoft产品中,测试工程师的比例高于开发人员. 其他人正在从软件开发工程师过渡到软件测试,因此有很多方法可以进入软件测试领域. 正是因为有许多迹象表明进入门槛很低. 从现状的角度来看,由于需求因素,公司在不经意间降低了对软件测试工程师的要求,但这是为了解渴. 许多公司逐渐发现了这个问题,以至于将来测试工程师的要求会越来越高.
【软件开发】: 客观地说,进入软件开发领域的方法相对较少,但这并不是一个较高的入门门槛,因为印度的高中生可以编程. 实际上,掌握一种开发语言的语法,掌握一个开发平台,就可以进行编码. 在成熟的开发公司中尤其如此. 因此,北大青鸟的国内ACCP是针对高中生的发展培训. 但是从学术角度来看,高中生仍然很难进行软件测试. 只是开发工程师必须学习一种编程语言,所以表面上似乎要求更高. 还有一个因素会受到传统因素的影响. 从事软件开发工作的人比从事软件测试的人多,因此从竞争的角度来看,要求甚至更高,相对较高.

四,[转换困难],转换的最重要原因实际上是: 对当前工资的不满意,当前职业的瓶颈,新行业有更大的发展空间,例如新的工作方式等. 在这里,我们将不讨论过渡的动机. 在这里,我们考虑了过渡的更多障碍. 主要的障碍是,如何根据实际情况选择过渡方向?如何克服工作经验不足或无关紧要的问题?如何克服知识的不足?什么年龄合适?这部分是专门为那些转向软件开发或软件测试的人编写的. 互联网上有很说,我之所以进入软件测试是因为入门门槛低且前景良好,因为我可以学习,但我不能学习软件开发. 真的吗?不必要. 权利是最好的.
【软件测试】: 您的实际情况,包括上述基本素质和性格特征,以及进入门槛的因素,如果综合素质非常全面,性格外向,沟通能力强,具有良好的行业知识背景. 例如财务背景,财务背景,物流背景,证券背景,电子商务背景,移动通信背景等. 同时在30岁以下,过渡测试会更合适. 经过知识的学习,结合行业分析和经验丰富的人员得到指导. 切换难度仍然较小. 可行性仍然比较高. 因为您可以很好地利用过去的某些事物.
【软件开发】: 从过渡开发的角度来看,基于基本素质和个性特征很难轻易过渡. 这比较困难. 从过去的知识背景来看,过渡开发更难以使用. . 因此,过去的经验几乎对过渡发展没有帮助. 从这个角度来看,如果要过渡到开发,则必须从头开始. 因此,年龄超过25岁且具有两年以上工作经验的人不适合过渡. 发展. 因为浪费了两年的工作经验.
五,[知识结构],知识结构决定职业发展,知识结构决定产业发展,包括对未来职业规划的考虑,以下从优秀测试工程师应具备的知识结构中比较软件测试和软件开发.
【软件测试】: 优秀的测试工程师所需要的知识结构,从综合的角度来看,包括以下几个方面,第一是计算机知识,包括编程语言,掌握至少一种开发语言,如c,Java ,C#等脚本语言,例如Tcl,python,Perl,Ruby,Shell等,对于测试工程师的未来发展非常有帮助. 具有知识,尽管并非所有测试工程师都需要掌握一个,例如移动互联网,但要求相对较低,但是对于大多数大型项目而言,都会有一个,因此至少要掌握一个,例如Oracle, DB2,Mysql等. 此外,操作系统,例如Linux,Unix核心命令也非常重要. 对于一些参与网络的人来说,网络和通信知识,例如Tcp / IP协议也很重要. 此外,其他计算机知识(例如数据结构和软件工程)也是最好的. 第二部分是软件测试的核心技术,掌握了软件测试核心的方法论,具体包括软件测试需求分析和软件测试用例设计的核心工程方法. 掌握主流软件测试工具,例如性能测试工具LoadRunner,自动化工具通常代表QTP,测试管理工具QC,51Testing TP,开源测试管理工具Testlink,Bugzilla,Bugfree,Jira等. 掌握核心也很重要研发过程(例如RUP)和测试过程(例如double-V模型)或流行的敏捷测试. 方法是秘密,工具是武器,过程是例行程序. 尽管测试就像武术一样,但是棒技术就像黑匣子测试,剑术就像白匣子测试. 不同的武术对知识结构有不同的要求. 这是进入软件测试领域而不是开发领域的方法更多的原因之一. 第三部分是行业知识和背景. 对于某些行业,非计算机人员将具有一些比较优势. 第四部分是英语. 良好的英语水平对于软件测试,尤其是国际软件测试也非常有帮助.

【软件开发】: 一位优秀的软件开发工程师所需要的知识结构,从全面的角度出发,包括以下几个方面,首先也是最重要的是掌握至少一种编程语言语法,例如Java,C, C ++,C#等,至少熟悉开发平台或工具,对应于特定的开发语言平台,例如Eclipse,Netbeans,VC等. 熟悉,例如Oracle,DB2,Mysql等熟悉操作系统,例如Linux,Unix,包括相关的编译环境,例如gcc. 熟悉软件工程,算法和数据结构. 您可以在设计模式书中阅读有关此方面的更多信息. 第二部分是英语. 英语对软件开发也非常有帮助,因为开发平台和环境主要是英语. 英语还有助于理解编程语言的语法.
六. [竞争压力],对竞争压力的分析帮助我们选择,选择大于付出是指相同的5年,可以达到不同程度. 竞争压力的大小取决于行业发展的现状. 该行业越成熟,竞争压力就越大.
【软件测试】: 与软件开发相比,软件测试的历史还相对不成熟,尤其是在中国. 从包括51Testing论坛在内的许多猎头招聘网站的招聘部分来看软件测试相关书籍,要招聘具有大约10年测试经验的人是困难的. 原因是真正意义上的软件测试的兴起基本上是在2000年左右开始的. 如今,软件测试从业人员和软件开发从业人员的比例仍远未达到成熟的国外1: 1比例. 因此相对而言,竞争的压力相对较小. 严格来说,中国的软件测试形势仍处于困境中,因此在困境中有英雄可言. 此外,许多公司已经意识到软件测试对于软件质量的重要性,并且许多软件事件迫使公司真正考虑测试的核心价值. 因此,尽管对测试工程师的要求越来越高,客观上也导致了软件测试需求的增加.
[软件开发]: 与软件测试相比,软件开发的历史相对成熟. 尽管与印度和其他主要软件国家相比,它还不如其他国家成熟. 2000年左右,软件开发非常火爆. 上面有一个标语,上面写着“ C ++很好,我不怕遍历深圳”. 当时,深圳严重缺乏C ++人才. 但是现在市场上不乏初级开发工程师. 因为主要的是相对饱和的. 除了开发,如果您仅在3年内完成编码工作,您还将遇到瓶颈. 另外,从学习的角度来看,开发平台和语言更新仍比测试平台快. 因此,从客观的角度来看,这也给软件开发带来了更大的压力. 另外软件测试相关书籍,在同一个企业中,通常来讲,开发超时要比测试超时还要多.
7. [职业发展],关于职业发展,我也写过关于测试职业发展的文章. 51Testing网站上有很多,但是比较发展的职业发展仍然相对较小. 实际上,测试与开发的发展在某些方面是一致的. 例如,将来,您可以朝着管理的方向发展,也可以考虑需求分析中的发展. 他们甚至可以发展为咨询和培训服务. 这是他们的共同点.

【软件测试】: 如前所述,从全面的质量和知识结构的角度来看,软件测试比软件开发需要更全面,这也直接导致了软件测试的开发途径比软件更广泛. 测试技术领域的开发可以从测试执行工程师,测试设计工程师,测试系统工程师,测试体系结构工程师,测试专家的路径进行促进,也可以采取自动测试,测试开发,性能测试,可用性测试,安全性测试和其他特殊项目. 另IT人员开始,测试还可以聘用行业测试专家,例如财务现场测试专家,项目管理,软件测试咨询和培训,软件质量保证(SQA),软件销售,技术支持等. 就像他们在IT领域一样. 行.
【软件开发】: 软件开发的开发实际上是相对广泛的. 在开发技术领域,您可以从软件编码,软件设计和体系结构,软件需求和其他领域进行推广. 也可以从总开发工程师,开发项目经理,开发经理,开发总监或研发总监晋升. 此IT领域来看,与测试相比,开发仍然相对狭窄,除非您先进行需求分析然后再成为行业专家,否则很难成为行业专家.
八,[职业前景],严格来说,软件开发和软件测试具有非常好的职业前景. 因为IT服务于人类并且IT改变了人们的生活方式,所以IT对现代社会非常重要. 但是从历史的角度来看,软件测试和软件开发的职业前景之间存在一些差异.
【软件测试】: 不管该行业的当前状态,软件测试的重要性以及软件测试的历史如何,至少在可预见的10年内,整个软件测试行业都应处于这样的生活蓬勃发展的周期. 因为职业需要一定的时间来承受,发展,成熟和稳定. 您还可以从一些官方数据中看到这一点.
[软件开发]: 从长远来看,这很好,但是相对于生命周期,不再需要软件开发. 许多公司只是专注于制作软件,就像制作类似于淘宝的软件一样. 实际上,从功能和代码实现的角度来看,电子商城已经非常成熟. 您可以购买成千上万的现成模板并对其进行自定义. 因此,发展模式正在变化,工厂化,模块化的思想非常成熟. 因此,未来的软件开发肯定会专注于个性化和差异化. 从这个意义上讲,软件开发的职业前景将受到需求的影响. 另外,从行业信息的角度来看,相对较新的开发技术将受到关注. 旧的会慢慢消失.
总的来说,如果您必须在软件开发和软件测试之间进行结论性的比较,那仍然更加困难,因此,如果您在选择哪种方式思考自己的职业时遇到困难,请给所有看到本文的人一个建议. 强烈建议您可以询问这两个领域的高级人士,他们的建议对您来说应该更重要. 此外,请清楚地询问以下问题: 一是,您的长处是什么?缺点是什么?第二个是,您想做什么工作?你能做什么工作?第三是必须为某些事情依靠自己,并且必须为某些事情依靠外力. 因此,有时我们不仅必须努力工作,而且还需要抬头看路. 此外,生活中没有捷径可走,但是我们必须知道如何利用它. 如果您对自己的职业不满意,可以选择转行. 树木走向死亡,人们走向生存. 移动时只需分析一下自己,因为您可以改变自己. 分析外部环境,因为您需要适应环境.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-217002-1.html
换来十年安稳
打