基于依赖性分析的面向对象程序测试技术研究

来源 :中国矿业大学 | 被引量 : 0次 | 上传用户:sanxin327
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是保证软件质量的重要手段,是一项成本昂贵、耗时耗力的复杂工作。面向对象程序分为方法级、类级、类簇级和系统级四个测试级别。研究发现,方法级、类级测试(单元测试)和类簇级测试(集成测试)是软件测试中关键的研究领域。本论文分别针对类单元测试中的路径覆盖测试数据生成问题和集成测试中类测试顺序的确定问题,研究面向对象程序测试技术及应用。类中的方法与传统程序中的过程(或函数)有一定区别,因此,本论文首先对包含异常处理结构的面向对象程序进行类簇级依赖性分析,研究异常处理结构对依赖性信息所造成的影响,进而准确地分析出程序中的控制流、数据流、控制依赖、数据依赖等信息,为系统的结构测试等软件工程的任务提供准确的信息。在程序依赖性分析的基础上,提出基于条件语句相关性的不可达路径静态检测方法:首先给出基于数据流信息的条件语句相关性判定原理,再利用条件语句相关性检测程序的不可达路径。本方法的创新点在于考虑了异常处理结构和别名对数据流信息的影响。实例分析结果表明,该方法可以提高路径的可达性检测结果的精确度,为有效解决路径覆盖问题奠定了基础。在路径可达性检测的基础上,针对基于路径覆盖的测试数据生成问题,提出了多路径覆盖测试数据生成方法。该方法首先将被测程序表示成控制流图,对目标路径采用语句标号结合分支走向的方法表示成混合串;然后采用遗传算法,一次执行生成多条路径各自的测试数据,设计的适应度函数综合考虑个体穿越的路径与每个目标路径的匹配程度。实验结果表明,该方法避免了冗余测试,有效提高了测试数据生成效率。类测试顺序的确定是类簇级测试中的一个重点和难点问题。针对只考虑类间静态依赖关系的情况下集成测试中的类测试序生成问题,以要被创建的测试桩的总体复杂度作为问题的优化目标,提出一种基于耦合度量的类间集成测试顺序的确定方法。该方法将类间耦合度量与基于图的启发式算法相结合,其中,前者用于度量每一个测试桩的复杂度,后者用于在保证测试桩总体复杂度尽可能小的条件下打破环路。首先提出一种度量中使用的耦合权重的计算方法,对测试桩的复杂度进行新的耦合度量;然后提出一种用于打破环路的基于图的启发式算法。实验结果表明,较现有方法相比,总体复杂度有明显的降低,节约了测试成本。在类间静态依赖关系构成环路的情况下,考虑面向对象中动态绑定特性以及抽象类不可实例化等特点,以被创建的测试桩的总个数作为问题的优化目标,提出一种基于测试级的类测试顺序确定方法。首先分析类之间的静态依赖和动态依赖关系;然后提出边的删除规则以及消除由静态依赖关系和动态依赖关系形成的环路的算法,在消除环路过程中保证测试桩的数目尽可能少;在此基础上进一步提出测试顺序分配策略和算法,进而确定基于测试级的类测试序列;但是,抽象类不可实例化的特点使得一些测试级不可行,因此,我们对其做了进一步调整,得到所有可行的测试级。实验结果表明,该方法较其它方法相比,需要较少的测试桩。本研究提高了测试数据的生成效率,并实现了自动生成类测试顺序的目标,一定程度上丰富了软件测试理论,具有重要理论意义和实际应用价值。
其他文献
院文章主要对现阶段建筑工程监理工作存在的问题进行了分析,并提出了相应的解决方案,包括加强监理工作标准化;重视工程施工技术监理;加强监理部门内部建设;把控工程进度;提高
<正>一、台湾民众"国家认同"的历史脉络梳理及现状关于"国家认同"的定义学术界多有争论。萧高彦将"国家认同"界定为:"公民对其所属政治共同体主动的认同,由之产生的凝聚情感
一个国际物理学家团队在最新一期《科学进展》杂志撰文称,他们研制出一款新的雷达原型,该原型使用量子纠缠探测目标,有望对生物医学和安全行业产生重大影响。  这款原型设备由来自奥地利、美国和意大利的研究人员携手开发,也被称为量子雷达,使用了名为“微波量子照明”的新型探測技术,该技术利用纠缠的微波光子作为探测方法。这款设备能在嘈杂的热环境中探测物体,而传统雷达系统身处此类环境经常会发生故障,因此有望广泛应
2017年甘肃高台县祁连葡萄庄园引进红芭拉多、巨玫瑰等8个鲜食葡萄新品种,通过对各品种苗木成活率、生长势、果实经济性状等观测,进行综合性状评价,红芭拉多、黑芭拉多、妮娜
<正> 单位是时间艺术,建筑是空间艺术。音乐能在时间中展示空间,建筑在空间中体现时间。 当你聆听贝多芬交响曲的时候,音乐主题的戏剧性展开,多层音响的结构组合,可以借着通