彩票走势图

如何使用左移方法优化性能测试

原创|使用教程|编辑:郑恭琳|2020-11-25 13:34:35.723|阅读 273 次

概述:了解如何在整个组织中左移性能测试。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

了解如何在整个组织中左移性能测试。

每个冲刺都是至关重要的,向前迈进的决策很快就可以实现。为了促进快速反馈过程,测试团队必须在非常短的时间内端到端全面验证其应用程序。为了最大程度地进行这项工作,测试团队可以现代化他们的测试方法,以在软件测试的最早阶段获得最佳的投资回报。


什么是左移性能测试?

向左移性能测试意味着使开发人员和测试人员能够在开发周期的早期阶段进行性能测试。传统上,性能测试是在开发周期结束时执行的任务,因为它需要一组专门的工具和技能,即由受过训练的性能测试工程师在专用环境中使用昂贵的硬件。相反,左移性能测试策略允许测试人员在开发单个组件时进行较小的临时性能测试。

为此,团队需要在实现功能时开始创建性能测试以及单元测试和功能测试,并将这些性能测试配置为自动运行并以提醒您性能降低的方式进行报告。要自动执行测试,必须将性能测试执行紧密集成为CI/CD流程的一部分,在该过程中,每次检入代码后,性能测试都会与功能测试和单元测试一起在本地环境中执行。

此过程使组织能够了解将新组件添加到其应用程序的总体性能中的细微影响,并最终在交付生命周期中更早地发现与性能相关的缺陷。从公司文化的角度来看,向左转移性能测试还意味着使开发人员更加参与。在大多数情况下,开发团队可以在发现性能下降的一天之内进行优化增强,而不是等到整个应用程序都构建完成。


为了使左移绩效发生,组织必须做什么?

首先,您需要建立良好的组织支持。将质量作为一个过程而不是作为一个响应来解决,对于将性能测试转移到整个企业至关重要。此过程中的关键参与者是产品经理,因为性能测试和相关的开发时间是以实现为代价的,这可能会减慢开发周期。PM团队必须了解为什么要进行此流程,并且必须了解减少修补程序和性能优化的价值所在。

接下来,除了在应用程序级别之外在组件级别定义SLA,还可以进行早期反馈,并帮助开发人员了解代码修改对他们正在开发的各个组件的影响。这种细粒度的性能测试使利益相关者更容易了解热点发生的位置。

重要的是,将您的大部分测试实践从以UI为中心的测试迁移到API和数据库测试之类的自动化测试中。这些类型的测试实践除了具有更高的可维护性和可扩展性之外,还可以立即用于性能测试中,可以查明性能问题的根本原因,并且对变更具有高度的弹性。

 最后,组织必须将性能测试集成到构建过程中,以便在代码签入后执行基本的冒烟测试性能测试,并且每晚都要运行全套性能测试。为此,您需要考虑硬件。自动化性能测试确实比功能测试需要更多的计算资源,因此开发团队需要为此做准备。审查现有性能基础架构是否适合左移方法或需要修改(即云代理),这也是过渡到性能测试自动化的关键考虑因素之一。


左移性能中的开发人员和测试人员角色

开发人员拥有其应用程序的性能。开发人员必须使用微服务,REST/SOAP API和模块化设计架构来创建可以进行性能测试的应用程序,以便可以在开发单个组件时对其进行负载测试。

测试人员可以使他们的测试用例与应用程序中的关键工作流保持一致,以便可以在性能测试过程中利用它们。专注于应用程序的API层,使它在更改和管理方面更具弹性。两个团队都使用SLA之外的报告,以便应用程序根据最近的代码检入来确定问题区域,以帮助他们确定需要优化的组件。


您如何集成工具以实现左移性能?

为左移性能测试过程选择正确的工具很重要,但并不像在自动化工作流程中一起使用它们那样重要。早期的性能测试通常是在口袋里进行的,精明的测试人员和开发人员在其中使用各种开放源代码和商业上可用的工具来设计技术,但是最终却被忽略了,因为它没有被集成为整个自动化过程的一部分。

相反,测试人员应该使用专用的商业工具,使他们能够以自动化的方式创建性能测试。开发人员可以使用类似的工具来优化其工作,或者创建低级脚本来驱动自动化和负载。那么,您需要什么工具?

以下工具简化了维护,可以集中管理,并提供易于使用的UI来理解结果。

功能测试工具

功能测试应该已经成为您连续测试策略的一部分。您选择用于功能测试自动化的工具应该集中在应用程序的API层(以简化测试用例的执行操作和维护)以及UI层(用于端到端和用户体验测试)。功能测试工具用于在UI级别或API级别创建基准(重用)执行路径。这些执行路径与用户故事相匹配,因此性能测试的结果与受影响的用户故事之间将存在关联。

性能测试工具

具体来说,您需要一个性能测试工具,该工具可以使用功能测试工件并在负载下运行它们。这些工具应具有各种负载控制参数,例如虚拟用户数或随时间推移的事务。然后,这些工具应报告到集中式仪表板中以汇总结果。

服务虚拟化工具

服务虚拟化工具可以在左移性能测试的早期阶段解决整体应用程序中缺少的组件。您在早期性能测试中将面临的主要挑战之一是缺乏通过并行开发工作或第三方组件提供的支持基础结构。通过建立这些相关系统的基准并在虚拟服务中对其进行建模,您可以为生产创建类似的应用基准条件,并在测试过程中集中精力于单个组件的性能。

持续集成工具

左移性能测试在自动化过程中效果最好。如果部署了自动化,则“性能测试”仅意味着对自动化性能测试的检查/维护,因为该过程是自动化而非手动的,因此从长远来看减少了执行测试的时间。

通过使性能测试策略与连续测试策略保持一致,并与JenkinsBambooMicrosoft VSTS等工具集成,您可以创建一个完全自动化的流程。您的CI工具应使您能够根据代码签入执行性能测试,以便一致的性能测试可以在夜间运行。

另外,您的CI工具应与报告和分析仪表板集成,并自动发布结果,以便您可以快速了解趋势数据。

集中式仪表板,可汇总结果

说到您的报告和分析仪表板…集中式仪表板非常重要,因为它使用户能够通过按项目,组件,API等显示趋势信息来了解组件性能测试的增量影响。

您的集中式仪表板应具有自动执行性能测试,定义将性能测试转换为通过/失败指示符的SLA以及查看历史趋势的能力。此外,报告仪表板应提供将性能测试与其初始要求相关联的详细信息,以便企业可以适当地对出现的问题进行优先级排序,以及高级别的通过/失败视图,并同时包含每个小细节,因此您可以在检测到故障后确定故障原因。

左移方法将开发人员添加为仪表板用户(除了管理人员和测试人员),因此仪表板必须具有开发人员正在寻找的低级详细信息,以有效调查并确定SLA失败或历史趋势的原因。


总结

不断的热补丁和性能优化更新使消费者精疲力尽。他们渴望获得新功能。由于性能测试传统上是在周期结束时进行的,因此不可避免地会影响交付截止日期,因此可以通过负面的眼光来看待它。通过联合性能测试流程并使敏捷团队能够采用“左移”迭代方法进行性能测试,可以及早发现问题。这不仅确保可以轻松评估所做出的技术决策是否会降低性能,而且还可以通过优化每个单独的区域并专注于性能来最终提供整体上性能更高的产品。



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP