用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计网络工程

一种基于代码解析的灰盒测试辅助工具

联系方式:点击这里给我发消息QQ8191040
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:8191040
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 在日常生活中,银行系统除了需要保证其功能的正常运行外,银行系统的稳定运行、可靠性等也至关重要。所以,对银行系统进行有效、充分的非功能测试是保证系统质量的重要工作之一。而传统的非功能测试往往类似于黑盒测试,测试人员对于所测系统的了解只能依靠项目组提供的相关资料,并不能深入了解系统内部实现逻辑。所以在非功能测试准备过程中,经常会遇到以下问题:在测试方案、案例的设计方面:由于项目组提供的交易路径不准确、可能造成我们选取的交易的交易路径覆盖不全,选取的典型交易不典型;在数据预埋方面:测试数据预埋工作依赖于项目组;在交易调试过程:遇到的问题太依赖于项目组,而开发人员往往由于需要解决各种问题,不能及时响应,解决效率较低。
本人结合在北京开发中心信用卡部门轮岗时对于新一代代码开发框架的学习,结合非功能测试准备过程存在的不便之处,设计并实现了一种基于代码解析的灰盒测试准备工具,该工具主要用于解决在测试准备阶段遇到的诸多不便,例如过度依赖项目组,非功能测试范围可能覆盖不全等问题。本工具通过提取版本中交易的交易路径、数据库表等非功能测试人员关注的重要信息,协助测试人员进行非功能测试准备的工作。

关键词:Java 代码编译 灰盒测试

目 录
1 绪论 2
1.1 研究背景 2
1.2 研究意义 2
1.3 研究内容 3
1.4 论文结构 4
2 非功能测试技术介绍 5
2.1 非功能测试介绍 5
2.1.1 非功能测试的基本概念 5
2.1.2 非功能测试的主要指标 6
2.1.3 性能容量测试的主要构成 6
2.2 非功能测试技术 7
2.2.1 非功能测试基础技术 7
2.2.2 非功能测试工具 7
3 轮岗和非功能实践总结 9
3.1 轮岗实践 9
3.2 非功能测试实践 9
4 一种基于代码解析的灰盒测试辅助工具的设计与实现 12
4.1 需求分析 12
4.2 系统设计 12
4.2.1 预处理模块 13
4.2.2 交易路径提取模块 13
4.2.3 数据库操作提取模块 13
4.2.4 错误码提取模块 14
4.2.5 交易报文拼装及赋值参考模块 14
4.3 系统实现 14
4.3.1 工具整体概览 14
4.3.2 交易路径模块实现 15
4.3.3 数据库操作提取模块实现 16
4.3.4 错误码提取模块实现 17
4.3.5 报文拼装模块实现 17
4.3.6 版本对比功能实现 18
4.4 实际应用 19
5 总结与展望 20
5.1 总结 20
5.2 展望及改进建议 21

1绪论
1.1研究背景
在日常生活中,银行系统除了需要保证其功能的正常运行外,银行系统的稳定运行、可靠性等也至关重要。所以,对银行系统进行有效、充分的非功能测试是保证系统质量的重要工作之一。而传统的非功能测试往往类似于黑盒测试,测试人员对于所测系统的了解只能依靠项目组提供的相关资料,并不能深入了解系统内部实现逻辑。所以在非功能测试准备过程中,经常会遇到以下问题:在测试方案、案例的设计方面:由于项目组提供的交易路径不准确、可能造成我们选取的交易的交易路径覆盖不全,选取的典型交易不典型;在数据预埋方面:测试数据预埋工作依赖于项目组;在交易调试过程:遇到的问题太依赖于项目组,而开发人员往往由于需要解决各种问题,不能及时响应,解决效率较低。
在测试准备阶段高效、全面的了解被测系统,一方面能够保证非功能测试的执行时间的充分,另一方面能够保证非功能测试范围更全面。因此,我们需要提高测试准备阶段的效率,充分全面的了解我们的被测系统,保证非功能测试的正确性、全面性。
1.2研究意义
为了协助测试人员充分了解被测系统,提高非功能测试执行的效率,我们考虑从项目组提供的被测系统的代码中获得系统重要信息。在非功能的测试准备过程中,测试人员需要对项目组提供的交易进行脚本绿灯、数据预埋等工作。现阶段的测试过程往往是这样的:
(1)交易绿灯:根据项目组提供的版本,编写非功能测试脚本,并进行脚本绿灯,碰到交易不通,只能依赖项目组进行问题排查,效率很低;
(2)测试范围:非功能测试范围往往是根据前期在项目组调研情况决定,而在项目初期,系统的开发需求往往不明确,当时确定的范围可能在后期实际开发过程中会有很大变动,可能造成非功能覆盖的范围并不全面;
(3)数据预埋:现在的非功能测试,数据预埋往往也是依赖项目组,而项目组人员一方面比较忙,另一方面开发交易比较多,这就导致了不能及时埋数,或者埋的数据并不是有效数据,需要测试人员后期进行筛数等额外操作。
基于上述问题,根本原因在于对于所测系统的内部实现不了解。所以,本文提出设计一种基于代码解析的工具,来辅助测试人员进行测试方案和案例的设计、测试数据、交易绿灯工作的开展。通过该工具,能将传统的非功能测试由黑盒测试变为灰盒测试。本工具会提取并处理交易路径、sql语句,使得测试人员能够对所测系统有更深入的了解,保证测试范围覆盖更全面,测试更充分。还将提取代码中的错误码,帮助测试人员更好的解决交易调试中碰到的问题,提高测试准备工作的效率。
1.3研究内容
论文首先回顾了本人在进入建行北京开发中心一年来所承担的主要工作,总结了在行内和中心规章制度、非功能测试理论、非功能测试实施与分析技能等多方面的学习成果,并结合代理财政组件组装的非功能测试过程,引出本文的主要工作内容。
其次,论文简单介绍了选题背景、本文工作的可行性分析和拟采用的方法技术,接着阐述了该工具的具体实现及最终效果,最后介绍了该工具在代理财政组件组装的非功能测试过程中的使用效果,具体主要包括:
1)基于版本分析:主要包括交易路径的统计和数据库表的统计;
2)基于交易分析:主要包括单支交易的路径,交易操作的数据库表,交易对应的请求报文,以及代码中的错误码;
3) 版本比对分析:提供两个版本的深度比较,包括版本级和交易级的;
4) 介绍该工具在代理财政组件组装的非功能测试过程中所带来的便利性和高效性。
最后,结合一年的学习工作和在建行系统建设中对应用系统非功能测试的理解感悟,总结自己的不足之处以及改进措施,并致谢一年来给予我帮助的所有老师和同事。
1.4论文结构
本论文共分为五章。
第一章,绪论(即本章),介绍论文的研究背景、研究意义、研究内容以及论文的组织结构。
第二章,非功能测试技术理论综述,结合我行北开非功能测试工作介绍非功能测试的基本概念、主要指标以及需要的技术理论基础。
第三章,介绍了学员一年中参加的主要实践工作,以及学员在实践中的思考、总结和创新。
第四章,版本代码解析的代码开发,通过在开发部门轮岗期间积累的开发经验,总结了待解析版本的特征,提取代码中得关键信息,包含交易路径、sql语句等。最后介绍该辅助工具在代理财政组件组装非功能测试过程中所带来的便利性和高效性。
第五章,总结与展望。

2非功能测试技术介绍
2.1非功能测试介绍
2.1.1非功能测试的基本概念
软件测试按照测试内容的不同通常可以分为:功能测试和非功能测试。非功能测试重点是针对除了系统功能之外的其他特性,例如系统的容量、稳定性、高可用性、安全等。在我行北开非功能测试部门《非功能测试实施管理细则》中,非功能测试定义为“非功能测试工作主要是指系统性能测试、可靠性测试及其它与系统非功能性特征相关的专项测试工作” 。具体说来,包括性能容量测试、性能诊断测试、性能调优测试、性能拓展性测试、软件可靠性测试、系统容错性测试等。这些概念具体含义如下:
性能容量测试:通过测试获取应用软件系统在特定的测试环境中应用性能指标值,如最大并发用户数、联机交易处理能力、数据库记录数等。同时要保证应用系统在负载状态下没有出现任何软件故障,并保持主要功能正常运行,判定软件系统是否满足预期的性能需求。
性能诊断测试:寻找系统可能存在的性能问题,定位性能瓶颈并解决问题。
性能调优测试:通过测试验证对系统参数和配置进行调整优化后,系统性能是否有所提高。
性能拓展性测试:验证系统的性能扩展能力,找出影响扩展系统能力的要素,给出扩展系统性能的建议。
软件可靠性测试:指软件的可靠性评估,根据软件系统可靠性结构、寿命类型和各单元的可靠性试验信息,利用概率统计方法,评估出系统的可靠性特征量。
系统容错性测试:主要检查系统的容错能力,检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段。

2.1.2非功能测试的主要指标
非功能测试主要参考的指标包括:TPS、平均响应时间、并发用户数、资源利用率等。这些指标的含义如下:
TPS:Transaction Per Second,即每秒的交易量,系统每秒完成的交易数目。TPS的值直接反映了系统的处理能力。
平均响应时间:系统对请求作出响应所需要的平均时间。对于单个事务,响应时间就是完成事务所需的时间;对于用户任务,响应时间则体现为端到端的时间。
并发用户数:用虚拟用户模拟真实用户的操作行为,依靠脚本对系统进行操作访问,观察系统在不同虚拟用户数下的性能表现。测试中使用的虚拟用户数量,就是我们所说的并发用户数的概念。这种并发的概念通常在性能测试方法中使用,用于从业务的角度模拟真实的用户操作,体现的是业务并发用户数。
资源利用率:系统在负载下各项资源的使用情况,例如服务器主要看CPU使用率、内存使用率、IO读写速率等。当系统的资源利用率随着负载的增加达到了系统一定比例的使用情况,可能意味着这个资源变成了系统的性能瓶颈所在。进一步提高系统的资源量,将会提高系统的吞吐量,同时降低交易的响应时间。
2.1.3性能容量测试的主要构成
性能容量测试按照进行的先后顺序,由以下五部分构成:
单交易基准测试:针对每支选定的交易或操作,在系统无压力的情况下,单个用户迭代若干次,获取每个交易或操作的平均响应时间,以此作为多用户并发测试的基准。
单交易负载测试:在完成单交易基准测试后,针对测试模型中每一支交易或每一个操作,采用多个(5-10,视具体情况而定)虚拟用户数进行负载测试,获取其业务处理性能和系统资源利用率等数据,并验证交易是否存在并发性问题。
混合负载测试:在既定的测试模型下,在给定的测试限制条件下,通过在被测系统上逐步增加并发用户数,梯度增加压力,获得系统诸如响应时间、吞吐量、CPU和内存使用等性能数据,确定在各种工作负载下系统的性能指标,直到达到或突破限定条件,获取在不同压力下的性能表现,并获取交易的TPS、响应时间,系统资源利用率等指标数据。然后,经过测试分析获取应用系统在该测试环境下的最大处理能力。
稳定性测试:一般是根据混合场景负载测试结果,采用系容量统峰值60%-80%的压力负载,稳定运行8~12个小时(根据5*8或7*24的系统业务特征而定),检验应用系统在测试环境下的稳定运行能力,获取系统长时间运行的稳定性指标。
极限负载测试:极限负载测试是在不考虑限定条件的情况下,在一定的测试环境中,获取单交易或者混合场景在极限或苛刻的环境中系统的性能表现,关注是系统在超越极限后的表现,测试过程中不必严格按照梯度增加的方法。
2.2非功能测试技术
2.2.1非功能测试基础技术
非功能测试基础技术包括如下几个大的方面:
主机:IBM大型机、IBM+HP小型机、PC服务器、存储、负载均衡、网络设备
操作系统:AIX/HP-UNIX/Linux/Windows/SCO等
数据库:Oracle/DB2/Informix/SQL Server等
中间件:WebSphere/WebLogic/Apache/MQ/Tuxedo等
应用软件包:S1、ERPF、DW-KRM、UDI-ETL、EAI、CLPM等
其他:Cognos、Citrix、ACE、SSL、软硬件加密、Ajax等
要成为优秀的非功能测试工程师,除了非功能测试理论外,还需要了解上述技术,并选定专业方向,只有技术广度和深度相结合,才能在非功能测试领域占据一席之地。
2.2.2非功能测试工具
LoadRunner是惠普公司研发的性能测试工具,通过模拟成千上万用户实施并发负载及实时性能监测的方式来确认和查找问题,它能预测系统行为并优化系统性能。LoadRunner的测试对象是企业级的系统,它通过模拟实际用户的操作行为和实时性能监测,来帮助用户更快的查找和发现问题。LoadRunner主要包括三个组件:1)Virtual User Generator (简称VUGen);2)Controller;3)Analysis。各个组件的使用情况如下:
VuGen:用户使用VUGen录制最终用户业务流程并创建自动化性能测试脚本,VUGen支持多种协议,我行主要使用的协议有:http、socket、tuxedo、Webservice、MQ等协议。其中http、webservice协议的脚本通常采用录制实现脚本,socket、tuxedo、MQ等协议通常采用手动编写方式实现脚本。
Controller:组织、驱动、管理并监控负载测试。Controller的界面主要包括Design和Run两种。Design界面主要用来设置运行场景,场景设置包括了交易并发用户数,交易脚本占比。Run界面可以实时查看到场景运行过程中每个交易的响应时间等指标,如果被测系统产生失败/错误等异常,Run界面将捕捉并反馈这些异常。
Analysis:Analysis主要用于分析和收集测试结果。Analysis和Controller都可以看到TPS、响应时间等指标,不同点在于Controller的Run界面可以实时查看指标的瞬时值。此外Analysis组件还提供了分析报表的功能,例如用户可以查看某段时间内的数据,以及不同指标集中在一起的图示。
建行北开非功能测试团队使用LoadRunner作为测试工具,通过编写LoadRunner脚本模拟对系统业务操作,并通过执行LoadRunner场景对被测系统发起并发压力。通过分析由LoadRunner自动收集的测试指标数据,结合监控数据,对被测系统给出实际的性能评价。对非功能测试工程师来说,掌握LoadRunner脚本的开发、掌握配置LoadRunner场景完成压力发起策略、收集并分析测试结果数据等是非功能测试工程师需要具备的基础的测试工具使用技能。

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:8191040发送资料
  • 官方微信