【亲测有效】30 岁测试工程师的 12 个破除内卷技能!
当技术、敏捷和 DevOps 方法快速发展,而加速开发和持续部署变得更加复杂时,测试就成了非常关键的阶段。
1. 敏捷测试
软件测试过程 —— 敏捷测试遵循敏捷软件开发的原则。敏捷测试与迭代开发方法相一致,需求从客户和测试团队中逐渐开发出来。开发的产出物是符合客户要求的。
敏捷测试是一个连续的过程,但并非按顺序进行。测试从项目的最初就开始进行,测试和开发之间持续地进行集成。敏捷开发和测试的共同目标都是实现高产品质量。
2. 自动化测试
通过利用最新技术、软件复杂性的增加以及应用程序中的集成,仅使用手动测试已经没有办法满足现实工作需求。为了测试浏览器兼容性、性能、无界、数据库以及集成层等,软件测试人员或 QA 工程师有必要学自动化技能,因为它的逻辑和技术能够为之提供更高的准确性。此外,一些测试自动化工具完全支持测试类型,并可以快速、高效地完成任务。
3. 软件开发生命周期(SDLC)
测试人员有必要掌握软件开发生命周期管理,而不是只局限于测试这一个环节。SDLC 的整个结构将有助于理解应用程序开发任务,并相应地规划测试周期。对 SDLC 有深入的了解也有助于测试人员预测应用程序中的复杂性,这可以指导我们事先采取正确的措施。除此之外,测试人员还可以掌握其他的开发相关知识,如看板、瀑布、Scrum、精益等。
4. 网页端和移动端技术
测试人员需要了解网络和移动领域的最新技术。比如应用程序的类型、构建和可伸缩性,并为其测试应用适当的操作过程。所有 IT 从业者包括测试,都需要尽可能地关注网络和移动的最新技术以及趋势,因为这些技术指导我们不断理解编码架构和技术挑战,以提供有效的 QA 解决方案。
5. 测试工具和技术
每个测试人员都需要配备最新的不同测试技术和工具的使用技能。了解各种测试类型,如黑盒测试、渗透测试、安全测试、系统测试、单元测试等,帮助测试人员在任何领域、任何应用类型去处理项目。除此之外,市场上可用的其他测试工具 —— 如 Bug 跟踪工具、项目管理工具、GUI 测试工具、自动化工具等,可以帮助测试人员满足项目的不同需求和复杂性。
6. 测试管理工具
缺陷跟踪和测试用例管理工具、缺陷跟踪和缺陷生命周期是任何软件测试阶段的关键角色。正确管理缺陷并系统地跟踪它们是非常困难的。拥有缺陷跟踪和测试用例管理工具(Bugzilla、zentao 等)知识的测试人员,可以帮助管理、开发、测试等任何团队成员来锁定、追踪缺陷,提高项目质量。
7. 数据库或 SQL
SQL 一直是主流的数据库管理的标准编程语言。加之数据被存储在如 Oracle、MySQL 等不同类型的数据库中,所以在后端,测试人员就必须要了解查询和操作数据的方法。如果测试人员精通数据库或 SQL,那当这些数据需要验证时,就会更容易给出适当的解决方案。可以遇到单个数据库或 SQL 查询,来检查在后端数据库中是否存储了正确的数据。
8. 跨浏览器测试技能
由于对各种浏览器的需求、多种设备和智能手机不同屏幕尺寸的变化,导致对浏览器兼容性测试的需求会比以往任何时候都要大。
跨浏览器测试技能可以让测试人员在不同浏览器中测试开发出来的程序,最大可能地保证交付的产品没有缺陷和错误,能在各个平台上顺利运行。
9. 项目管理
软件测试技能是技术和专业这两个方面的结合。为了管理这两方面,测试人员对项目拥有主人翁意识,承担起相应的责任。掌握项目管理技能可以培养测试人员解决问题的能力。通过这种方式,测试人员也会对自己的工作负责,并向相关方交代,并承担起端到端测试项目的责任和管理。项目管理技能在促进责任感方面也发挥着重要作用。如此一来,测试人员就可以改进整个测试过程并向客户提供高质量的结果。
10. 基本的编程知识
这并不意味着要每个测试员都应该作为开发人员工作。不过,了解应用程序的洞察力在测试工作中是非常重要的,因为有了一定的编程知识,测试人员能很容易了解产品功能并创建相应的测试。编程的基本知识也可以帮助测试人员识别应用程序代码中可能存在的错误,从而进一步减少错误和应用效率低下的可能。所以每个测试人员都可以尝试至少学会几种编程语言,增加工作的灵活性。
11. 操作系统知识
这也包括核心 IT 技能。如果我们热衷于在自己的领域中领悟和探索更多内容,那么会发现学会使用新的操作系统很容易。当然,学 Windows、Linux 和 Mac 这几个操作系统 是必须的,因为这会帮助我们了解桌面操作系统之间的基本差异,并以此做相应的处理。
此外,在移动平台上熟悉 iOS 和 Android 也是个不错的选择。现在可穿戴设备正在蓬勃发展,也可以尝试了解相应的系统,比如 Tizen 和 Android Wear 等。
12. 特定领域知识
了解不同的领域,对每个 QA 或测试工程师来说是必不可少的。测试人员可以利用软件测试领域的知识变得更有创造力。因此,它有助于提高软件产品的价值。拥有良好的领域知识会帮助每个测试人员以更好的方式清楚了解客户所需的测试技术,或满足客户的要求。每个 QA 的多个领域的知识会为其打开多份工作的大门,因为有时候一些客户会需要在诸如法律、卫生、金融、银行等特定领域有专业技能的人。
不知道从何时起,社会上开始流行起这样一种舆论风向:一个互联网人必须在 35 岁之前,完成身份的跃迁,跻身管理层,否则将很难以技术为资本立足,35 岁似乎成为了每个互联网人的达摩克利斯之剑,它意味着贬值、淘汰、失去意义。
为了解决悬在每个互联网人头上那把达摩克利斯剑,不仅仅是测试人员应该努力提高技术软件测试技能和知识,所有互联网人都要加强自身能力。 无论是自学还是参加培训,我们要始终渴望学到更多的方法和流程,并不断实施新的技能和知识。