软件测试和调试过程中的测试用例演化技术研究

基本信息
批准号:61202006
项目类别:青年科学基金项目
资助金额:24.00
负责人:陈翔
学科分类:
依托单位:南通大学
批准年份:2012
结题年份:2015
起止时间:2013-01-01 - 2015-12-31
项目状态: 已结题
项目参与者:徐慧,程显毅,顾卫江,曹小峰,顾颀,鞠小林,张晓峰,朱燕琼,万召文
关键词:
软件测试软件调试测试用例演化缺陷定位回归测试
结项摘要

Test case evolution is an important part of software testing and debugging during software evolution. To research the test case evolution techniques during software testing phase, we firstly want to research on software modeling techniques, which are based on source code and related artifacts, supporting test case high-quality evolution for large-scale applications. Then we conduct dependence analysis hierarchically and therefore design a change-aware coverage criterion. Secondly we want to propose test suite optimization techniques based on multi-objective optimization and expert knowledge. Thirdly we want to propose a test suite augmentation approach integrating evolutionary testing and dynamic symbolic execution and then use mutation testing analysis to evaluate and improve the change-aware test adequacy of the evolved test suite. Finally we want to design a uniform cost-benefit model to analyze the cost-benefit of our proposed solutions. To research on test case evolution techniques during software debugging phase, we want to reduce the program statements needed to be inspected by change impact analysis and dynamic program slicing. In addition, we want to design test case evolution techniques to improve the effectiveness of the fault localization. The objective of this application is to develop a set of eclipse plugins base on the above solutions and eventually improve the effectiveness of software testing and debugging by integrating these plugins and the integrated development environment of developers.

测试用例演化是软件演化过程中辅助软件测试和软件调试的重要环节。在面向软件测试过程中的测试用例演化技术研究中,首先针对源代码和相关制品,研究支持测试用例高质量演化的面向大型应用程序的建模技术,同时基于分层思想进行依赖性分析并设计基于代码修改的测试覆盖准则,其次研究基于多目标优化和融合专家知识的测试用例优化技术。然后研究融合演化测试和动态符号执行的测试用例集扩充技术,并借助变异测试分析来评估并提高测试用例集对代码修改的测试充分性。最后设计通用成本收益模型对上述研究成果进行成本收益分析。在面向软件调试过程中的测试用例演化技术研究中,通过代码修改影响分析和动态程序切片技术来缩减需要审查的程序语句集,同时以提高缺陷定位效果为优化目标来设计测试用例演化技术。最终基于上述解决方案开发出一系列Eclipse插件,完成与开发人员集成开发环境的有效整合从而提高软件测试和调试的效率。

项目摘要

以高质量测试用例集演化为切入点,通过深入挖掘和分析软件历史仓库、配套测试用例集和项目源代码,对软件测试和调试过程中的重要问题展开了一系列深入研究。具体来说:(1)通过对软件缺陷预测问题的研究,有助于更为精准的预先识别出项目内的缺陷程序模块,从而指导测试用例集演化,以确保对这些程序模块的充分测试。在项目的执行期间,课题组对缺陷预测数据集中的特征选择、类不平衡问题以及噪音问题等进行了深入研究,首先提出了一种基于聚类分析的特征选择框架FECAR,可以有效识别并移除数据集中的无关特征和冗余特征。随后提出一种两阶段数据预处理方法可以进一步缓解数据集内存在的类不平衡问题。最后设计出一种可容忍噪声的特征选择框架。基于Eclipse和NASA等实际项目的实证研究验证了上述方法的有效性,并对方法的使用提供了一系列使用指南。(2)已有研究表明,通过搜集高质量测试用例的程序频谱和执行结果,可以提高缺陷定位的效果。即有助于开发人员减少需要审查的代码量,以确保可以及时找到缺陷语句并进行缺陷修复。在项目的执行期间,课题组从程序频谱构造方式和缺陷数量这两个影响因素入手,展开了深入的研究。具体来说,首先基于程序切片提出了HSFal方法,通过计算全切片和执行切片并构造混合切片谱以提高缺陷定位效率,并对构建混合切片谱的切片选择策略和怀疑论计算公式的选择进行了深入分析。随后针对被测程序内可能存在多个缺陷的问题,提出一种基于遗传算法的多缺陷定位方法框架GAMFal。最后提出了一种基于程序谱概念格的软件缺陷定位方法和基于多变量Logistic模型的缺陷定位方法。基于大规模程序的实证研究验证了上述缺陷定位方法的有效性。(3)为提高回归测试中的缺陷检测效率,课题组从分析代码修改角度入手,提出了合理的测试用例演化框架,从而可以针对修改后的程序生成高质量的测试用例集。该框架包括如下测试用例维护行为:无效测试用例的识别、测试用例选择、测试用例修复、测试用例集扩充、测试用例集缩减和测试用例优先级排序。除此之外,课题组认为代码修改的特征与测试用例的缺陷检查概率存在一定的相关性,因此提出一种基于分类方法的测试用例优先级排序方法并对其有效性进行了验证。针对上述这三个问题的深入研究以及期间取得的研究成果,有助于测试部门合理分配测试资源,并最终提高软件产品的质量,因此具有一定的理论意义和实践价值。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

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

暂无此项成果

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

其他相关文献

1

演化经济地理学视角下的产业结构演替与分叉研究评述

演化经济地理学视角下的产业结构演替与分叉研究评述

DOI:10.15957/j.cnki.jjdl.2016.12.031
发表时间:2016
2

基于LASSO-SVMR模型城市生活需水量的预测

基于LASSO-SVMR模型城市生活需水量的预测

DOI:10.19679/j.cnki.cjjsjj.2019.0538
发表时间:2019
3

青藏高原狮泉河-拉果错-永珠-嘉黎蛇绿混杂岩带时空结构与构造演化

青藏高原狮泉河-拉果错-永珠-嘉黎蛇绿混杂岩带时空结构与构造演化

DOI:10.3799/dqkx.2020.083
发表时间:2020
4

面向工件表面缺陷的无监督域适应方法

面向工件表面缺陷的无监督域适应方法

DOI:
发表时间:2021
5

夏季极端日温作用下无砟轨道板端上拱变形演化

夏季极端日温作用下无砟轨道板端上拱变形演化

DOI:10.11817/j.issn.1672-7207.2022.02.023
发表时间:2022

陈翔的其他基金

批准号:81071290
批准年份:2010
资助金额:36.00
项目类别:面上项目
批准号:30200248
批准年份:2002
资助金额:22.00
项目类别:青年科学基金项目
批准号:81430075
批准年份:2014
资助金额:320.00
项目类别:重点项目
批准号:71102111
批准年份:2011
资助金额:22.00
项目类别:青年科学基金项目
批准号:30571682
批准年份:2005
资助金额:26.00
项目类别:面上项目
批准号:30872267
批准年份:2008
资助金额:33.00
项目类别:面上项目
批准号:31160037
批准年份:2011
资助金额:50.00
项目类别:地区科学基金项目
批准号:81202119
批准年份:2012
资助金额:23.00
项目类别:青年科学基金项目
批准号:61772024
批准年份:2017
资助金额:49.00
项目类别:面上项目
批准号:61040007
批准年份:2010
资助金额:10.00
项目类别:专项基金项目
批准号:61901359
批准年份:2019
资助金额:25.50
项目类别:青年科学基金项目
批准号:61501527
批准年份:2015
资助金额:21.00
项目类别:青年科学基金项目
批准号:30040028
批准年份:2000
资助金额:5.00
项目类别:专项基金项目
批准号:11802047
批准年份:2018
资助金额:27.00
项目类别:青年科学基金项目
批准号:20905047
批准年份:2009
资助金额:19.00
项目类别:青年科学基金项目
批准号:81601371
批准年份:2016
资助金额:14.00
项目类别:青年科学基金项目
批准号:81571761
批准年份:2015
资助金额:25.00
项目类别:面上项目
批准号:61303136
批准年份:2013
资助金额:22.00
项目类别:青年科学基金项目

相似国自然基金

1

Web应用软件安全测试用例集Memetic演化生成方法研究

批准号:61672085
批准年份:2016
负责人:赵瑞莲
学科分类:F0201
资助金额:62.00
项目类别:面上项目
2

基于软件行为聚类分析的测试用例选择技术

批准号:61003024
批准年份:2010
负责人:赵志宏
学科分类:F0203
资助金额:19.00
项目类别:青年科学基金项目
3

组合测试用例的生成及演化技术

批准号:61300054
批准年份:2013
负责人:王子元
学科分类:F0203
资助金额:23.00
项目类别:青年科学基金项目
4

基于软件网络的回归测试用例排序方法研究

批准号:61202048
批准年份:2012
负责人:潘伟丰
学科分类:F0203
资助金额:21.00
项目类别:青年科学基金项目