在不牺牲质量的情况下降低软件测试成本的方法

由于新型冠状病毒及其对全球经济的影响,我和我的同事们最近一直在思考如何帮助客户和其他人在不让产品质量受损的情况下,设法降低测试成本。我们敢说,也许甚至可以减少让有价值的团队成员离开的需要。在某些情况下和许多行业,后者是不可避免的,但首先要尽可能控制或优化成本。

在这篇文章中,我们将分享一些降低软件测试成本的方法那我们在Abstracta上尝试并测试了最佳结果。德赢vwin登入

优化测试成本

尽快进行测试

就像为了及早发现疾病而进行测试一样,在小问题(bug)发展成大问题(而且代价昂贵)之前,尽早测试软件也很重要。通过应用向左偏移测试方法,测试变得更加高效,因为测试人员的学习曲线可以跟踪到过程中。尽早问问题,比如“如果……会发生什么”将有助于改进需求并减少返工的数量。

建议阅读:尚未相信转移左测试?

小心文档

注意记录了多少测试(需求和其他事情),寻找一个良好的平衡。更多的文档有助于新手更快地学习,有助于澄清问题,有助于白纸黑字地讨论问题。另一方面,它降低了流程的灵活性,增加了维护成本,以使文档与不断变化的需求保持同步。目的是找到正确的平衡点。

为一切应用基于风险的测试

看着风险,我们看到它是由两个因素组成的:发生的事情的可能性和它会产生的影响水平。基于风险的测试是关于优先考虑,优先考虑,优先考虑的。应用帕累托的原则,20%的测试案例将减轻80%的风险?

建议阅读:软件测试风险矩阵

使用生产信息改进测试

虽然转向左测试的必要性,但它也非常重要转移正确测试.这种方法的目的是不让您的用户成为唯一在生产中测试您的软件的人!

对于真实用户行为来说,一个有用的信息来源是谷歌分析(Google Analytics),例如,如果你想知道你的电子商务网站的哪些领域流量最大(因此应该进行更严格的测试)。您还可以查看Google Analytics,了解大多数用户访问站点的设备、操作系统版本或浏览器,以便在测试中模拟这些行为。

获取生产信息的另一个例子是在性能监视工具中进行调查(例如,使用您最喜欢的APM工具),以了解代码中的每一组更改是如何影响性能的。

优化自动化成本

在API级别而不是UI级别关注自动化

当明智地应用测试自动化时,可以提供巨大的投资回报,尽管需要初始投资。

自动化与手动测试成本

您应该考虑应用程序的不同层,决定在自动化方面投入更多精力的级别。对于我们这些测试人员来说,我们可以在UI级别或API级别实现自动化。要了解更多关于这些选项的利弊,请查看敏捷测试金字塔.

一个可能的策略是首先,自动化要在UI级别测试的功能或用户故事的主要流程,具有最常见的数据。然后分析在该流中调用哪些端点。在API级别为每个端点添加自动测试,并使用不同的测试数据扩展覆盖范围,从而进行有趣的组合。这些测试运行更快,更健壮(维护更少),运行更快。此外,还有一些免费的工具可以像这样做邮递员索皮.

建议阅读:什么时候自动化测试?&敏捷团队的最佳测试实践:自动化金字塔

考虑迁移到开源工具

如果您正在支付非常昂贵的工具许可证,您可以考虑开源。开源测试工具提供了高度的灵活性,并且已经达到了成熟的程度这些天来,人们对他们有了更多的信心。

随着开源社区的显著扩张,成千上万的贡献者正在与全世界分享他们的附加组件和解决方案,使每个人的生活变得更加轻松。

例如,如果您现在有LoadRunner用于性能测试,那么您可以很容易地迁移到JMeter或Gatling,在我看来,它们要好得多。

值得注意的是,在许多情况下,这确实暗示了迁移你在一个工具中设置的大量初始投资,但长期以来,它将产生成本节约。还有一些其他案例可以自动完成迁移。例如,有一个Blazemeter转换器这有助于您从LoadRunner迁移到JMeter。

建议阅读:企业中的左移测试和开源案例

优化基础设施和工具成本

查看许可证和订阅

在经济充裕的时候,我们不太关心投资,尤其是小规模的投资。你看到一个工具,一个会员资格,一份服务或杂志的订阅,你只需注册,不需要提问,因为它低于某个门槛。在危机中,有必要重新审视并剔除不必要的东西。

工具是一个很大的工具。分析您支付的工具的实际用途,也许适用于更好地满足您需求的计划。例如,检查您经常使用的功能以及您没有的功能,看到是否存在较便宜的计划,这些计划涵盖您绝对需要的大部分功能。

回顾云中虚拟机的使用

You may have cloud-based virtual machines (such as instances of Amazon, Azure, etc.) that you’re using that could actually be optimized in some way (having a single instance for two systems of little use, etc.), or turning off the ones you use only a few times per month.

优化培训成本

鼓励内部知识共享

在Ab德赢vwin登入stracta,我们非常关注如何培训测试人员。对我们来说,这是我们运营的一个重要部分,因为我们一直在努力帮助我们的测试人员,特别是初级测试人员成长(作为高级测试角色可能很难填补)。我们倾向于雇佣更多的潜力和态度,因为我们已经进行了很好的培训。我们很多人都有教授大学课程的经验,我们甚至推出了我们的在线学习平台,德赢vwin登入抽象学院.

从外部提供商的昂贵的培训包和研讨会方面,我们通常只注册非常特定的主题,主要是在拥有高级角色的公司中的人员。这样做的原因是,我们的技术领导者和高级测试人员将获得最佳机会,从而充分利用这些培训,然后他们可以传递他们学到的东西。

在同样的想法下,在我们的信念之后,小辈有很多东西可以从球队的其余部分学习,我们的目标是他们的培训直接来自我们的老年人。这有助于我们降低外部培训的成本,并使老年人有机会开发沟通,领导力,公开演讲等重要技能。

考虑在线培训平台

正如我所提到的,我们竭尽全力创建了自己的在线平台,但是在Udemy, Codea等网站上有许多软件测试和开发课程,价格也很合理。此外,还有一些非常好的课程是绝对免费的,比如那些来自测试自动化大学布雷斯米特大学.

参加网络研讨会和在线会议

与上述相同,互联网是你的朋友!特别是从会议被取消,所以是人们的聚会,网络研讨会和虚拟会议变得越来越普遍,更频繁地是免费的。

你可以在我们的网站上看到我们自己的网络研讨会Youtube频道,或浏览不同测试会议组织者的Youtube频道。

建议阅读:2020年最佳软件测试会议(Covid-19更新)

优化流程成本

最后但并非最不重要的是,过程中的低效率导致浪费 - 浪费时间和金钱。所以,这里有一些方法可以改善你的进程:

  • 分析开发过程中产生等待期或瓶颈、依赖关系、不必要的积累等的部分。
  • 分析通信频道和可能发生的问题(始终存在沟通问题)来查找改进和澄清的方法,避免返工,错误等。
  • 采取敏捷的方法.这意味着避免了大型开发周期的规划而不获得反馈。旨在短暂迭代,如果正在满足期望,请与用户或客户经常检查。在每次迭代中分析该团队一直在工作,旨在使回顾性分析允许将来的改进。
  • 对反复出现的错误进行根本原因分析,不仅要努力解决这些问题,而且要理解它们背后的“原因”,以避免将来发生这些问题。

如果需要,外包软件测试

外包对于需要将注意力集中在核心竞争力上的公司来说是理想的选择。如果您的团队在测试工作中不是非常成熟,或者您的软件质量规划和决策没有交付所需的结果,那么寻求外部帮助可能是明智的,而不是使用低效和无效的过程来延长花费的时间。

当你在公司内部没有足够的资源或技能时,这可能是一个比直接雇人更好的选择,因为这样可以节省开销,而且外包合作伙伴也会随时准备离开,有能力灵活、无缝地提升或下降。此外,附加值可以从外包中提取你可以从整个公司的专业知识中获益,他们不仅会把测试者的名字献给你。

最后,外包测试可以帮助您保持业务连续性.当你雇用一个内部而且他们离开公司时,或者如果他们是测试的唯一一个,他们休假,你可能会争抢。当您找到别人填补角色时,您必须再次输入整个培训过程。通过外包,服务提供商将在需要时准备好几个其他团队成员,并可以在需要时填写,并将对船上的工作进行努力,并为您培训不同的测试人员。

当然,我们在外包测试时从经验中发表讲话,因为它是我们超过100个测试人员的团队致力于提供的。

建议阅读:6软件测试外包神话已亮相

这些只是我们想到的关于优化测试花费的一些最重要的事情。在进行任何这些更改之前,请确保与您的团队进行沟通,以便每个人都参与其中。

如果你不得不考虑如何用更少的资源进行更有效的测试,你会怎么做?让我们知道!

今天联系我们免费的咨询服务了解如何降低软件测试的成本。


推荐给你

如何选择软件测试公司
如何在CI / CD中快速设置测试自动化