快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰平台游戏b_龟发之家论坛



负载测试平日在澳门新葡亰平台游戏b开拓周期的后期履行,然则并不必然要这样。在 闪开拓自动化 的这一期,自动化专家 Paul Duvall 将向您描述若何创建一个运行 JMeter 测试的预订集成构建,发明和修复开拓周期中呈现的问题。

您的软件系统可供若干用户同时造访?在不引起机能下降的条件下可以加载若干数据?您的系统有多大年夜的吞吐量需求?距离多久测试一次这些需求?假如您天天至少可以指定并确认一次这些负载和机能需求获得了满意,又会如何?经由过程将负载测试作为预定的自动构建的一部分来运行,您可以更快地确定您的系统在某些负载前提下的履行环境,并快速适应变更。

关于本系列

作为开拓职员,我们的事情便是为终端用户实现历程自动化;然而,很多开拓职员却轻忽了将自己的开拓历程自动化的时机。为此,我编写了 闪开拓自动化 这个系列的文章,专门探究软件开拓历程自动化的实际利用,并教您何时 以及若何 成功地利用自动化。

我曾经介入过的一个项目建立了一组很好的自动化测试,可以对利用法度榜样进行负载测试,同时它还可以运行多个事务。问题是,这些测试必要进行一些手动调节,以是开拓团队无法在没有人工干预的环境下运行这些测试。这限定了测试器可用时(平日仅事情几个小时)进行测试的次数。在实践中,测试要隔好几天才进行一次 — 距离光阴太长,无法及时检测问题。

在本文中,我将探究若何应用 JMeter 创建自动化测试、将测试作为自动构建的一部分运行,以及将测试设置为天天自动运行(平日当机械的应用率低时)。将测试作为预定构建的一部分运行可以让您:

在任何时刻履行负载测试

在开拓历程的初期检测并办理负载和机能问题

监视构建办事器的最新的负载测试和机能测试申报

削减寄托单小我设置设置设备摆设摆设和运行测试时可能呈现的瓶颈和差错

应用 JMeter 提升机能

Apache JMeter 是一个开放源码项目,您可以用来在办事器上模拟重负载(有关 JMeter 的更多信息,请参阅 参考资料)。JMeter 的文档集描述了若何应用它的很多功能,并供给了大年夜量例子。

运行 JMeter

下载并解压缩 JMeter ZIP 文件(请参阅 参考资料 得到下载 JMeter 的链接)之后,应用敕令提示符进入您解压缩 JMeter 的位置,并键入 cd bin 变动 bin 目录。从 bin 目录键入 jmeter 打开 JMeter Swing 利用法度榜样,如图 1 所示:

图 1. JMeter GUI

创建测试计划

经由过程示例编写测试

JMeter 澳门新葡亰平台游戏b附带了很多示例测试计划和脚本。不必从头创建测试计划,您可以应用 docs 目录中的例子,并跟着项目的成长慢慢设置设置设备摆设摆设测试计划。繁杂之处主要在于进修编写可以有效模拟负载和机能需求的负载测试。

您可以应用 JMeter GUI 创建测试计划。JMeter 中的不合测试计划类型包括:

Web 测试计划

数据库测试计划

FTP 测试计划

LDAP 澳门新葡亰平台游戏b测试计划

扩展 LDAP 测试计划

Web 办事测试计划

清单 1. 在 Ant 中定义 JMeter 义务

清单 2 中的示例代码运行一个 JMeter 负载测试 BreweryTestPlan.jmx。要运行某个目录中的所有测试,只需输入 *.jmx,而不是特定的文件名。jmeter 义务所需的属性为 jmeterhome、testplan(s)以及 resultlog 或 resultlogdir。(清单 2 未显示 resultlogdir,由于它应用 resultlog。)

清单 2. 从 Ant 运行 JMeter

清单 2 中的 Ant 代码创建了一个名为 JMeterResults.xml 的输出文件,用于创建 HTML 申报。

应用 XSLT 出现申报

将 JMeterResults.xml 文件作为清单 3 中的 xslt Ant 义务的输入,可以为清单 2 中运行的所有 JMeter 测试天生一个 HTML 申报。在 JMeter extras 目录中供给的 XSL 样式表(jmeter-results-detail-report_21.xsl)用于将 JMeterResults 文件转换为 HTML。

清单 3. 应用 XSLT 创建 JMeter HTML 申报

JMeter 也供给了一个不太具体的 XSL 样式表文件,用于总结负载测试的结果。

可以应用很多内置的其他参数和属性来改动 JMeter 测试运行的要领(有关具体信息,请参阅 参考资料)。

在履行负载测试的要领上,应用参数和属性供给了必然的机动性,然则它不能办理若何在不合的目标情况中运行负载测试的问题,比如测试和验证情况。要向测试计划添加特定于情况的信息,您必要在 .jmx 文件中放入一些暗号,以便当负载测试在自动构建脚本中运行时可以对 .jmx 文件进行过滤和改动。

及时负载测试

应用自动构建运行负载测试时,将其安排为按某个周期运行,比如每晚运行一次。您可以应用 CI 或构建治理办事器来实现。

安排 CruiseControl 天天运行负载测试

应用 CI 办事器的目的在于,只要向项目的版本节制存储库利用了变动,就运行一个自动构建。您也可以将其设置设置设备摆设摆设为按特定次数运行构建。因为负载测试平日必要较多的谋略资本,在这些资本未被占用时运行测试(例如深夜或朝晨)会对照好。

在 清单 5 中,一个自动构建被安排在晚上 11:00 点 (2300) 应用 CruiseControl(请参阅澳门新葡亰平台游戏b 参考资料)运行。您可以改动 CruiseControl 设置设置设备摆设摆设文件,以应用一个特定的 Ant 目标运行一个委托构建,比如一个给定的 run-load-tests 构建。

清单 5. 应用 CruiseControl 运行预定的负载测试

...

...

经由过程将负载测试安排在晚上运行(如清单 5 中一样),您将不会听到有关加班、休假或忘怀运行测试等饰辞 — 它们会自动运行。

在 CruiseControl 中显示申报

您已经看到了若何应用 Ant 显示 JMeter 测试申报。然则,JMeter 申报只能与单个机械上的一个开拓职员通信。负载测试会影响全部利用法度榜样,以是全部团队都邑盼望看到结果。好处在于,您可以轻松设置设置设备摆澳门新葡亰平台游戏b设摆设您的 CI 办事器,以显示这些申报。由于已经应用 Ant 天生了这些申报,以是只必要使 JMeter HTML 申报可以从 CruiseControl 项目仪表板造访。您可以向 CruiseControl 的 config.xml 文件添加几行代码来实现这个目的,如清单 6 所示:

清单 6. 设置设置设备摆设摆设 CruiseControl 来显示 JMeter 申报

...

...

现在,团队中的每小我都可以(真正地)共享这些信息了。很多其他 CI 和构建治理办事器也供给类似的申报集成功能。

停止语

在本文中,我展示了若何向您的开拓对象箱添加自动化负载测试。经由过程应用自动构建运行负载测试,然后将测试安排为按期运行,您可以在系统容量问题呈现之前及时发明它们。这种措施使得评估架构和数据变动的影响变得加倍轻易。当与本文章 系列 中描述的其他技巧结合应用时,开拓团队经常能够交付更高质量的软件。

您可能还会对下面的文章感兴趣: