Skip to content

软件测试作为一条职业道路

本文将带你了解软件测试的输入和输出。如果你计划从事软件测试,请仔细阅读!

在本教程中,你将学到一下内容:

什么是软件测试

软件测试是对计算机系统/程序进行验证的过程,以确定它是否满足规定的要求并产生预期的结果。因此,你可以识别软件产品/项目中的错误。

软件测试是提供一个没有任何缺陷或问题的高质量产品所不可缺少的。

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

非技术性技能

要成为一名优秀的软件质量测试人员,必须具备以下技能。将您的技能集与下面的检查表进行比较,以确定软件测试是否适合您。

  • 分析技能

一个优秀的软件测试人员应该具有敏锐的分析技能。分析技巧将有助于将复杂的软件系统拆分成更小的单元,以获得更好的理解并创建测试用例。如果不确定你是否具备良好的分析技能,请参考这个链接:逻辑测试(todo)。

如果你能至少解决一个问题,那么你就具备了出色的分析技能。

  • 沟通能力

优秀的软件测试人员必须具备良好的口头和书面沟通能力。软件测试人员创建的测试工件(比如测试用例/计划、测试策略、 bug 报告等)应该易于阅读和理解。与开发人员打交道(在出现 bug 或其他问题时)需要谨慎和外交手段。

  • 时间管理和组织技能

有时候测试可能是一项要求很高的工作,特别是在代码发布期间。一个软件测试人员必须有效地管理工作量,具有高生产率,表现出最佳的时间管理和组织技能

  • 伟大的态度

要成为一个好的软件测试人员,你必须有一个伟大的态度。对“考试破题”的态度,注重细节,乐于学习并提出过程改进建议。在软件业,技术发展的速度非常快,一个好的软件测试人员应该随着技术的变化,提升他/她的软件测试技能。你的态度必须反映出一定程度的独立性,你对分配的任务拥有自主权,并在没有太多直接监督的情况下完成它。

  • 激情

要想在任何职业或工作中脱颖而出,一个人必须对它有相当程度的热情。一个软件测试人员必须对他/她的领域有热情。但是,如果您以前从未测试过,那么如何确定您是否对软件测试有热情呢?简单的尝试一下,如果软件测试不能激起你的兴趣,那么就转向其他你感兴趣的东西

技术技能

  • 数据库/SQL 的基本知识

软件系统的后台有大量的数据。这些数据存储在后端的不同类型的数据库中,如 Oracle、 MySQL 等。因此,在某些情况下需要验证这些数据。在这种情况下,可以使用简单/复杂的 SQL 查询来检查后端数据库中是否存储了适当的数据。

  • Linux 命令的基本知识

web 服务、数据库、应用服务器等大多数软件应用程序都部署在 Linux 机器上,因此对于测试人员来说,了解 Linux 命令是至关重要的。

  • 具有测试管理工具的知识和实践经验

测试管理是软件测试的一个重要方面。没有适当的测试管理技术,软件测试过程将会失败。测试管理仅仅是管理与测试相关的工件,例如像 Testlink 这样的工具可以用来跟踪团队编写的所有测试用例。还有其他可用于测试管理的工具。因此,拥有这些工具的知识和工作经验非常重要,因为大多数公司都在使用这些工具。

  • 任何缺陷跟踪工具的知识和实践经验

缺陷跟踪和缺陷生命周期是软件测试的关键方面。正确地管理缺陷并以系统的方式跟踪它们是非常关键的。缺陷跟踪变得必要,因为整个团队应该知道缺陷,包括经理、开发人员和测试人员。一些工具被用来记录缺陷,包括 QC,Bugzilla,Jira 等。

  • 自动化工具的知识和实际操作经验

如果您认为自己是一个“自动化测试人员”,经过几年的手工测试,那么您必须掌握一个工具,并深入了解自动化工具。

注意: 仅仅掌握任何自动化工具是不足以破解面试的,你必须有良好的实践经验,所以实践你选择的工具来达到熟练掌握。

如果你正在寻找一份自动化领域的工作,了解任何类似 python,JavaScript,的测试脚本语言都是很有帮助的。很少有公司还使用 Shell/Perl 脚本,并且需要很多测试人员具有相同的知识。同样,这将取决于公司和该公司使用的工具。

性能测试工具还有很大的空间,因为应用程序需要对其性能进行测试,这是非功能测试的一部分。

这就是技术知识。请注意,您不需要上面列出的所有技术技能。需要的技术技能组随着岗位角色和公司流程的不同而不同。

学术背景

软件测试人员的学术背景应该是计算机科学。

一个 计算机应用学士学位将很快为你找到一份工作。如果您没有任何这些学位,那么您必须完成一个软件测试认证,如 ISTQB 和 CSTE,帮助您学习软件开发/测试生命周期和其他测试方法。

薪酬

软件测试员的报酬因公司而异。美国软件测试人员的平均薪酬范围在 45993 美元至 74935 美元之间。在印度,软件测试的平均工资是 247,315 卢比-449,111 卢比。

软件测试人员每天做什么?

在任何典型的工作日,你都会忙于理解需求文档,创建测试用例,执行测试用例,报告和重新测试错误,参加评审会议和其他团队建设活动。

软件测试人员职业道路

你的软件测试职业生涯增长作为一个软件测试员(QA 分析师)在典型的 CMMI 级别公司看起来像下面,但会因公司而异:

  1. QA 分析师(新手)
  2. 高级 QA 分析师(2-3 年经验)
  3. QA 团队组长(5-6 年经验)
  4. 测试经理(8-11 年经验)
  5. 高级测试经理(14 年+经验)

作为软件测试人员的职业选择

一旦你在手工测试中有所涉足,你可以追求以下的专业化

  • 自动化测试(Automation Testing)

作为一个自动化测试工程师,您将负责自动化手动测试用例的执行,否则可能会很耗时。工具使用 selenium、appium、pytest、JMeter 等

  • 性能测试(Performance Testing)

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

  • 业务分析师(Business Analyst)

测试人员相对于开发人员的一个主要优势是他们具有端到端的业务知识。对于测试人员来说,一个明显的测试职业发展是成为一名业务分析师。作为一名业务分析师,您将负责分析和评估公司的业务模型和工作流程。作为一名学士,您将把这些模型和工作流程与技术集成在一起。

常见误区

  1. 软件测试工程师和开发工程师相比,薪水和地位较低

与流行的看法相反,软件测试人员(更多的被称为 QA 专业人员)在所有“有抱负”的公司中都与软件开发人员享有同等的报酬和待遇。从事软件测试工作永远不应该被认为是“二等的”

  1. 软件测试很无聊

软件测试实际上可以强化您的思维,因为您需要理解业务需求并根据您的理解编写测试用例。软件测试并不枯燥。无聊的是重复做同样的一组机械任务。关键是要尝试新事物。就此而言,你有没有和一个有 3 年以上工作经验的软件开发人员交谈过?他会告诉你他的工作最近变得多么无聊。

如何成为软件测试人员

对于一个完全的新手,这里是我们建议的学习软件测试的方法

您可以从学习软件测试的基本原则开始。一旦完成,你就可以申请自由职业的工作。这将帮助您获得实用知识,并将巩固您所学到的测试概念。

接下来,继续使用 Selenium-Automation 工具,然后使用 JMeter-Performance Testing Tool,最后使用 TestLink-Test Management Tool。在你学习的过程中,我们建议你申请自由职业的工作(除了其他好处,你也可以赚点钱!)

一旦你完成了所有的工具,你可以考虑接受认证。我们推荐 ISTQB。然而,这是可选的。

认证考试

ISTQB 基础水平是检测领域的基础认证。

这不是强制性的,但是它会帮助你增加得到这份工作的机会。大多数公司都有这个标准。

与其他软件测试人员相比,已通过 ISTQB 的软件测试人员将获得更多的优先权。

在这之后,当你申请大公司的全职工作时,你将会有许多软件测试技能,以及一些实际的自由职业经验,这可能是有价值的,并将增加你被选中的机会。

您也可以在您选择的测试工具中寻求认证。

学习指引:

希望有一天能在 QA 会议上见到你!


参考链接:https://www.guru99.com/software-testing-career-complete-guide.html#2 参考链接:http://www.folj.com/puzzles/