Lex Auto Logistics是Lex Service PLC的一部分,是一家领先的物流服务提供商,为拥有可服务部件需求的蓝筹组织提供服务。他们成功地使用了Red Gate Software的Advanced .NET Testing System (ANTS Load)来测试他们新的基于.NET的Web应用程序LEXtec的架构。
Lex Auto Logistics为制造业提供全面的物流支持服务,包括在英国和国外管理和分销售后备件。他们的客户包括现代汽车、通用汽车、RAC和五十铃卡车,使他们成为欧洲汽车售后市场的领先供应商。Lex Auto Logistics在其IT基础设施上投资超过1000万英镑,是一家使用最新信息技术的先锋公司。
Lex Auto Logistics决定与E-Zeesoft合作,构建他们的下一代基于Web的零件目录和客户信息门户,以推动未来5年的增长。这个产品品牌为LEXtec。ANTS Load被选为测试该应用程序的工具。
LEXtec是一个完全用Visual Studio .NET编写的三层应用程序。Internet Explorer客户端访问用Visual Basic .NET编写的ASP.NET应用程序。使用SQL Server数据库存储数据。LEXtec用于在互联网上展示和可能销售大约1,000,000个汽车零件。这不仅允许客户获取最新的技术信息以选择正确的零件,还允许Lex Auto Logistics将安全和相关产品信息整合到一个单一的产品中,从而为客户提供一个全新的营销渠道。
从战略上讲,Lex Auto Logistics将使用LEXtec,结合其独特的工程经验,作为一个产品来开发和进入新市场,从而将其提供给客户的服务与技术上不那么先进的竞争对手区分开来。LEXtec是通过Lex Auto Logistics和E-Zeesoft之间的合作构建的。E-Zeesoft是Visual Studio .NET的早期采用者。
Lex Auto Logistics使用ANTS Load模拟了越来越多的同时用户访问Web应用程序。ANTS Load识别了用户体验如何变化,并监控了服务器的性能。使用ANTS Load,他们能够识别并消除他们架构中可能的瓶颈。
Steve Clark,Lex Auto Logistics的项目经理说:“在开始使用ANTS Load之前,不知道应用程序将如何扩展,或者瓶颈在哪里。ANTS Load向保证有一个可扩展的应用程序,但指出了一些与处理器使用有关的重要问题。进一步的调查将问题定位到VB.NET代码中的对象使用方式以及它们被垃圾收集的方式。非常高兴地发现网络和SQL Server并没有限制性能。”
Andrew Vernon,E-Zeesoft的项目经理说:“使用ANTS Load来理解工作的性能,并用它来验证在与Lex Auto Logistics的协议中必须通过的里程碑,是非常有用的。然而,必须说,希望在开发阶段就使用ANTS Load进行测试,而不是等到项目结束。”
ANTS Load从一开始就被设计得非常容易使用和学习。在ANTS Load中集成Visual Studio for Applications是采用它的一个令人信服的原因。
Steve Clark评论这个用户友好的产品说:“特别高兴的是,可以用Visual Basic .NET编写测试脚本,因为这是开发人员日复一日使用的语言。因为开发环境与习惯编写的环境相同,所以ANTS Load的学习周期非常短。”
Lex Auto Logistics为LEXtec设定了严格的性能标准——对于简单页面,响应时间少于两秒,对于复杂页面,响应时间少于五秒——对于多达1000个并发用户。这个性能要求是必要的,以超过现有的基于CD的系统的能力。
Keith Dewhurst,Lex Auto Logistics的IT总监说:“通过使用ANTS Load对LEXtec进行负载测试,能够验证这个具有战略意义的产品。使用.NET作为技术的基础,并使用.NET特定的工具进行负载测试,提高了上市时间。”
// 示例代码,展示如何在Visual Basic .NET中编写测试脚本
Public Sub TestWebApplication()
' 初始化测试环境
Dim testEnvironment As New TestEnvironment()
testEnvironment.SetUp()
' 定义用户行为
Dim userBehavior As New UserBehavior()
userBehavior.AddAction(New NavigateAction("http://www.lextec.com"))
' 创建测试场景
Dim testScenario As New TestScenario()
testScenario.AddUserGroup(New UserGroup("Users", 1000, userBehavior))
' 运行测试
testScenario.Run()
' 清理测试环境
testEnvironment.TearDown()
End Sub