首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--计算机软件论文--程序设计、软件工程论文--软件工程论文

基于粒子群算法的测试数据自动生成方法研究

【摘要】:随着计算机技术的飞速发展,计算机系统的复杂程度和规模显著提升,其相关软件开发成本和软件故障引起的财产损失也呈递增趋势,从而导致人们高度重视软件质量。目前,软件测试已经是作为检验以及保障软件质量的主要方式,其重要性也日益凸显。根据Boehm统计数据,软件测试的费用占软件总开发成本的30%~50%[1],可见软件测试是软件开发项目当中至关重要的一个环节。在软件测试中,按照分类标准的不同可以划分为多种不同的类别。软件测试根据程序是否执行,可划分为动态测试和静态测试。其中,动态测试是在程序运行状态下,通过输入测试数据,然后判断输出结果是否符合预期的测试方法。静态测试是在程序不执行的状态下,静态检测软件界面、文档和代码是否存在错误的测试方法。根据是否采用测试工具将软件测试划分为自动测试和手工测试两种。自动测试主要是借助专业的自动化测试工具,并通过加载测试数据的文件和测试脚本来测试目标程序,得出测试报告。手工测试是一种不借助专业化测试工具,借助手动安装与运行待测程序,同时根据软件测试要求输入测试数据,然后判断软件输出结果是否正确。综上所述,测试数据的生成是软件测试中重要的一部分。实现测试数据的自动生成可以显著减少软件测试工程师的工作量,一定程度上压缩开发成本。近几年,人们将人工智能技术运用到测试数据自动生成领域,并获得了显著的研究成果。测试数据自动生成的基本原理是在程序运行状态下,随机输入数据,然后基于输出结果,采用核心优化算法“进化”出新的输入数据,开展新一轮的试探,最后得出正确的数据,此方法叫做试探法。目前,测试数据自动生成过程中采用的核心优化算法主要是基本遗传算法或改进遗传算法。本文的主要工作如下:第一,研究了粒子群优化算法。系统研究了启发式搜索算法在测试数据生成中的应用,总结了遗传算法、模拟退火算法、粒子群算法的优缺点。第二,提出粒子群优化算法结合状态图的一种测试数据生成方法。该方法不仅考虑了输入数据的类型、范围,还利用状态图的特点考虑了输入数据之间的先后、因果关系,而且利用了粒子群算法的特点,在多分支路径时模拟了用户选择,按照成功路径的出现的频数生成测试数据。第三,设计实现了测试数据自动生成系统。基于上文描述的重要算法和技术,设计测试数据自动生成系统,使用Web技术为基础来实现该系统,利用Jsp技术实现该系统的界面层,利用servlet实现用户交互的逻辑控制以及数据传输,利用Java语言实现算法设计,生成的数据存储到My SQL中。
【关键词】:软件测试 PSO算法 测试数据自动生成
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP311.53;TP18
论文共67页,点击 下载论文
上一篇:基于红外探测器的无人机地基视觉引导着陆关键技术研究
下一篇:基于线性回归分析的软件功能规模快速估算方法的研究与应用