lf知识星球banner

如果选择软件测试作为职业,你要了解这些东西

2018-07-04 07:45:00
Seagull
翻译:
guru99
2959

什么是软件测试?

软件测试是验证计算机系统或是程序是否满足指定需求并产生结果的过程。因此,您可以找出软件产品或是项目中的Bug。

软件测试对于提供没有Bug的优质产品是必不可少的活动。

成为软件测试人员所需的技能

接下来我们将讨论成为一个软件测试人员所需的专业技能和非专业的软技能。

非技术技能

以下软技能对于成为优秀的软件的测试人员至关重要。你可以对比自己所具备的素质,看看软件测试是否真的适合您呢?

分析能力:优秀的软件测试人员应具备敏锐的分析能力。优秀的分析能力有助于将复杂的软件系统分解为更小的单元,以便更好地理解和编写测试用例。

沟通技巧:优秀的软件测试人员必须具备良好的口头和书面沟通能力。软件测试人员的输出件(如测试用例/计划,测试策略,测试报告等)应易于阅读和理解。与开发人员打交道(如果出现Bug或其他问题)将需要掌握更好的沟通能力与技巧。

时间管理和组织能力:有时候测试可能是一项艰巨的工作,特别是在产品发布期间。软件测试人员必须合理有效的管理工作内容以及承受高强度压力,有高的工作效率,展示最好的时间管理和组织能力。

端正的态度:要成为一名优秀的软件测试人员,你必须有一个端正的态度。学会“测试突破”,Bug细节定位,有强烈的学习欲望,能主动对项目的流程进行改进。在IT行业,技术更新发展极快,好的软件测试人员应该通过不断更新迭代的技术来提升技能。并且做事要保持一定程度的独立性,分配给你的任务在没有上级的监督下也能很好的完成。

激情:针对任何专业或是工作,都必须对它抱以最大程度的热情。软件测试人员也必须对自己的领域充满热情。但是,如果你以前从未从事过测试领域的工作,如何判断是否对软件测试充满热情呢?简单地尝试一下,看看软件测试没有激发你把感兴趣的东西切换到其他方面。

技术能力

这份列表很长,请耐心等待我叨叨...

数据库/SQL的基础知识:软件系统在后台拥有大量数据。这些数据存储在后端的不同类型的数据库中,如Oracle,MySQL等等。因此,有些情况需要验证这些数据,你需要使用简单/复杂的SQL语句查询来检查数据库中是否存储了正确的数据。

Linux命令的基本知识: Web服务、数据库、应用程序服务器等大多数软件应用程序都部署在Linux机器上。因此,测试人员必须了解Linux命令。

测试管理工具的知识和实践经验:测试管理工具是软件测试非常重要的一个方面。如果没有适合的测试管理工具,软件测试过程很有可能会一团糟。

比如: 像Testlink这样的工具可用于管理测试团队编写的测试用例。

还有很多其他类似的测试管理工具。所以,拥有这些工具的知识和工作经验非常重要,因为大多数公司的测试过程中都有可能会用到。

缺陷跟踪工具的知识和实践经验:缺陷跟踪和缺陷生命周期是软件测试非常关键的一方面。正确管理缺陷并以系统方式跟踪缺陷极为关键。缺陷跟踪非常有必要,因为整个技术团队都应该了解缺陷,包括项目经理,开发人员和测试人员。常用于缺陷管理的工具,比如QC,Bugzilla,Jira等等。

自动化测试工具的知识和实践经验:如果你在做手工测试几年后想让自己转型成为自动化测试工程师,那么您必须掌握一个工具并深入了解自动化工具的实践知识。

注意: 只有自动化工具的知识还不足以通过面试,你必须有更多的项目实践经验,所以要多练习你选择的工具来掌握它。如果你想从事自动化工作,那么了解任何一门开发语言(如java、VBScript、JavaScript、C#)是必须要做到的。也有一些公司使用Shell或是Perl脚本,并且这一类测试人员的需求以后只会越来越多。当然,这也取决于公司以及公司目前使用的工具以及语言。

性能测试工具也有很多选择,因为应用程序需要针对其性能进行测试,但这是非功能测试的一部分。


请注意,你不需要掌握上面列出的所有技术和技能。所需的技术和技能因工作角色和公司流程而要求不一样。


学术背景

软件测试人员的学术背景专业最好是计算机。

当然,如果您没有计算机专业的背景,那么也可以去完成ISTQB或是CSTE等软件测试认证,以帮助你学习软件开发/测试或是其他测试方法。

报酬

软件测试人员的薪酬因公司而异。美国软件测试人员的平均工资范围是45,993美元 - 74,935美元。印度软件测试人员的平均工资范围是247,315卢比 - 449,111卢比。( 译者注:万恶的资本主义啊!

测试人员的日常

在任何工作日,你将忙于理解需求文档,编写测试用例,执行测试用例,编写测试报告和回归测试bug,参加各种评审会议和其他团队建设活动。

职业发展

如果你是典型的CMMI 5级公司的软件测试人员,职业发展将如下所示,但具体因公司而异,此处只是普遍情况。

QA分析师(Fresher)=> 高级QA分析员(2 - 3年经验)=> QA团队协调员(5 - 6年经验> => 测试经理(8 - 11年经验)=> 高级测试经理( 14+经验)

软件测试人员的多纬度职业发展轨道

一旦你已经熟悉了手工测试,可以进行以下专业化的转型

自动化测试:作为自动化测试工程师,你将负责自动执行手动测试用例,否则可能纯粹依赖手工测试将会非常耗时。自动化工具选择非常多,比如使用IBM Rational Robot,Silk执行者、QTP(或是LuckyFrame测试平台,这句话是译者说的,哈哈...)

性能测试:作为性能测试工程师,您将负责检查应用程序响应性能(如:加载时间,应用程序可以处理的最大负载)等。工具使用WEBLoad,Loadrunner。

业务分析师:测试人员对开发人员的主要优势在于他们拥有端到端的业务知识。所以,测试人员成为业务分析师(产品经理、业务专家)是一个非常好的职业发展方向。作为业务分析师,会负责分析和评估公司的业务模型和工作流程,测试工程师是有能力使用技术将这些模型和工作流程整合在一起的。

常见的谬论

作为职业是软件测试的测试人员相比,开发人员更受尊重

与流行的看法相反,软件测试人员(更广为人知的QA专业人员)在所有“有抱负”的公司中与软件开发人员一样获得报酬和待遇。软件测试的职业生涯永远不应被视为“第二级”。

软件测试很无聊

软件测试实际上可以“测试”你的胆量,因为你需要了解业务需求并根据你的理解编写测试用例。软件测试并不乏味,无聊的是反复做同样的任务,关键是尝试新事物。就此而言,您是否曾与拥有3年以上经验的软件开发人员交谈过?他会告诉你他的工作有多么无聊。


文章原创申明
  • 本站文章以及相关内容除注明 转贴外,均为本站 原创翻译

  • 如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】

发表评论
评论通过审核后显示。
付费知识圈