仔细测试您的软件 —— 成功发布新功能的提示

2024-12-13   出处: medium  作/译者:Jillian Powell/溜的一比

您已经花费数周,甚至数月的时间开发一个新功能或模块。需求被仔细编写,并根据市场需求进行了最佳调整。时间紧迫,但代码按承诺完成。您向领导层预览了新功能的样子,他们非常喜欢。那么,您今晚就可以向所有客户发布,对吗?

不幸的是,答案是否定的。请记住,推出一个功能有许多阶段,并且遵循一定的流程是有原因的。在测试完成之前仓促发布可能会成为一个破坏性的时刻。您所投入的所有工作可能只带来很少的价值。发布产品依赖于每个人都有清晰的策略,特别是确保您的产品经过彻底测试。

仓促发布

延迟有许多弊端和风险。您可能会失去金钱或机会,营销内容可能会枯竭,或者因交付时间晚于预期而让客户失望。但这些都是短期后果。

然而,过早发布可能会让您未能兑现承诺,让兴奋的客户群失望,导致客户流失,损害您的品牌,并引发退款或立即修复的需求。过早发布新功能可能会使您的支持和开发团队不堪重负,面临大量的错误和变更请求,对功能如何运作感到困惑,以及客户因功能未达到预期而愤怒的电话投诉。总体而言,您将面临心灰意冷的客户,他们不愿意对您的产品发表积极评价。

从长远来看,您的品牌可能会受到影响。当您的名字和人们对您的看法在积极地展示您的产品时,这是一种极好的工具。没有热情的支持者和积极的名声,营销和销售可能会受到影响。

遵循包含测试和发布准备的常规发布周期,可以在您的产品之间创造一致性和质量。当它们以受控的方式发布时,您的客户会对与您的互动感到满意并愿意谈论。

测试的力量

测试是一个非常强大的工具,正确地进行测试可以改善许多部门和您的软件的功能。

如果您尽可能地让支持人员和技术销售团队成员参与,测试可以告诉您远不止错误的位置。它还可以作为一个培训工具,确保您的团队始终了解最新的发布。当然,如果您没有时间让他们参与测试,您的发布说明和任何演示视频也应该能起到作用。也许我会在其他时候写到这一点。

了解您的产品

测试是深入了解您的产品的好方法。测试后,您将能够全面了解产品的功能。通过运行用例,您将清楚地看到产品设计的用途,通过一些通用的冒烟测试,您可能会发现一些边缘情况或以前从未想到的替代用途。

找出产品的怪癖

除了了解产品如何工作,您还会发现它如何不工作。这些小怪癖可能不会阻止发布,但如果客户提出,您应该准备好讨论它们。将其记录在知识中心的文档中会更好。

当您知道应该发生什么和实际发生了什么时,您也准备好毫不犹豫地回答人们可能有的任何问题。这对产品的支持和销售非常有帮助。能够承认软件中的问题,并在支持或销售情况下诚实和坦率地沟通,能够极大地提升您的品牌形象。

事实上,我最喜欢测试的一部分就是尝试“破坏”产品。如果成功,我会更多地了解产品需求中未提及的内容,以及需要明确说明以增强产品的各种事项。此外,您可以更清楚地看到产品的确切限制,并制定计划以应对客户在遇到这些限制时可能的反应。了解风险并接受或规划应对,总是比逃避风险要好。

增强产品需求

最终,您希望下一组功能比上一组更好。测试帮助您发现验收标准中的缺陷。当所有测试都通过但仍未得到您想要的产品时,我建议反思您最初的测试。将测试作为改进产品需求和未来流程的方法,是推动产品和团队走向成功的好方法。

测试方法

我并不打算以下内容成为一个测试“操作指南”,因为我不认为它可以一刀切地适用于所有情况。不同的软件和市场有不同的需求。不同的团队有不同的需求。不同的时间表、范围、预算、标准和不同的需求。

然而,我始终建议在您的计划中包含用户验收测试(UAT)的元素。我还建议测试新代码以及新代码如何与旧代码交互,以确保在进行复杂的交互时不会有任何意外。

我还建议,每当您进行UAT时,QA和/或开发人员在此之前总是进行过某种形式的测试。这样,代码本身可以从技术角度进行测试和检查,然后再从业务角度进行审视。

如果您有灵活性和客户基础,我还建议考虑进行Beta测试。这可以在不承担全面发布风险的情况下获得真实反馈。您的客户将比您更有价值的视角,因为他们可能在测试前几周或几个月一直在关注需求。

用户验收测试 —— UAT

用户验收测试通常称为UAT。我采取一些步骤以确保发布前的信心:

  • 编写测试用例: 如果您有强有力的用户故事或验收标准,我建议使用这些。规划时确保覆盖所有选项和情况,以免遗漏任何内容。
  • 像用户一样测试: 像用户一样测试软件。使用他们会使用的示例,并根据与市场交流时看到的经验进行练习。
  • 让其他团队成员参与: 在适当的情况下,让支持、营销和销售团队成员参与进来。这在较小的团队中会更容易,但如果可能的话,我建议所有团队都这样做。如果您处于其他部门提出开发请求的情况,他们也应该在测试中提供帮助。这将确保他们所服务的客户对结果感到满意。此外,他们将了解如何最好地与他们支持的客户沟通,完成价值传递的闭环。
  • 冒烟测试: 测试所有新部分后,我喜欢“敲打”系统,尝试破坏它。这时,您会创建测试来暴露您创建的软件中的任何薄弱点。

QA和开发人员测试

由于我目前不是开发人员,我无法完全就此发表意见,但如果您对当前的测试流程不完全满意,我会考虑以下几点:

  • 包括负载测试: 测试有多少人可以同时输入数据,以及系统一次可以处理多少数据。这对于计划快速扩展和增长的公司尤其重要。
  • 考虑自动化测试: 手动测试耗时很多,考虑将自动化测试用例作为任何新功能标准开发的一部分。
  • 包括单元测试: 像自动化测试一样,这可以纳入开发需求和所有新开发的“完成定义”中。
  • 包括回归测试: 新代码是否导致旧代码以意外方式运行?除非您进行测试,否则永远不会知道是否存在奇怪的交互。
  • 硬件和软件兼容性: 您的应用程序是否在iOS和Android上运行?即使使用相同的代码库,它们在两个平台上的功能可能不同。您的用户是否使用Chrome、Safari和Microsoft Edge?确保您的网站在所有这些浏览器上都能按预期显示。客户的旧平板电脑是否运行过时的操作系统?它能有多旧,客户使用您的软件时体验会有所不同?所有这些都应在可能的情况下使用模拟器或真实设备进行测试。

Beta测试

Beta测试是获取“真实”反馈的好方法。让热情的客户参与总是能为您提供更好的视角,了解您的开发进展如何。然而,如果没有适当的结构和计划,这一过程很容易让人失望。我建议考虑以下几点:

  • 设定可衡量的目标: 根据这些目标,您可能还想与团队分享它们。这样,您可以共同努力,为您的客户提供最佳价值的产品。
  • 向Beta测试人员发送一些关键测试: 这可以根据您的需求具体或笼统。以客户舒适的方式与他们沟通将是最重要的。一些市场在结构化方面表现更好,而另一些则在自由测试和探索方面更为出色。
  • 在非生产环境中发布: 确保所有生产数据和工作流程不会因测试需求而中断。这将帮助他们将Beta测试需求与日常使用区分开来。
  • 创建反馈接收渠道: 无论是通过定期安排的会议,还是通过Beta测试人员可以随时访问的表单,确保他们知道如何最好地与您沟通。这将确保他们始终能够及时并以对结果有用的方式向您提供反馈。
  • 创建激励措施: 帮助您进行测试本身就是一种好处,但对于某些市场来说,这可能还不够。您可以通过付费计划、折扣或其他您可以提供给客户的价值来创建激励措施。

何时产品准备发布?

您的产品永远不会完美,即使是最好的软件也有缺陷。因此,不要等待完美,您应该问自己——它足够好吗?它对我们的客户来说足够好吗?它对我们的支持者来说足够好吗?我们的合作伙伴仍然会为与这个产品合作感到自豪吗?很可能,如果您已经进行了测试程序并愿意问它是否准备好发布,那么您至少已经完成了大部分工作。

现在问自己,测试是否会为公司和产品带来比发布更少的价值?等待发布是否成本太高?即使会有短期的痛苦,延迟发布现在是否会带来更好的长期结果?如果您能以展示发布价值的方式回答这些问题,那么您的测试已经得到了回报。

发布前需要考虑的更多事项

您是否有发布、支持、维护、营销、销售和改进功能的策略?如果没有,请考虑在发布之前是否需要这些。

客户收到的部分价值是了解他们可以访问的新功能并学习如何使用它们。没有计划,这可能不会发生,您的辛勤工作将被忽视。

此外,创建新功能是软件和品牌的激动时刻。您应该为此自豪并让人们知道。营销和销售团队应了解任何可以帮助他们为客户解决更多问题并为市场提供价值的信息。

事情仍可能出错

没有万无一失的方法来发布新功能或更新您的软件。然而,当您充分准备好应对发布过程中可能出错的情况时,无论发生什么,您都可以支持您的产品。评估和承认风险是测试和发布产品的一部分。因此,如果您已经进行了测试,意识到并记录了发布的风险和尚未解决的怪癖,并且您能够在内部和外部积极地讨论您所提供的价值,那么您可能已经准备好发布。恭喜您!


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

登录 后发表评论
最新文章