金蝶ERP性能测试经验分享

发表于:2013-6-20 13:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  1、分享

  1.1 测试环境搭建

  在我们进行性能测试之前,通常需要搭建一个供测试用的环境,使用这个环境来录制脚本,根据在这个环境下执行测试的结果,得出最终的测试结论。

  有些时候,测试环境就是生产环境,例如:一个新的项目上线前进行的性能测试,通常就是在未来的生产环境下进行的。在这种情况下,可以排除测试环境与生产环境差异带来影响,测试结果相对比较准确。

  反之,如果测试环境与生产环境不是同一环境,这个时候,为了保证测试结果的准确性,需要对生产环境进行调研。在搭建测试环境时,尽量保证搭建的测试环境和生成环境保持一致(环境主体框架相同,服务器硬件配置相近,数据库数据相近等)。

  另外,最好输出一个测试环境搭建方案,召集各方参加评审确认。同时,在测试方案、测试报告中,对测试环境进行必要的阐述。

  1.2 并发量计算及场景设计

  首先,在确定场景及并发量之前,需要对业务进行调研,调研的对象最好是业务部门,也可以通过数据库中心查询数据,进行辅助。

  场景选取一般包括:登陆场景、操作频繁的核心业务场景、涉及重要信息(如:资金等)业务场景、有提出明确测试需求的业务场景、组合场景等。

  每个场景的并发量,需要根据业务调研的结果进行计算。可以采用并发量计算公式:C=nL / T 进行计算(其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统))。

  每个场景的思考时间,也可以通过业务调研获得。

  另外,也可以采用模拟生产业务场景TPS(每秒通过事务数)的方式,来确定场景。相比上一种方式,模拟生产业务场景TPS,能更加准确模拟生产压力。本次ERP性能测试采用的就是这种方式:首先,通过调研确定业务高峰时段,各核心业务TPS量及产生业务单据量。然后,通过调整组合场景中,各单场景的Vusr(虚拟用户数)和Thinktime(思考时间),使每个场景的TPS接近业务调研所得到的TPS量,每个场景相同时间(即高峰时间段长度)通过事务数接近调研业务单据量,从而确定一个,可以模拟生成环境压力的基准场景。最后,通过成倍增加虚拟用户数,来形成2倍场景、3倍场景等。(注:在ERP性能测试组合场景调试过程中,我们发现:各个单场景TPS会受到其他场景的影响(例如:某一个单场景虚拟用户数增加,其他场景TPS就好跟着变化)。因此,建议大家在确定场景并发量时,如果场景比较复杂,最好采用第一种方式)。

  最后,同样需要制定场景设计方案,召集相关部门进行评审。

  1.3 测试框架搭建

  在环境搭建完成、场景设计方案确定之后,下一步工作就是创建脚本。

  创建脚本通常有两种方式:录制和手工编写。前一种方式相对比较容易,只需要使用测试工具,进行相关操作即可生成脚本。后一种则相对比较麻烦,需要搭建一个脚本执行的框架,编写各场景对应的代码。

  首先,关于测试框架,简单来说就是一个程序运行的环境。以java语言为例:我们都知道,一个简单的java小程序,它要运行起来,我们先要安装JDK(我们可以把它看成是一组API,也可以说是一些java Class),它提供了编译Java和运行Java程序的环境。同理,我们现在想要编写测试脚本,实现特定的功能,那么首先也需要搭建一个可以让它运行起来的环境。

  在搭建环境过程中,需要咨询对生产环境框架非常熟悉的工程师,了解整个环境运行的机制。测试框架搭建完成条件:测试脚本在该框架下运行,可以实现登录应用服务器,执行基本业务操作(可以通过在数据库中,查询生成数据进行验证),登出应用服务器。

  具体以ERP性能测试框架为例:通过调研分析得出:

  1)测试脚本执行需要使用1.4版本jdk;

  2)金蝶client端程序运行,jar包调用先后顺序:sp→path→common→client ;

  3)金蝶client端与应用服务器建立连接过程:获取客户端元数据(调用MetaDataLoaderFactory.setClientMetaDataPath()方法)→获取启动模块(调用SystemEntry.instance.setStartMode()方法)→初始化系统(调用SystemEntry.instance.initSystem()方法)→登陆应用(调用SystemEntry.instance.login()方法);

  4)金蝶client端登出应用服务器方法SystemEntry.instance.logout()。

  根据以上几条,我们编写调试出登陆脚本,然后加入具体的业务代码之后,又顺利开发调试出某个基础资料新增脚本(因为金蝶体系固定,基础资料调试通过,代表其他业务功能也可以调试通过),这样整个框架就基本搭建完成。

  具体的测试环境搭建细节,参见“ERP性能测试框架搭建”。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • alontion
    2013-10-29 09:31:49

    金蝶有一个他们自己开发的RPC录制工具,可以生成LR可用的测试脚本。生成的代码的可读性不高,调试需要花一点时间。但是总体来说不需要这么多部门配合,如让开发人员写脚本等

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号