提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:郝浩|2015-06-19 17:14:50.000|阅读 234 次
概述:本文详细介绍了性能测试中最重要的一种测试方法:Shift Left测试
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
开始着手全球性IT转型项目对于任何组织来说都是一件即兴奋又富有挑战的事情。当然,降低失败风险是整个项目的主要目标之一。而测试是能明显帮助降低失败几率的活动之一。
本文介绍了与传统多用户性能测试所不同的测试方法;尽管所使用的工具相同,但该方法结合了现代数据可视化技术,从而早早就能对那些可能存在有“沉睡着的”性能问题的特定位置及应用程序区域有所洞察。
大多数项目会首先专注于功能,然后才是其它。使用类似HP LoadRunner或Neotys Neoload这类测试工具的多用户性能测试往往属于测试循环后期才会发生的活动。很多时候会与UAT并行发生,而这时新系统已经暴露给终端用户了。因此在性能测试时发现性能问题的几率很高,修复的几率却很低。因为这种情况下,通常距离上线时间已所剩无几。
多用户性能测试通常发生于项目后期的原因有多种,根据项目的不同而不同。以下两个原因最为常见:
作为降低风险的活动,性能测试是绝对必要的。真正的挑战在于如何以不同方式进行,这样可以在有更多时间和预算时就能解决与性能相关的问题。性能测试应在测试生命周期内更频繁地被执行,同时与主要发布周期相互协调,从而提供更好的投资回报,并不断地帮助降低项目风险。
以下这些目标很可能与大部分IT转型项目的目标类似:
本文所要说明的方法曾被一个处于IT转型的项目采用,该项目运行于一个中等规模企业,该企业在全球范围内运营,世界各地的办事处数量也在不断扩大。其通过标准的客户关系管理系统(CRM)和企业资源规划(ERP)应用程序, 在本地办公室内面对面地处理与客户的业务。
这两个应用程序的共同关键属性是显示大量数据给用户的同时,执行关键业务流程。此外,这些面向客户的业务流程还需要输入大量数据集(数百个记录/业务流程),然后在彼此上层处理。在以前使用大量数据集的测试业务流程往往只计划发生于用户验收测试(UAT)。其主要原因是:想在允许时间内覆盖所有必需测试集而手动输入数据的话,太费时间。数据迁移工作流被指定来为UAT传输这些数据,但是由于延迟,我们往往要等到UAT开始时才能期望用得上这些数据。
之前版本的CRM解决方案已经报告存在性能问题。当时该CRM已经集中化,并应用于世界各地的多个办公室。这些性能问题因地点而异,分布于不同的功能块;而且是由终端客户报告出来的,没有具体的测试或时间可供参考。
相反,之前的ERP解决方案是独立安装于各个地区或国家的,目前还没报告有性能问题。但是集中运行这两个应用程序的话,不由得让人担忧其性能,尤其在处理数据输入、扫描和打印等活动时。
可拓展性测试虽然是多用户性能测试的一个关键点,但却算不上该项目的关注点。以市场为导向的标准软件在实施时尽量地减少定制,并在产品环境中配置大小正好的基础设施服务器。
非功能性需求被定义为该项目的一部分,却需要被验证。该组织多年前曾购买过HP LoadRunner作为性能测试的首选工具。但由于预算的限制,后来并未在测试工具上做进一步的投资。
综合考虑各方面的限制和需求,该项目将以下这些定义为性能测试的主要目标:
该解决方案从单一用户角度出发进行性能测试。对关键业务流程的测试将在数个月内以真实的、自动化的形式在世界各主要地点进行,同时还覆盖了各主要发布周期。现代可视化技术将显著地减少分析及诠释测试结果,还有呈现到项目管理团队的时间。该单一用户性能测试方法相比于“传统的”多用户性能测试有以下众多优点:
单一用户性能测试解决方案在执行时用到以下工具和方法:
该整体SUPT方法可以通过使用其他性能测试或类似HP Business Availability Centre(HP BAC)这样的性能监控工具以类似的方法来执行。
为了收集有价值且有效的数据,我们在所有办公地点将所有性能测试脚本执行上一段足够长的时间。每个地点都使用两个Load Generator的策略让我们对测试结果更有自信,也帮助我们定位及解决用户在配置上的不同。
“基准值”允许我们在不同环境上执行测试,比如:系统集成、用户验收或预产品等环境,通过对比不同地点的响应时间及相应数据中心的响应时间,我们可以区分出特定性能问题来自应用程序,还是环境或地点。
但要想使之成为可能的先决条件是在数据中心每隔一分钟执行一遍性能测试脚本的循环。而其他所有地点则会每15分钟循环一遍(每个地点间交错开1分钟的间隔)。目的在于观察服务器和远程地点在执行相同流程时响应时间的不同,而不是让服务器超载。
一旦结果出来,我们要面对的挑战是如何尽快有效地分析这些数据并为以下内容提供信息和分析数据:
SUPT的结果是由每个地点每一个事务响应时间而组成的大数据表。我们选择第90百分位作为响应时间的代表值。
我们所面临的挑战是找到能快速分析这些数据的工具。查看过各种各样可视化工具及技术之后,我遇到了Mike Bostoks的“D3”项目,从那找到了圆形可视化及Circos,从而发现完成这一工作的最佳工具。
“是将数据和信息可视化的软件包。它以圆形布局可视化数据,这使得Circos成为研究事务或地点间关系的理想工具,也是展示图表的理想工具。圆形布局除了美观外,还有其它的有利因素。”
有不少工具可让Circos更易于使用,Table Viewer tool就是其中一个,在网上就可以找到。
建议在Linux上下载并配置Circos。第一次分析时,最简单的方式是使用的Table Viewer tool的在线版本。
性能测试结果需导入到数据表中,其内容应与下图相似。数据表还需符合以下要求:
单单使用Table Viewer默认在线配置就能生成令人惊喜的结果。用于在线生成图形的配置文件可以下载下来与本地安装一起使用。
所得到的结果是类似下图。理解该图像的关键是从12点钟开始,然后顺时针查看HP LoadRunner响应时间测量值;或者参考事务(小写字母),然后逆时针查看地点(大写字母)。地点所对应的厚度是该地点所有响应时间的总和。同时生成的柱状图对进一步分析也非常有用。仅通过视觉比较,我们一眼就可以看出哪些地点受到低性能的影响,以及相对应的特定流程和步骤。
由于事务的数量可以相当大,该图像在分析事务时信息量可能会有所减少。下一步我们需要过滤掉那些没有问题的响应时间。比如那些响应时间少于最低SLA(以5秒为例)的事务就可以被排除出去。使用Table Viewer工具的话,有两种方式可以达到这一目的。其中一种是过滤掉这些事务,但将其保留在总体计算中。
该图像确实突出了性能最差的事务,以及它们在总体业务流程性能上所占的百分比,同时它还为理解潜在的性能改进提供了基础。
要想在更紧凑且缩放的视图中查看相同信息的话,我们还可以将那些通过SLA的事务从总体计算中排除。
我们现在可以清楚地识别出“fa”、“ea”、“dz”和“da”事务的性能是最差的,而“A1”、“A2”和“A8”地点的性能最好,“A1”地点则是数据中心。
现在的目标是生成网络延迟和路由的相似视图。第一步我们需要用LoadGenerator将HP LoadRunner Analysis中的从源到目的地的路由所对应的总网络延迟信息分组(Analysis工具的一个功能)。然后将这些信息导出到电子表格中。
我们的目的在于验证网络延迟是否在预期的SLA范围之内。下图比较了网络延迟测量值和已知的从源到目的地的SLA临界值。为了了解是否有已知地点超出SLA,需要添加主机地点的信息。举个例子:如果HOST11位于欧洲,那么SLA就通过了,如果位于其它地方,则失败。
点击图片放大
同样每个地点的吞吐量也要与参考点进行对比,与地点的假定可用带宽及用于数据中心的实际带宽进行对比。数据中心地点的测量值将决定达到假定的接近无限带宽的可能最大值(比如:千兆以太网)。
点击图片放大
下一步目标是为网络管理团队获取更多的细节,我们尝试获取更多关于路由和网络延迟的详尽分解信息。该分析的基础是HP LoadRunner分析工具中的网络段延迟图(Network Segment Delay Graph)。
桑基图是有向图,其箭头线的大小代表了流量大小。桑基图被用于各种流程的可视化,不限于能源和材料,是任何“从”源“到”目的地的流程定义(实际或虚拟)。桑基图将我们的注意力带到了流量最大的流程上的同时,也显示了各个流程间的流量比例,指示了“从 - 到”的流动方向。桑基图是以爱尔兰工程师Captain Matthew Henry Phineas Riall Sankey(1853-1925)的名字命名的。(, en.wikipedia.org/wiki/Sankey_diagram, )
下图的创建使用了来自 的桑基图实例和从HPLoadRunnerAnalysis工具中提取的网络段延迟数据。
生成该图像的步骤如下:
桑基图用于理解单个网络路径和延迟时特别有效。但当试图显示整个网络时,d3noob实例的局限性就暴露出来了。而我们的需求是采用一个易于使用的工具将复杂的网络图可视化。可用的工具很多,尤其在社交网络分析这方面,NodeXL是最适合这一目的的工具。
“NodeXL是Microsoft® Excel® 2007、2010 和(可能)2013免费的开源模板,它使得网络图像探索变得轻松。有了NodeXL,我们可以在工作表中输入网络边缘列表,然后点击按钮查看图像,所有的内容都呈现在熟悉的Excel窗口里。”()
我们将所有网络延迟段信息输入到同一工具里,并期望它能帮助我们确定任意特定路由问题。NodeXL所带来的视图效果还有很多,在这里我们并没有全部采用(像节点图片等)。
性能良好的网络段通过基于标签的“动态过滤器(Dynamic Filter)” 可以简单地过滤掉。这种情况下,该标签是网络延迟的数值表征。我们还未探索的可能性是创建源到目的地网络延迟计算的交互总值。尽管它会是个有趣的功能,但并非是必须的。从之前的分析中,我们已经有了总的源到目的地的测量值。
为了调查正确的路由方向,可以将图像属性从未定向改成定向。
在该实例中,图中间的“diamond”看起来比较可疑。该工具有简单的缩放功能。
上图显示了部分通信从“E”跳转到“J”的两种路径,分别是“HH”和“II”。“II”路由的延迟要比“HH”路由高。该信息可以很容易地传递到网络管理团队,并用于项目内的沟通。我们期望网络团队能调查“diamond”存在的原因,并提供合适的解决方案。
通过上述步骤,我们对应用程序和地点性能的理解不再是个谜团,是时候开始专注关键的性能改进了。想要理解哪个改进是关键的,性能测试结果需要与非功能需求进行对比。这可以使用带有过滤功能的Circos或带有图像和表格的Excel可视化功能来完成。
下表显示了每个地点响应时间的分析总结。SLA列值是从表中检索出来的,用来确保SLA的简单管理,以防止任何变化。
点击图像放大
该总结图表可以如下蜘蛛网图来显示。
同样的方法也需要应用到网络延迟和吞吐量SLA的测量及比较。
现在我们所拥有的关键调查结果包括:
下一个步骤我们需要进一步深入获取有性能问题的业务流程详情。之前的步骤允许我们非常有效地走到这一步。
现在我们要做的是回答以下这些问题:
总的说来,该单用户性能测试方法的目的在于通过在全球不同内部地点内对真实数据量的使用,从而让我们对应用程序性能能有个早期的概念。使用适当的现代可视化工具能帮助我们快速地分析与性能相关的数据,并定位性能问题。对上述方法和工具的使用也确保了其结果能在项目中传递的同时,被技术或非技术人员理解。
本文转载自,原作者:,译者:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢