文本

在2019年,当Gartner预测对远程工作的需求很高时,大多数企业不同意这种可能性。但是,猜猜谁现在正在远程工作?

在COVID-19大流行流行之后,几乎每个组织都被迫允许其员工在家工作,这使我们意识到了远程工作的挑战。尽管大多数行业都适应了远程工作流程,但这对于软件公司来说还是有些吓人。由于位置和同步限制,软件测试团队受到的影响最大。对物理设备,基础设施和互联网的依赖使远程测试团队执行任务并克服软件测试的关键挑战变得更加复杂。

毫无疑问,远程测试提供了在家工作的灵活性和自由性,但是质量保证团队和IT公司不能忽视软件测试的一些关键挑战。该博客将探讨与远程测试相关的所有主要挑战,并提供有关克服远程工作挑战的指导。开始吧!

远程测试的主要挑战 仅在美国,2005年至2017年间,远程工作就大幅增长了159%(来源:FlexJobs)。我们可以想象这些数字在过去几个月中急剧上升。远程工作也面临挑战。软件测试人员尤其在远程工作中首当其冲。远程测试团队一直在努力恢复正常,我们不禁注意到软件测试的主要挑战。与远程工作的各种测试人员互动之后,我们了解了他们面临的最大的远程测试挑战。他们来了-

1.缺乏沟通 “作为一名领导者,沟通再多也不够,但在一家偏远的公司,没有什么比这更真实的了。”由于你不能面对面地见到别人,信息就不会以同样的方式传播。因此,领导者需要担负起传播信息的重任。” —克莱尔·卢 缺乏沟通已经成为软件团队在远程工作时面临的一个重大挑战。据《福布斯》报道,远程工作让雇主们的沟通变得更加复杂,尤其是当讨论涉及批判性解读的时候。尽管每个人都使用诸如Slack、Teams或谷歌Meetup等有效的沟通工具,但有时澄清一些信息的语气和紧迫性会变得很尴尬。

例如,如果你的同事在不同的国家工作,他们用短语来描述一个问题,你可能不明白。这就是为什么有一个有效的沟通环境是至关重要的,让员工感到舒适和简洁的沟通。

在我们看来,建议在与同事交流时使用视频电话,以便更精确地了解诸如测试需求、测试场景或工具之类的事情。

2.组队 在办公室工作时,有上司或团队负责人来查看员工的工作情况。但是,在分布式测试团队中,没有人可以照顾,这就是QA认为更改应用程序代码的挑战所在。而且,您的团队成员无法看到您在测试脚本中所做的所有更改,这使得您很难理解您是否成功完成工作。

这是软件测试的关键挑战之一,因此与同事保持同步变得至关重要。您必须不断向队友提供更新,向他们告知您所面临的问题等。

此外,您还可以将您已测试的功能,如何测试它们以及在测试功能后注意到哪些更改通知您的团队成员。这将使您的同事更容易了解您正在从事的工作以及到目前为止所取得的成就。

在办公室工作时,上级或团队领导会看到他们的员工在做什么。但是,在一个分布式测试团队中,没有人需要照顾,这就是QAs发现在应用程序代码中更改具有挑战性的地方。另外,您的团队成员不能看到您在测试脚本中所做的所有更改,这使得理解您是否在工作上成功变得困难。

这是软件测试的关键挑战之一,也是与同事同步变得至关重要的地方。您必须向您的队友提供持续的更新,告知他们您所面临的问题,以及更多。

此外,您还可以告知您的团队成员您已经测试的特性,您是如何测试它们的,以及在测试一个特性之后您注意到了哪些更改。这会让你的同事更容易理解你在做什么,以及到目前为止你已经取得了什么成就。

3.技术故障

远程测试团队使用许多技术组件,比如一个运行多个应用程序的系统、第三方屏幕共享工具、记录工具和IM客户端。但是,无论您的系统配置多么可靠,总会出现问题。例如,你永远不知道什么时候你遇到了网络连接问题,泥泞的国际电话,软件不能正常运行在你的电脑上,等等。

以上任何一项都会在相当长的时间内耽误你的工作,而且你可能找不到借口来克服这些问题。因此,建议在开始测试过程的前一天对所有内容进行测试。有几件事你可以立即检查:

  • 屏幕共享-确保它在整个测试过程中没有中断由于互联网连接。

  • 录制不工作——录制完一个测试场景后,你最不希望看到的就是里面没有声音,所以要确保录制工作正常。

  • 视频录制-测试录制工具的配置,确保它在后台运行多个应用程序时不会停止或波动。

  • Internet连接——大多数测试场景将在浏览器上执行,因此请检查Internet连接。

有时,一个普通的技术问题可能突然终止整个过程,即使您已经对它进行了一千多次测试。嗯,我们不能阻止技术问题的发生,但我们可以通过提前计划和设定每个人的期望来让自己做好准备。唯一的诀窍就是为远程工作的所有挑战做好准备。 4.跨文化差异 在大多数公司中,远程测试团队在不同地区和国家/地区工作。例如,在我的公司中,两名测试成员来自美国,而其他测试成员则来自印度。现在,这里和那里的工作文化可能相似,但是我们所属的地区确实会影响我们的行为和理解。

同样,您的所有远程测试团队成员也不必像您一样以相同的方式工作。他们执行任务或与他人交流的方式可能有所不同。因此,在着手与远程测试团队合作之前,了解他们的工作行为和细微差别至关重要。

了解这些区别是软件测试的主要挑战之一。它将帮助您更好地了解人员,并且您的远程测试团队将能够更有效地运作。

5.生产合作 当您与一个分布在地理位置上的团队一起工作时,很难与他们持续协作。大多数测试人员需要在不同的时区坐在他们的笔记本电脑前,以赶上他们的团队成员,他们最终会损失很多时间。

有一点是肯定的,在远程工作的时候,尤其是在不同的时区,你不能在最后一刻开会。因此,最好提前计划,记住所有的时区,这样每个团队成员都可以根据他们的方便来参加会议。

此外,您还可以选择协作工具,使团队成员更容易紧密协作。例如,Slack的屏幕英雄特性允许两个用户同时看到同一个屏幕。使用这些工具是克服软件测试的关键挑战的最简单的方法之一。

6.同步发布 软件测试人员对应用程序的最终发布负责,因为他们确保在测试了所有组件之后,应用程序已经准备好启动了。此外,他们需要向涉众以及项目中涉及的其他团队成员提供关于发布的持续更新。但是,通过远程测试,对产品发布进行持续更新就变得有点复杂了。

因此,为了避免发布周期中的任何瓶颈,测试人员应该尽早测试,经常测试,并尽快与他人共享状态。通过这种方式,您可以提前为将来的版本做好准备。此外,对于产品的持续交付,您可以使用并行集成和测试的QAOps原则。

使用敏捷方法,您将能够通过设置较小的目标来尽早执行测试。它还将帮助您分析测试人员完成任务的能力和速度。

7.文件不当 即使在远程工作了一段时间之后,许多远程测试团队仍然相信口头交流,而不是保存关于产品是如何开发的文档。这反过来又会延迟产品的发布。

为了在给定的时间线上发布您的产品,建议使用检查表并按照清单执行。您可以创建需要由每个成员执行的所有任务的检查表,同时使循环中的每个团队成员都具有充分的可视性和透明度。因此,当任何任务出现问题时,您可以更新检查表并通知所有人。

另外,如果您要报告一个错误或问题,那么就向您的团队明确地指定它,比如它在哪里发生以及它是如何发生的。您还可以通过截屏来详细解释问题。

8.多任务处理

在管理远程测试会话时,测试人员必须关注多种事情,比如与用户交流、屏幕行为、通过IM观察问题和查询、会话中剩余的总时间、执行任务的状态等等。同时进行所有这些活动对任何个人来说都是非常令人困惑的。

因此,最好手边有一个任务管理工具,它允许您安排任务并相应地执行它们。通过这样做,您不仅能够调节远程会话,而且还能够执行对测试至关重要的其他功能。我们还建议一次专注于一项任务,以克服远程工作中最常见的挑战。

9.缺乏正面反馈

让我们考虑一个场景——当您花费大量时间执行一个测试,然后发现它不应该这样发生。或者您在一个分布式的团队中远程工作,没有人对您的想法提出建议。你遇到过这种情况吗?

如果是,那么你可能会理解反馈的重要性。然而,并不是所有的反馈都是积极的。假设您已经开发了用于测试特定特性的文档,而您的团队领导说它看起来不错。

后来,您意识到文档从来没有发布过,也没有使用过,这使您想知道哪里出了问题。所以,你可以看到“好的”反馈实际上是没有反馈的。

为了获得对你的想法的积极反馈,你可以创建一个社区,在那里每个人都可以说出他们的想法以及他们如何有效地实施它。如果你认为这不是软件测试的关键挑战之一,请记住Zig Ziglar说过的话——“人们常说动机不会持久。洗澡也不行——这就是为什么我们建议每天都做。” 10.安全与隐私 安全性和隐私性是每个远程测试团队关注的两个主要问题,因为该产品正处于测试阶段,但尚未投放市场。在远程工作时,测试人员需要每天与同事和利益相关者进行交流,以提供状态更新。此外,在产品发布之前对所有内容进行保密也是至关重要的。但是,始终存在将内部信息丢失给外部人员的风险。

为避免在与团队成员共享信息时出现漏洞,建议使用基于云的平台,该平台提供受密码保护的共享,以便没有外部用户可以访问您与同事共享的信息。

远程工作已成为大多数企业的日常活动,尤其是在COVID-19大流行爆发之后。这使远程测试人员难以执行测试任务,因为他们面临着远程工作的许多挑战。

克服远程测试挑战的技巧 在上一节中,我们看到了在克服软件测试的关键挑战的同时,管理远程测试有多么困难。根据您的团队,产品和项目要求,远程工作的挑战可能会大相径庭。简化远程测试过程的最佳方法是使用自动化。它使您可以减轻测试团队的压力,同时使他们更容易发现错误。自动化可以多种方式使用,包括Selenium测试自动化以及更多功能,

回归测试 如果选择手动方法,那么您已经知道执行回归测试将花费多少时间。但是,如果使用自动化,则可以在尽可能短的时间内完成,同时提高测试团队的生产率并提供有关更改的快速反馈。

使用自动化进行回归测试的另一个优势是,QA团队可以继续进行其他任务,同时保持测试自动化在后台运行。借助自动回归测试策略,QA团队无需在临时时间就可以测试开发人员所做的更改。

升级到敏捷方法 使用敏捷方法是进行远程测试的最佳方法之一。它使您能够在开发的每个阶段以最少的人工干预来测试您的网站。此外,在流程中具有CI / CD管道可确保在将代码更改集成到应用程序界面时立即对其进行测试。

可以在开发,质量保证,分段和生产等环境的不同阶段执行连续的测试/集成。

使用测试驱动的开发方法 测试驱动的开发方法甚至需要在开发功能之前就创建测试脚本,这意味着测试人员可以针对需要开发的组件自动执行测试脚本,然后将其集成到系统中。

但是,在测试驱动的开发中,如果测试不符合功能的预期行为,则测试可能会一次又一次失败。仅当它开始满足功能的预期行为时,它才会通过。同样,在测试驱动的开发到位的情况下,测试人员和开发人员需要携手合作,以提高灵活性和生产力。

实现sprint中的测试自动化

在软件测试过程中使用Scrum的公司需要实现“冲刺内”测试自动化,以获得快速的结果。sprint中的自动化不仅有助于保持回归测试的进度,而且还使测试人员和开发人员能够专注于其他基本任务。使用sprint中的自动化,您还可以从持续的测试和集成中获得更好的结果。 使用自动化测试工具

如果您还没有开始使用自动化进行远程测试,那么现在是寻找自动化测试工具的最佳时机。对于初学者来说,您可以从开源的Selenium套件开始,它提供了四种用于自动化测试的不同工具,包括Selenium Grid、WebDriver、IDE和RC。

然而,Selenium对于初学者来说是一个棘手的工具;只有具有自动化测试经验的专家才能最大限度地使用Selenium。此外,如果您正在寻找一种适合整个测试团队的理想工具selenium允许您测试web应用程序的多个场景,如响应测试、回归测试、跨浏览器兼容性测试等等。此外,它允许您通过屏幕截图或视频记录与您的团队成员共享测试会话。

总结 远程工作不是新趋势。许多公司已经关注它很长时间了。但是,它从未在整个员工团队中实施。在大流行之前,即使其他团队成员正在远程工作,开发和测试团队也始终在办公室工作。但是,大流行改变了整个局势。公司现在被迫让所有员工在家工作。对于远程测试团队来说,这已经变得有些挑战,而这正是我们在本博客中试图强调的。如果我们错过了远程工作的挑战,请让我们知道软件测试的主要挑战是什么以及如何克服这些挑战。

测试愉快!

author

石头 磊哥 seven 随便叫

company

thoughtworks

大家好,本人不才,目前依旧混迹于thoughtworks,做着一名看起来像全栈的QA,兴趣爱好前端,目前是thoughtworks 西安QA社区的leader,如果有兴趣分享话题,或者想加入tw,可以找我

roles

QA(营生) dev(front-end dev 兴趣爱好)

联系方式

如果想转载或者高薪挖我 请直接联系我 哈哈

wechat:

qileiwangnan

email:

qileilove@gmail.com