《001“达美特”协议栈性能自动化测试系统的研发ghe.docx》由会员分享,可在线阅读,更多相关《001“达美特”协议栈性能自动化测试系统的研发ghe.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Alcatel-Lucent 阿尔卡特-朗讯“达美特”协议栈性能自动化测试系统的研发(创新型)青岛阿尔卡特朗讯研发部绿萝圈QC小组背景介绍以及小组简介阿尔卡特朗讯科技公司,致力于为全球主要的通信服务商提供设计和网络。借助其在移动、光、数据和语音技术以及软件和服务领域的综合实力全力发展下一代通讯网络(NGN)。“达美特”协议1作为一种基于TCP/IP的互联网应用层协议,由于其灵活的扩展性,被广泛地用于各种NGN网络接口中。据统计有超过90%的鉴权、授权、记费接口以及超过85%的服务质量控制接口都采用了“达美特”协议。图1 “达美特”协议应用统计 (制图:张树芳 2006/04)在阿尔卡特朗讯下一
2、代网络IP多媒体子系统(IMS)中,基于“达美特”协议的应用正在持续地增长(如图1所示)。这种迅速的增长迫切需要我们提供一个性能稳定的“达美特”协议栈2。我们绿萝圈小组是一个以研发工程师为主,具有高学历、高技术的小组。小组的活动理念是:提高软件质量,解决实际问题。小组的活动类型为现场型,共有7名成员。QC的平均教育时间为16个小时,每周定期活动一次,进行总结和交流,及时发现和解决活动中遇到的问题。表1 QC小组成员概况(制表:张树芳2006/04)小组名称绿萝圈小组注册号LR&DQIC06007课题类型创新型活动时间2006.3 2006.12姓名性别文化程度职称组内分工张树芳女本科系统工程师
3、组长、全面组织马小航男博士研发工程师现场实施、系统开发周杰男硕士研发工程师现场实施、系统开发朱磊男硕士研发工程师采集数据崔红女本科研发工程师资料整理王大平男硕士技术经理技术指导、协调聂飞男硕士研发工程师系统功能分析1 “达美特”协议(Diameter Protocol)一种计算机之间相互通信所需要共同遵守的一组规则2“达美特”协议栈(Diameter Protocol Stack) 对“达美特”协议的具体实现,负责数据的传输以及协议间语法和语义的检查和解析。 问题分析 产品开发方针研究开发运行稳定、高性能、满足客户需求的软件产品。一、 选择课题 通过分析提出问题 可供选择的课题QC小组在200
4、6年4月期间对当前“达美特”协议栈性能测试状况进行了调查分析。用目前的手动测试方法对协议栈进行30分钟的压力测试,采集多名工程师所完成的40次测试数据,并且对测试结果进行数理统计,取平均值,得到活动前“达美特”协议栈的有效测试率仅为30%。其中,有效测试效率p的定义如下: 通过以上分析可以看出,目前“达美特”协议栈测试为全手工测试,缺乏统一的流程,测试步骤复杂,并且测试效率低下。 如果能改进测试方法,提高测试效率,缩短协议栈测试周期,就可以缩短软件缺陷的发现周期,提高协议栈性能的稳定性。 我公司目前的技术水平,管理水平均具备自行研制和开发自动测试系统的实力。(1) 研发“达美特”协议栈性能自动
5、化测试系统:这个系统主要是针对“达美特”协议栈的每个版本,监控其内存和中央处理器的使用情况,分析每个模块所占用的系统资源。当系统的性能变化超过设定的阈值时,实时地分析并确定原因,从而确保协议栈性能的稳定性。(2) 研发“达美特”协议栈健壮性测试系统:这个系统主要测试协议栈对非法消息,超长消息,缓冲区溢出以及恶意攻击等方面的检测和承受能力。从而确保系统具有较强的鲁棒性和健壮性。小组成员对可供选择的两个课题,运用了矩阵图方法,分析其各自的特点,并从迫切性、重要性、可实施性、预期效果和经济性5个方面,根据不同的权重进行分析和评分(如表1.1所示)。表1.1课题选择矩阵图(制表:周杰2006/04)课
6、题分析评价 (每项满分为7分)综合得分迫切性(0.2)重要性(0.3)可实施性(0.2)预期效果(0.2)经济性(0.1)研发“达美特”协议栈性能自动化测试系统容易实施开发周期短投入人力少需求迫切结果直观易于分析677566.3研发“达美特”协议栈健壮性测试系统可以实施需要借助第三方软件产品开发周期较长需求较迫切576455.6根据综合得分情况,最终确定我们这次QC活动的课题:研发“达美特”协议栈性能自动化测试系统。二、 设定目标1. 通过对同行业相关领域测试系统的调研分析,我们发现存在可利用的开发工具,来实现进程的自动化控制。2. 采用客户端模拟器替代实际实验设备,从而可以避免对实验设备的繁
7、琐操作,提高测试的有效性,同时能够节约实验设备资源。3. 通过开发工具实现人机交互自动化,减少测试人员对测试过程的干预,提高有效测试效率。通过采用以上技术和方法,我们对测试各环节进行分析,以30分钟的压力测试为例,预计所实现的自动化测试系统的有效测试率可以达到60%(表2.1):表2.1 自动化测试系统性能预测(制表:马小航2006/04)- 7 -测试步骤所需时间(分钟)配置文件(手动)1测试系统启动(手动)1启动服务器模拟器(自动)0启动客户端模拟器(自动)0启动性能监控插件(自动)0测试结果图表生成(手动)8测试结果存入数据库(手动)3测试结果网上发布(手动)3运行测试30总计50因此,
8、我们设定目标为:研发“达美特”协议栈性能自动化测试系统,实现性能测试自动化。目标值:将“达美特”协议栈性能测试的有效测试率由30%提高到60%。三、 提出各种方案并且确定最佳方案开始确定会议时间,地点邀请组外人员参加对参会人员发布会议议题准备小奖品奖励发言者开会组长宣布会议规则参会领导表态参会人员至少发言一次做好会议记录会议直至无人发言时为止宣读会议记录散会结束小组成员对“达美特”协议栈性能自动化测试系统的功能分析决定召开头脑风暴会议,首先我们用流程图对头脑风暴会议的过程进行了如下设计:图3.1 头脑风暴会议流程图(制图:马小航2006/05)由于实施了头脑风暴会议流程图的规程,会议开得十分成
9、功,大家争先恐后积极发言,就该测试系统的功能定义进行了热烈的讨论,大家一致表示会议开得心情舒畅,十分痛快,学到了很多知识,同时,也积累了大量的信息资料。为进一步的功能分析打下了坚实的基础。(一) 功能分析(1) 功能定义a. 自动执行b. 中央处理器性能分析c. 内存性能分析d. 多平台运行e. 数据采样精确f. 易于操作维护g. 智能配置h. 历史数据比较i. 界面友好j. 输出易读(2) 功能分类用户要求使用功能美学功能基本功能操作功能辅助功能自动执行处理器性能分析内存性能分析多平台运行易于操作维护智能配置历史数据比较易于访问输出易读数据采样精确无此项要求图3.2 功能分类图(制图:马小航
10、2006/05)(3) 功能整理使用功能基本功能操作功能辅助功能自动执行处理器性能分析内存性能分析多平台运行易于操作维护智能配置历史数据比较易于访问输出易读数据采样精确自动控制模块进程监控模块平台检测模块人机界面模块自动分析模块数据库模块网页发布模块图表生成模块时钟控制模块主测试系统用户界面系统数据库系统网上发布系统协议栈性能自动化测试系统图3.3 功能组件图(制图:马小航2006/05)(4) 功能评价为了更好体现小组活动“广泛的民主性”,全体组员对所提出的功能需求程度进行一对一的系统功能评价打分,经过统计汇总,得到了各功能的综合评分。表3.1 系统功能评价表(制表:张树芳2006/05)测
11、试系统功能一对一比较结果得分自动执行处理器性能分析内存性能分析多平台运行数据采样精确易于操作维护智能配置历史数据比较界面友好输出易读自动执行x0001111116处理器性能分析1x011111118内存性能分析11x11111119多平台运行100x0011115数据采样精确0001x111116易于操作维护00010x11115智能配置000000x1012历史数据比较0000000x101界面友好00000010x01输出易读000000011x2合计45(二) 系统方案提出对图3.2所提出的系统功能需求,小组成员进行广泛的讨论和分析,提出以下两种对策方案,并绘制了PDPC图。方案甲:开发
12、阿尔卡特朗讯“达美特”应用模拟器。采用模拟器作为内核开发试系统。方案乙:二次开发开源协议测试工具并以此为基础开发测试系统。A0研发测试系统A1按方案甲实施A2系统设计A3选择测试接口A6系统集成Z系统验证单元模块设计开发主测试系统用户界面系统数据库系统网上发布系统A4B1按方案乙实施A5单元模块测试图3.4 绿萝圈小组保证工程顺利进展的PDPC图(制图:马小航 2006/05)针对甲、乙两个方案,我们也并分别论证其特点和优缺点(表3.2)。表3.2方案分析(制表:周杰2006/05)方案方案特点分析方案甲:开发阿尔卡特朗讯“达美特”应用模拟器。采用模拟器作为内核开发测试系统。 优点: 服务器/
13、客户端完全兼容 支持所有被测端 所定义的基本数据类型 避免由于软件升级而导致的二次开发 不受第三方软件可能存在的限制 缺点: 测试用例不可配置 测试结果无法与第三方软件比较方案乙:二次开发开源协议测试工具并以此为基础开发测试系统。 优点: 测试用例可配置 测试结果与第三方软件可比较 缺点: 支持的属性数据类型有限 需要做二次开发 可能存在第三方软件限制,尤其在功能强大的后期版本中(三) 甲、乙方案价值分析评价QC小组对提出的两个方案,从其对系统各项功能的满足程度,采用“0,4”评分法进行分析,得出各方案的功能评价系数(表3.3)。同时,针对方案所需要的人力资源投入,从模拟器开发、数据库建立等方
14、面进行了分析,计算出其成本系数(表3.4):(1) 方案功能系数评价表3.3功能评价系数(制表:张树芳2006/05)自动执行处理器性能分析内存性能分析多平台运行数据采样精确易于操作维护智能配置历史数据比较界面友好输出易读功能满足评分(y,s)功能评价系数6895652112功能满足程度方案甲44443323221580.57方案乙22243343431200.43合计2781(2) 方案成本系数评价表3.4成本系数【单位:人月】 (制表:张树芳2006/05) 模拟器开发二次开发开发工具学习测试结果数据库构建数据字典网站发布用户培训合 计成本系数方案甲10.20.50.200.20.22.3
15、0.44方案乙0.50.500.210.20.52.90.56合 计5.21(3) 方案价值系数评价根据功能评价系数和成本系数,计算出了各方案的价值系数(表3.5)。表3.5价值系数(制表:张树芳2006/05)方案功能评价系数成本系数方案价值系数方案甲0.570.441.30方案乙0.430.560.77注:价值系数 = 功能评价系数/成本系数从表3.5可以看出,开发阿尔卡特朗讯“达美特”应用模拟器,采用模拟器作为内核开发测试系统方案的价值系数为1.30,高于方案乙。说明方案甲可以以较低的成本较好地满足系统的功能需求。结论:根据价值系数高为优的原则,我们决定实施方案甲。四、 制定对策表QC小
16、组根据PDPC图(图3.4)进行方案展开,充分运用小组成员的经验、技术、知识对每个项目提出了多个对策,并用矩阵图进行了评价分析,从而确定了最有价值的对策。表4.1 对策评价矩阵表(制表:周杰2006/05)序号项目对策评价 (满分10分)综合得分选择方案有效性(权数:0.4)可实施性(权数:0.3)经济性(权数:0.2)可靠性(权数:0.1)1系统设计1参考和改进其它已有的协议栈测试系统体系结构57866.32直接重用已有自动化测试系统架构481056.53自行设计“达美特”协议栈性能自动化测试系统体系结构1067108.22测试接口选择1根据应用范围选择应用最为广泛的接口78877.52根据
17、应用层需求选择出现问题最多的接口77666.73采用综合评选法选择测试接口108898.93单元模块设计开发1采用按功能划分进行单元模块设计109899.22采用按数据流和控制流划分进行单元模块设计77867.14单元模块测试1 重用已有测试用例78957.52自行设计测试用例9108109.25系统集成1采用组员熟练掌握的高级语言进行系统集成791088.32采用自动化控制语言集成全自动化测试系统108788.66系统验证1使用虚拟环境进行实验室测试87967.72进行现场测试10810109.4根据对策评价表的分析,我们选择出了每个项目的最佳对策,制定出了对策表(表4.2)。表4.2 对策
18、表(制表:周杰2006/05)序号项目对策目标措施负责人地点完成时间检查人1系统设计自行设计“达美特”协议栈性能自动化测试系统体系结构 针对“达美特”测试的特点,设计出符合用户需求的测试系统体系结构1. 分析用户提出需求2. 分析“达美特”测试特点3. 分析系统控制流4. 分析系统数据流5. 分析模块之间关系周杰621会议室06/15/06张树芳2选择测试接口采用综合评选法选择测试接口选择命令简单消息容量大接口开发难度低1. 分析接口消息数量2. 分析接口消息所支持的最大容量3. 分析模拟器的开发难度张树芳研发部06/30/06周杰3单元模块设计开发采用按功能划分进行单元模块设计划分功能单元,
19、定义各单元模块功能需求1. 采用自上而下的分析方法分解整个测试系统,结合用户需求朱磊504会议室08/05/06马小航4单元模块测试自行设计测试用例确保四个单元模块功能满足需求1. 使用自行设计的测试用例对各单元模块进行测试,最终达到100%通过率崔红IMS实验室08/20/06朱磊5系统集成采用自动化控制语言集成全自动化测试系统测试系统能够实现自动化测试结果图表曲线发布在网上1. 使用具有自动化控制能力的开发工具集成各功能子模块马小航研发部09/05/06聂飞6系统验证进行现场测试确保系统有效率达到目标值1. 进行现场测试,采集多次测试数据,进行数理统计,得到活动后有效测试率聂飞IMS实验室
20、09/30/06崔红五、 按照对策表实施QC小组遵循PDCA(计划,执行,检查,处理)的原则对“达美特”协议栈性能自动化测试系统进行研发。定期开会讨论,实时沟通,及时解决实施过程中所遇到的各种问题。实施一:系统设计本小组成员于2006年5月开始着手调查“达美特”产品测试流程,了解了“达美特”产品在测试中存在的问题。组员中有“达美特”开发团队的队员,这些队员积极协调QC小组与“达美特”团队之间的交流。最终QC小组清晰得了解了“达美特”性能自动化测试系统的需求细节。之后,QC小组中软件工程师、系统工程师以及技术经理各自发挥所长,从不同的角度对整个系统的实现提出了自己的见解。小组中展开激烈的讨论,最
21、终得出系统实现的最佳方案。提出了划分功能模块、各功能模块独立开发、最后进行系统集成的解决方案。测试系统整体架构设计如图5.1所示。图5.1 “达美特”协议栈性能自动化测试系统系统架构(制图:马小航2006/06)结论:完成对策目标,系统设计得到“达美特”产品总工程师唐善敬的高度肯定。实施二:选择测试接口系统设计完成之后,QC全体组员继续鼓足干劲,进行了测试接口的选择。“达美特”协议栈支持多个不同的应用接口,我们使用综合评选的对策进行接口选择。如表5.1所示,我们评选所考虑的主要因素是接口所支持的消息总数、接口消息所支持属性值最大数、接口消息所支持属性种类和接口模拟器开发难度。QC小组队员阅读了
22、大量“达美特”的国际标准,最终讨论得出需要选择一个命令简单,消息容量大,消息结构复杂的接口来进行“达美特”协议栈性能测试的结论。另外由于开发时间有限,所以应用接口开发难度应该尽可能低。从而最终确定Rf接口作为应用测试接口。表5.1测试接口分析(制表:崔红2006/06)应用接口接口所支持消息总数接口消息所支持属性最大数接口消息所支持属性种类接口模拟器开发难度Rf1对625较 易Cx6对286难Sh4对134较 难结论:完成对策目标,此应用接口选择所考虑的因素得到QC小组和“达美特”开发团队的共同认可。实施三:按功能划分进行单元模块设计开发在系统设计完成和测试接口选定后,我们细化了各功能模块,明
23、确定义了各功能模块的具体需求。于7月开始了“达美特”协议栈性能自动化测试系统的开发,按照先开发子系统,然后进行系统集成的步骤实施。划分的子系统包括:主测试系统、用户界面系统、数据库系统开发和网上发布系统。为保证整个系统的及时交付,在子系统开发过程中,QC组员采用分工学习,同时调查研究,各个击破的策略,并行进行四个子系统的开发。分工过程本着各尽其才的原则,根据各个组员各自的特长以及领域知识进行分工。因为子系统开发所涉及的技术领域广泛,在开发过程中组员们积极协调,虚心请教,并定时进行热烈讨论,真正实现了团队协作。在不耽误正常工作的同时,组员们加班加点,争分夺秒,牺牲了许多节假日的休息时间,保证了各
24、自任务的及时完成。结论:完成对策目标,全部单元模块及时按照对策表中计划的时间交付。实施四:单元模块测试各单元模块的功能实现是系统集成的前提保证。我们从以下几个方面设计了75个单元模块测试用例:a. 系统能准确得到处理器和内存系统占用数据b. 通过简单命令启动测试系统c. 系统对配置文件进行智能分析d. 实现原始数据到图表曲线的转化。e. 实现数据关联f. 网站支持图表、曲线、时间数据查询当发现单元模块存在缺陷时,我们会进行问题定位,找到相应的功能部件,对其进行必要的改进和修正,直到所有的测试用例都通过。结论:完成对策目标,所设计的75个测试用例100%通过。实施五:系统集成子系统功能都正确实现
25、后,进入整个系统的集成阶段。我们邀请“达美特”开发团队根据他们的需求设计了20个系统级的测试用例,同时QC小组也自行设计了40个测试用例,对整个测试系统进行全面、详尽的测试。对于集成测试中所发现的问题,我们也进行问题定位,修正相应的功能模块,对其进行必要的改进。如此循环,直到60个测试用例都通过测试在设计和开发过程中,随着对开发工具的熟悉和掌握,以及对系统架构和功能的进一步了解,我们发现其中有些环节,如测试结果数据处理、数据入库、和网上发布,也可以有相应的手段来实现自动化。对此,QC小组立即决定将这些环节的自动化实现纳入测试系统开发的范畴。结论:所设计的60个测试用例100%通过,系统成功集成
26、了各个子系统的功能。不仅完成了对策目标,而且实现了功能增强。实施六:系统验证我们将系统所实现的功能与系统设计进行了对比,同时“达美特”开发小组也对系统进行了试用。我们一致认为测试系统成功的实现了从系统启动到结果数据网上发布整个过程的自动化。QC小组使用性能自动化测试系统对“达美特”协议栈的6个版本进行跟踪测试,以进一步巩固、优化测试系统。针对巩固阶段中所出现的问题和发现的不足,小组成员都会对自动化测试系统作进一步的改进。结论:完成对策目标,测试系统满足了预期设定的功能目标,“达美特”开发团队也对系统功能进行了验证和确认。六、 效果确认(一) 与设定的目标对比自动化测试系统最初对阿尔卡特朗讯“达
27、美特”协议栈13.12.00版本进行了实际测试,不仅实现了所有提出的各项功能,而且超过预期目标,实现了包括所有环节在内的“达美特”协议栈性能测试的全过程自动化。在测试系统于10月交付使用时,我们对有效测试率的改善情况进行了统计分析,仍以30分钟的压力测试为例,采集多名工程师所完成的40次测试数据,对测试结果进行数理统计,取平均值,得到活动后的有效测试率为90%,超出了预期设定的目标60%(见表6.1)。表6.1 性能自动化测试系统运行状况调查(制表:马小航2006/10)- 18 -测试步骤所需时间(分钟) 配置文件(手动)2 测试系统启动(手动)1 启动服务器模拟器(自动)0 启动客户端模拟
28、器(自动)0 启动性能监控插件(自动)0 测试结果图表生成(自动)0 测试结果存入数据库(自动)0 测试结果网上发布(自动)0 运行测试30 总计33(二) 实际的应用验证及成果推广“达美特”协议栈性能自动化测试系统已正式被采用作为阿尔卡特朗讯“达美特”协议栈性能监测和跟踪的质量监控系统。针对每个新发行的软件版本,研发工程师都会使用测试系统对其进行全自动化测试,并将测试结果存入数据库。通过同数据库中历史数据的比较,可以迅速发现协议栈的潜在的问题,及时通知相关开发人员,并协助开发人员快速准确地定位问题。到目前为止,“达美特”协议栈自动化测试系统已经发现并预防了“达美特”多个版本在开发过程中存在和
29、潜在的问题,保证了“达美特”产品的健康成长。图6.1,6.2,6.3和6.4所示为自动化测试系统对“达美特”协议栈性能的测试结果。“达美特”协议栈性能自动化测试系统的效果得到了青岛阿尔卡特朗讯研发部领导和整个“达美特”开发团队的一致认可和肯定,并且迅速得以推广使用。图6.1 测试结果(1)图6.2 测试结果(2)图6.3 测试结果(3)图6.4 测试结果(4)七、 标准化1 制定了“达美特”协议栈自动化测试系统原理及实现和“达美特”协议栈自动化测试系统使用手册。经过阿尔卡特朗讯下一代通讯网络研发部批准,该文档已经进入阿尔卡特朗讯标准文档库。http:/ih6g2-http:/ih6g2-htt
30、p:/ih6g2-2 创建了“达美特”协议栈历史性能数据库,存储每个软件版本性能测试的数据,从而可以方便快捷地进行历史数据的比较以衡量性能的变化。3 撰写了Automatic “达美特” Stack Performance Testing and Monitoring论文并投稿到相关的学术期刊,以进一步推广该“达美特”协议栈性能自动化测试系统,使其最大程度发挥效用。通过以上“达美特”性能自动化测试系统的开发,小组全体成员在“达美特”质量监控管理上有以下提高:1对“达美特”协议相关标准有了更深刻的认识。2对朗讯“达美特”的整体软件架构和各功能模块有了更清晰的掌握。3对大型软件产品的自动化测试和产
31、品监控有了总体的掌握。进一步加深了对PDCA的认识,加强和优化了我们思考和处理问题的思维方式1掌握了系统科学的问题研究、分析和解决的方式;2加强了严谨的工作态度,凡事数据说话,实践是检验真理的唯一标准。序号评价内容活动前(分)活动后(分)1团队精神80902质量意识75953进取精神80904QC工具运用技巧65805工作热情干劲75856改进意识6590分析:1 全体组员的团队精神和进取精神一直保持着良好的状态,活动后有所提高;2 活动前后,组员们的质量意识有了显著的提高,已树立了牢固的质量管理控制观念;3 其中改进意识的提高最为显著,从活动前的65分提高到了90分。4 在QC工具的使用掌握上仍存在较大的提高空间。专业技术的提高管理的提高小组综合素质的提高“达美特”协议栈性能自动化测试系统的开发与使用,创造性地解决了“达美特”协议栈测试中所遇到的实际问题,收到了预期效果。在下一次的QC小组活动中,我们将针对“达美特”协议栈的健壮性、鲁棒性、容错性等方面的测试及自动预警功能等方面的关键技术进行攻关。 下一步打算八、 总结与今后打算