软件开发

大规模持续性能测试

大规模的持续性能测试

软件开发外包行业正在经历一场性能革命,这标志着该行业的技术进步达到了一个新的水平。

这种对性能的奉献在美国近岸地区是突出的,因为美国的客户和他们的客户越来越需要在卓越水平上执行更高质量的软件。

随着软件需求的增长,用户数量和他们产生的数据量也在增长。应用程序需要能够在不崩溃的情况下处理更高的负载,而业务需要能够从大量的数据中获取价值。

更复杂的是,应用程序比以往任何时候都更加复杂,而且很少有明确的性能目标,这使得性能团队不得不施展魔法来理解应用程序。最后,性能团队必须愿意定期执行活动,因为源代码总是在变化,这意味着性能结果也在不断变化。所有这些问题都是向软件开发外包公司施加更大压力,以解决性能测试方面的挑战。

在本文中,我们将探索Perficient Latin America大规模进行持续性能测试的一些方法,并分享我们的性能工程师是如何解决过程中的挑战的。

为未来的测试建立基线

性能度量是数值和数据驱动的,所以工程师首先需要一个度量基线,来显示应用程序在项目开始时的表现。绩效指标应该基于客户期望和明确的业务需求,因为这些决定了应用程序未来的表现。

如果还没有明确的需求或客户期望,那么就有必要对已存在的代码版本运行性能测试,以查看其行为并查找任何断点。然后可以将此信息与未来的性能测试结果作为初始基线进行比较。

这些最初的数据点可能包括平均响应时间、请求率、处理器使用情况、内存使用情况、用户满意度等等。创建这一基准非常重要,它可以确保应用程序可以伸缩并经受大量性能测试。

如果没有现有的代码,那么基线可以基于客户提供给团队的任何信息,例如估计的用户基数或每日事务。这些知识对于指导下一阶段的开发和测试是必不可少的,在下一阶段将创建功能并相应地进行负载测试。

[相关内容:拉丁美洲如何使用性能工程交付高质量软件

扩展到大规模性能测试

某些应用程序每天可以吸引数千甚至数百万的用户。这些用户可能都以不同的方式与界面交互,因此软件开发外包公司需要能够复制所有这些场景数千次,并将结果与之前的测试进行比较,以发现断点。

在Perficient拉丁美洲和我们的近岸软件外包我们已经在我们的持续集成管道中实现了一种持续性能测试方法,使我们能够大规模地处理这些沉重的负载和压力测试。

我们的性能测试自动运行,并且每天多次测试多个新版本。它们与软件开发生命周期紧密相连,这允许我们每天向存储库推送更改,从而得到有价值的反馈,帮助我们极大地改进代码和应用程序的性能。

在所有的团队中,性能工程必须被视为过程的一个好处,而不是一个开销。当团队与性能工程师的接触更多时,就更容易沟通结果,并让他们根据发现采取行动。性能团队应该可以自由地与开发人员交谈,解释软件在哪里出现了故障,以及失败的后果可能是什么。

克服巨大挑战

大量的按需性能测试会产生很多问题。甚至在某些情况下,发生了错误,几乎不可能发现代码失败的地方。这就是为什么创建一个基线并测量每个测试的结果是如此重要。

一旦定期执行大规模的性能测试,就更容易每天比较结果,并更快地发现那些性能改进。即便如此,这也伴随着数据存储和数据分析的挑战,我们在另一篇文章中详细介绍过

与QA测试不同的是,性能测试需要很长时间,需要大量资源,所以在计划和执行过程中必须具有高度的准确性。这意味着工程师需要理解并保持时间和资源之间的平衡。

根据正在测试的场景的数量,可能不可能在一天内完成所有测试。当软件开发团队正在实践DevOps或敏捷原则时,这有时会成为一个问题,因为这些方法需要每天进行迭代。我们发现,在这种情况下,专注于与业务目标最一致的场景会有所帮助,这减少了测试不太重要的场景所花费的时间。

在一些近岸软件开发在项目中,客户可能直到最后才意识到性能。当他们可以看到应用程序可以处理多少事务,或使用了多少资源时,这些指标就会让他们大开眼界,并有助于指导他们的下一个业务决策。正如我们所看到的,这就是掌握大量性能测试的真正价值。

- - - - - -

如果您正在寻找性能测试的真正价值,我们很乐意与您交谈。今天打电话给我们。

关于作者

更多来自作者

留言回复

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

订阅每周博客文摘:

报名
类别