分布式软件性能测试工具设计及其关键模块的实现

分布式软件性能测试工具设计及其关键模块的实现

论文摘要

当今软件规模和复杂度急剧增加,手工的软件测试越来越不能满足软件测试需求,促使人们开发测试工具,实现测试自动化。随着网络在应用中的地位越来越重要,分布式结构能更好地整合网络功能,所以分布式系统被日益广泛地使用。国内在测试工具方面相关的研究工作已经展开,但针对分布式软件的测试工具仍然有待进一步实现和增强。本文在分布式软件性能测试工具设计和实现方面进行探讨。论述了分布式软件性能测试的概念。通过分析分布式软件性能测试工具的测试流程确定其系统模块构成和关系,设计出系统总体框架。结合分布式结构的特点,提出了把测试工具设计成总的测试控制台加分布于多台机器上的测试代理的结构。重点讨论了其中测试用例生成模块、脚本生成模块、测试执行和测试结果处理模块的实现。为了利用测试管理工具中对软件建模的UML图,尝试在测试工具中引入由UML顺序图生成测试用例的功能。从Rational Rose的MDL文件中解析出顺序图用XML格式表示,然后从XML格式文件中分析出测试用例。测试开发模块是测试工具中最关键的模块,通过运行被测试程序把被测试程序调用的API记录下来,经过处理形成脚本,这样就记录程序的行为,测试过程中运行脚本便可以模拟程序行为。记录测试程序的API要利用windows API钩子技术,测试工具进程通过安装钩子用代理函数地址把被测试程序中导入地址表中加载的动态链接库函数地址替换掉,这样程序中调用函数的时候转到代理函数地址调用代理函数而不是调用原函数,代理函数具有记录API的功能和调用原函数功能。记录下来的API要经过API封装和代码封装,形成高级语言的脚本文件。接着对脚本进行定制,在其中添加辅助测试的语句,还可以对脚本某些字段参数化,脚本运行的时候用参数文件中的对应值替换脚本的参数。参数文件可以手工建立,也可借助上述生成的测试用例生成。最后把脚本编译成动态链接库形式。在测试执行模块中,提出一种分层的结构,把测试脚本、性能计数器和调度参数组织成测试单位的方案。测试控制台配置好测试并下发到测试代理后,以虚用户为单位调度测试执行。脚本和性能计数器以并发线程方式运行便于收集性能指标。测试结果处理模块以文件上传和整合的方法得出系统总体性能指标。测试结果以图表等友好方式反馈给用户。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 问题提出
  • 1.2 研究内容
  • 第二章 分布式软件性能测试技术
  • 2.1 软件测试分类
  • 2.1.1 白盒测试和黑盒测试
  • 2.1.2 单元测试、集成测试和系统测试
  • 2.1.3 性能测试和功能测试
  • 2.2 分布式软件性能测试
  • 2.2.1 分布式结构
  • 2.2.2 分布式软件性能测试及其测试工具
  • 第三章 分布式软件性能测试工具设计
  • 3.1 软件测试自动化
  • 3.2 测试工具工作流程
  • 3.3 测试工具框架设计
  • 3.4 测试工具部署环境
  • 第四章 测试用例生成模块
  • 4.1 基于UML对配置项建模
  • 4.2 UML顺序图的解析
  • 4.2.1 MDL文件格式
  • 4.2.2 MDL文件解析
  • 4.3 用XML表示顺序图
  • 4.3.1 XML技术
  • 4.3.2 XML顺序图表示格式定义
  • 4.4 测试用例的提取
  • 4.4.1 顺序图中消息的提取
  • 4.4.2 测试用例生成
  • 第五章 脚本生成模块
  • 5.1 脚本录制子模块
  • 5.1.1 脚本录制原理
  • 5.1.2 建立动态链接库
  • 5.1.3 安装进程钩子
  • 5.1.4 动态连接库初始化
  • 5.1.5 修改IAT表
  • 5.1.6 捕获程序API
  • 5.2 脚本转换子模块
  • 5.2.1 封装API
  • 5.2.2 封装脚本代码
  • 5.3 脚本定制子模块
  • 5.3.1 设置检查点
  • 5.3.2 脚本参数化
  • 5.4 脚本编译子模块
  • 第六章 测试执行模块及结果处理模块
  • 6.1 测试执行模块
  • 6.1.1 测试配置
  • 6.1.2 测试调度和执行
  • 6.1.3 性能数据收集
  • 6.2 测试结果处理模块
  • 工作总结和展望
  • 工作总结
  • 工作展望
  • 致谢
  • 参考文献
  • 攻读硕士学位期间发表的论文
  • 相关论文文献

    • [1].外刊精要[J]. 项目管理评论 2020(01)
    • [2].云环境下基于统计监测的分布式软件系统故障检测技术研究[J]. 计算机学报 2017(02)
    • [3].分布式软件技术及其应用研究[J]. 无线互联科技 2012(12)
    • [4].一种分布式软件系统可靠性加强模块设计[J]. 电脑知识与技术 2019(20)
    • [5].监控使能的分布式软件系统构造方法[J]. 软件学报 2011(11)
    • [6].分级分布式软件系统可靠性评估算法[J]. 无线电通信技术 2010(03)
    • [7].面向通信协议故障的分布式软件可靠性测试技术研究[J]. 计算机科学 2012(07)
    • [8].基于云环境的分布式软件接口自动化测试[J]. 计算机测量与控制 2015(07)
    • [9].分布式追踪技术综述[J]. 软件学报 2020(07)
    • [10].探究现代分布式软件工程架构[J]. 信息技术与信息化 2017(06)
    • [11].分布式软件系统交互行为建模、验证与测试[J]. 计算机研究与发展 2015(07)
    • [12].面向云计算环境的分布式软件部署算法[J]. 微型电脑应用 2012(12)
    • [13].一种分布式软件运行时监控机制[J]. 计算机与数字工程 2008(11)
    • [14].Web服务面临的主要安全威胁[J]. 东方企业文化 2010(03)
    • [15].现代分布式软件工程架构分析与探讨[J]. 信息技术与信息化 2014(11)
    • [16].面向大型分布式软件项目的敏捷开发模型研究[J]. 办公自动化 2011(14)
    • [17].基于SOAP的分布式软件设计[J]. 指挥信息系统与技术 2014(01)
    • [18].基于XML的模块化分布式软件系统架构设计[J]. 国外电子测量技术 2014(07)
    • [19].几种分布式软件体系结构的可重用性比较[J]. 现代计算机(专业版) 2010(01)
    • [20].一种基于Internet的分布式软件生产线框架[J]. 计算机科学 2010(04)
    • [21].分布式软件开发与系统集成平台的研究[J]. 物联网技术 2020(06)
    • [22].基于代码下移的分布式软件框架[J]. 计算机工程 2010(18)
    • [23].分布式软件调试中调试信息界面展示技术[J]. 航空计算技术 2010(05)
    • [24]..NET分布式软件体系结构的设计应用[J]. 无线互联科技 2018(06)
    • [25].基于.NET的分布式软件体系结构设计与实现[J]. 电子设计工程 2017(16)
    • [26].基于元胞自动机的分布式软件定义无线传感器网络路由节能技术研究[J]. 无线互联科技 2019(19)
    • [27].基于贝叶斯网的分布式软件行为运行时可信性分析[J]. 小型微型计算机系统 2012(03)
    • [28].基于Apache ZooKeeper和ActiveMQ的分布式软件测试方法[J]. 现代计算机(专业版) 2016(36)
    • [29].面向对象分布式软件可靠性评估模型研究[J]. 计算机应用 2008(S2)
    • [30].基于功能对象的测控装备监控软件设计与实现[J]. 数字技术与应用 2017(01)

    标签:;  ;  ;  ;  

    分布式软件性能测试工具设计及其关键模块的实现
    下载Doc文档

    猜你喜欢