面向软件网络模型的复杂软件系统测试框架和技术研究

基本信息
批准号:61373012
项目类别:面上项目
资助金额:73.00
负责人:顾庆
学科分类:
依托单位:南京大学
批准年份:2013
结题年份:2017
起止时间:2014-01-01 - 2017-12-31
项目状态: 已结题
项目参与者:夏耐,汤九斌,李孔文,李敏,丁珂,蒋智威,张鑫博
关键词:
软件测试测试用例生成软件测试框架复杂软件系统软件网络模型
结项摘要

In order to test complex software systems both effectively and efficiently, this project studies the testing framework, methods and technologies for complex software systems, based on the software network models. The testing framework takes a feedback based iterative structure, making use of the code-driven testing frameworks; and organizes in stage the following research contents. Firstly we define the software network models for a complex software system, including code unit (or module) determination, program structure analysis, and software network construction. Secondly we detect the set of influential nodes in the software network, taking into consideration both the code measures and the historical developing data. Thirdly, taking the detected influential nodes and the corresponding code units as the testing targets, we define test coverage criteria and generate test cases accordingly based on the software network models. Finally, the generated test cases are executed automatically, and test results of which are evaluated based on the recorded code coverage data. Taking it further, the test result evaluation will be used to guide the test case generation of the next iteration. The research objectives are to promote both the reusability and the fault detection ability of the generated test cases, so that the number of test cases required is reduced, and the target complex software system can be tested both sufficiently and in short duration.

为完成复杂软件系统的有效测试,本项目研究基于软件网络模型的复杂软件系统测试框架、方法和技术。测试框架采用反馈式迭代结构,运用代码驱动测试框架,分阶段组织研究内容。首先为复杂软件系统定义软件网络模型,选定代码单元(模块)并解析代码结构,构建软件网络;其次结合软件代码指标和历史开发数据,从软件网络中确定关键节点集合;再次以关键节点对应的代码单元作为测试对象,基于软件网络模型定义测试覆盖准则,生成测试用例;最后执行测试用例,结合软件代码覆盖数据等评价测试效果;指导下一轮迭代的测试用例生成。目标是提高测试用例的复用率和缺陷检测几率,以较少的测试用例数量更快更充分地完成复杂软件系统测试。

项目摘要

复杂软件系统的充分测试是工业界的一个难题,同时学术界的研究热点之一。本项目围绕复杂软件系统的充分测试问题,提出代码驱动测试框架。框架采用反馈式迭代结构,提高测试用例的复用率和缺陷检测概率,以较少的测试用例数量更快更充分地完成复杂软件系统测试。项目研究内容包括四个部分:其一软件网络分析,解析复杂软件系统的模块结构和演化过程,评估软件网络中关键节点集的影响范围;其二测试用例生成,在复杂系统中自动选择关键测试目标,结合随机测试和符号执行技术生成测试用例,完成测试目标的输入覆盖和路径覆盖;其三程序阅读难度评估,完成文档特征的自动提取和多视图学习,通过词嵌入训练和面向阅读难度的神经网络语言模型构建,评估软件代码和缺陷报告的阅读难度;其四缺陷预测和分析,从机器学习和软件工程两个角度,优化软件特征集,降低模块特征之间的冗余性,筛选与缺陷分析无关的模块特征,训练和优化分类器,评估软件模块包含缺陷的可能性,以作为模块覆盖的依据和测试充分性评价依据。复杂软件系统规模大且结构复杂,组件数量多且各自独立演化;完成对复杂软件系统的充分测试是一个非常困难的任务。本项目提出软件网络模型描述复杂软件系统,在此基础上研究复杂软件系统的测试框架、方法和技术,实现工具原型,在复杂软件开发实践中得以应用,可涵盖软件系统测试和质量保障的各个阶段。在软件企业的实际应用结果表明,本项目研究内容具有先进性和实用性,便于结合其他的测试方法和技术,例如缺陷定位、演化测试、人员推荐等。本项目值得进一步完成理论研究、技术应用和实践推广,具有较大的科学探索价值和应用推广前景。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

基于分形L系统的水稻根系建模方法研究

基于分形L系统的水稻根系建模方法研究

DOI:10.13836/j.jjau.2020047
发表时间:2020
2

跨社交网络用户对齐技术综述

跨社交网络用户对齐技术综述

DOI:10.12198/j.issn.1673 − 159X.3895
发表时间:2021
3

粗颗粒土的静止土压力系数非线性分析与计算方法

粗颗粒土的静止土压力系数非线性分析与计算方法

DOI:10.16285/j.rsm.2019.1280
发表时间:2019
4

拥堵路网交通流均衡分配模型

拥堵路网交通流均衡分配模型

DOI:10.11918/j.issn.0367-6234.201804030
发表时间:2019
5

中国参与全球价值链的环境效应分析

中国参与全球价值链的环境效应分析

DOI:10.12062/cpre.20181019
发表时间:2019

相似国自然基金

1

面向软件可信性演进的软件测试技术研究

批准号:90818027
批准年份:2008
负责人:徐宝文
学科分类:F0203
资助金额:260.00
项目类别:重大研究计划
2

面向方面软件的测试技术研究

批准号:60673120
批准年份:2006
负责人:赵建军
学科分类:F0203
资助金额:26.00
项目类别:面上项目
3

面向SOA软件的蜕变测试技术研究

批准号:61370061
批准年份:2013
负责人:孙昌爱
学科分类:F0203
资助金额:75.00
项目类别:面上项目
4

面向服务在线协同软件测试技术研究

批准号:60603035
批准年份:2006
负责人:白晓颖
学科分类:F0203
资助金额:27.00
项目类别:青年科学基金项目