五年的QA反思:关于技能的个人看法

2024-12-13   出处: medium  作/译者:Mykhaylo-Ivan Filipenko/ 溜的一比

关于我

我在乌克兰的一所大学学习了计算机科学。2019年,我在大学三年级时找到了第一份Python开发的工作。然而,在COVID-19爆发后,公司给我两个选择:要么离职,要么转岗为自动化QA。考虑到当时仅有五个月的工作经验,且就业市场充满不确定性,我选择了成为一名自动化QA。从那以后,我为三家不同的公司工作过,目前在一家德国公司担任QA工程师,约60%的时间专注于自动化测试和开发软件测试工具。在这篇文章中,我将分享我对现代QA所需的技能的个人看法。

对我来说,QA意味着什么?

以下是我认为现代移动QA需要具备的四项重要技能。这只是我的个人观点,并不代表新的观点😊。

1. 始终保持专注(探索性测试很重要)

在过去五年中,我注意到QA往往是最熟悉应用程序的人。因此,你需要关注PO(产品负责人)带来的新功能。也许我们并不完全了解它是如何构建的,或不完全理解每个按钮和界面的背后逻辑。但如果你问到应用的用户流程和后端调用,QA可能是最快能够帮助你的人。我们的优势在于能够思考不同的测试,并提醒团队未在用户故事中覆盖到的流程。

对我来说,QA有趣和好玩的地方之一在于我们对测试有一种好奇心。每当其他人希望应用程序正常运行时,我们却希望它出问题。我见过很多QA,他们时不时地会想要“摧毁”整个应用。在验证完所有的正向用例后,他们会进行探索性测试,检查不同操作系统版本、不同的手机尺寸等等(我也是这么做的)。偶尔,你会从团队里得到那些疑惑的表情,好像在问:“你怎么能想到这样的场景?”

最后值得一提的是,很多公司都有每晚运行的自动化测试框架(如果还没有,或许可以考虑构建一个,这确实是一个非常好的工具)。假设测试套件里有一个测试连续失败几次。如果你注意到这一点,花时间去调查原因。最糟的情况是你需要稍微调整一下测试,而最好的情况是你发现了一个bug(说实话,谁不喜欢找到关键bug并避免用户抱怨呢😉)。这些小细节通常可能是需要解决的更大问题的信号。

保持专注,继续探索。

2. 编程很重要

要成为一个高效的QA,编程技能至关重要。想象一下,一个大型团队同时在多个功能上工作。作为QA,你需要在每次发布之前验证一切功能都正常运行。该如何做到这一点?答案(毫不意外)是:自动化测试。一个稳健的自动化测试框架可以起到奇效。如果你有一个稳定的框架,涵盖了应用程序的所有关键功能,那么只需运行测试就能确认一切如预期般正常工作。

编程知识还帮助我开发内部工具。例如,当PO/PM(产品负责人/项目经理)引入一个新功能时,可能需要特定类型的用户。我会考虑是否可以构建或调整一个小项目来简化整个流程。类似的机会很多,通过编程解决问题可以增加很大的价值。

构建解决方案,而不仅仅是编写测试。

3. QA是一项关于指导的工作(敏捷测试时刻,哈哈)

对我来说,QA从来不仅仅是点击屏幕并查看结果。然而,当我了解了敏捷测试后,我的视角在几天内就发生了改变。不过在这里我不会展开太多,因为我正在考虑写一篇专门介绍敏捷测试及其好处的文章。QA部分是关于分享知识并改进整个团队的测试流程。组织测试会议是一种很好的方式,可以让整个团队合作审查功能,共同发现bug并学习应用程序的工作方式(对于不参与日常移动开发的人来说,这可能会非常有趣)。

我发现一种有效的方法(有效的意思是开发后发现的bug减少)是实施验收测试驱动开发(ATDD)。这种方法让拥有不同视角的团队成员——产品、开发和QA——共同参与用户故事的编写。比如,产品团队定义开发范围和验收标准。作为最熟悉应用程序的QA,你可以通过提供测试笔记和可能的边界案例,增加宝贵的见解。根据我的经验,ATDD提高了代码质量,因为开发人员更加清楚应该检查哪些内容,开发完成后发现的bug也更少。

另一种指导方式可以是让开发人员了解自动化测试框架。例如,鼓励他们在重大代码变更后运行测试套件,这有助于保持软件的整体质量。我的观点是,如果应用程序有问题,而自动化套件失败并显示错误,QA无需花时间测试。这种情况下,任务不需要进入QA阶段,开发人员可以直接修复关键问题。这也向整个团队展示了质量保证是共同的责任,QA人员不应是唯一负责测试的人。

分享即关怀。

4. 沟通并大胆表达

想象一下:你正在参加一个关于新功能的需求澄清会议,而你对提议的解决方案有些不确定。作为QA专业人员,表达这些担忧是我们的责任。毕竟,如果我们不提,谁会呢?:)

另一种情况:你发现了一个复杂的问题。向团队传达这一问题的方式非常重要,以确保问题得到有效解决(这并不意味着尽快解决,因为有些问题不需要立即解决)。确保每个人都了解问题的严重性和优先级很重要。你可以思考以下问题:有多少用户可能会受到影响?公司可能会损失多少收入?解释风险和紧迫性的能力至关重要。

我们是最了解应用程序的人,我们关心用户,因此当我们感到有必要时,请确保表达出来。

话语有力量。

总结

我们都希望公司成功,因此尽全力去做。前面提到的技能位于手动QA、SDET和自动化QA之间。我认为这是每个QA工程师都应该努力发展的关键技能,以便在职业上成长并帮助公司成功:

  • 永远保持专注,跟踪事物。
  • 学习编程,编写代码。
  • 学习并教授他人。
  • 大胆表达。

当我们第一次开始QA工程师的职业生涯时,我想很多人并没有预料到这些技能的重要性。我们最初都只是想做测试(至少我是这样想的)。

话不多说,是时候结束了!我很乐意听听你在QA旅程中发现的最有价值的技能。

感谢阅读 — 说实话,我很惊讶有人能读到这里!


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
20° /206 人阅读/0 条评论 发表评论

登录 后发表评论
最新文章