学位论文 > 优秀研究生学位论文题录展示
基于面向对象形式规格说明的测试用例生成技术
作 者: 刘玲
导 师: 缪淮扣
学 校: 上海大学
专 业: 控制理论与控制工程
关键词: 基于规格说明的软件测试 测试准则 测试框架 面向对象测试 测试用例生成
分类号: TP311.5
类 型: 博士论文
年 份: 2004年
下 载: 620次
引 用: 9次
阅 读: 论文下载
内容摘要
随着信息技术的发展,软件的规模不断扩大,如何保证和提高软件质量成为软件界最为关心的问题之一。软件测试作为保证软件质量的关键技术之一,能够有效地发现软件中的故障。据统计,在软件开发成本中,软件测试的工作量往往占软件开发总工作量的40%以上。对于某些安全关键的软件,其测试费用甚至高达所有其它软件工程阶段费用总和的三到五倍。因而,提高软件测试的有效性和测试效率、降低软件开发成本已成为软件工程师迫切需要解决的任务之一。 软件测试的核心问题是测试用例的产生。根据测试用例产生的依据可以将软件测试分为基于程序代码的测试和基于规格说明的测试两大类。基于程序代码的测试是指测试者根据程序的内部结构和与路径相关的数据特性设计测试用例。基于规格说明的测试是指测试者不需了解程序的内部结构,直接根据程序的需求规格说明来确定测试用例,推断测试结果的正确性。这种测试可以验证程序实现是否符合系统需求,从而实现软件测试的目的。同时,由于测试用例的开发是以系统规格说明为依据,测试用例的设计过程可以和程序开发过程同时进行,缩短了软件开发周期,提高了软件开发的效率。 形式化的软件规格说明具有精确的符号表示和清晰的语义,能够进行推理和证明,同时也便于工具的处理。因此,用形式化的规格说明作为测试用例的来源将会使得测试用例的自动构造成为可能。但目前基于形式规格说明构造测试用例的研究主要集中在利用黑盒测试准则(如:范畴划分测试准则,基于状态图的测试准则)从不同形式的规格说明(如:Z模式、UML状态图)中构造测试用例。但是对于基于模型的面向对象形式规格说明(如:Obiect-Z、VDM++规格说明)应用这些构造测试用例的技术非常困难。因为,这些基于模型的面向对象规格说明没有提供状态图,也很难将范畴划分测试准则应用到这些规格说明中用于定义输入空间的复杂谓词上。 本文提出了一系列用于从基于模型的面向对象形式规格说明推导测试用例的方法和技术。这些方法和技术分别探讨了在类测试层次以及类问测试层次上如何从基于模型的形式规格说明构造测试用例。在类测试层次上,本文定义了一个公理化系统对现有的可应用于方法内测试的逻辑覆盖准则进行评估,为测试人员从这组准则中选择某个准则提供了依据。此外,在这一层次的测试过程中,本文还提出了一组用于产生测试类的方法间交互的类内部测试准则。这组准则利用方法内测试用例来构造类内部测试用例,避免了以往的研究中采用基于状态图的测试准则构造测试用例时需要的抽取类的状态图的工作,使得机械化地构造类测试用例成为可能。在类间测试层次,本文给出了一系列用于测试类间的多态关系的上海大学工学博士学位论文测试准则,改变了以往对多态关系的测试主要集中于基于程序代码的方法。应用本文提出的这些用于测试类间多态关系的测试准则,测试人员可以从形式规格说明中推导出用于测试多态对象的测试用例,这些测试用例可以最终检测出程序代码中的多态关系的实现与规格说明中的定义是否一致。 除了给出若干个用于从基于模型的面向对象形式规格说明构造测试用例的测试准则之外,本文还提出了一个用于描述这种测试用例推导过程的测试框架。我们用形式规格说明语言objeet-Z来定义本文提出的测试框架。这样,测试框架的描述与规格说明的描述所采用的形式规格说明语言一致,从而避免了用另一种描述语言给读者带来的额外负担。本文对测试框架的阐述包括两个部分。第一部分是类测试框架。它用来描述类测试用例的推导过程,其中包括方法内测试用例、类内部测试用例、方法内测试用例的产生过程以及类内部测试用例推导过程的定义。第二部分包括如何利用类层次结构在子类中重用父类的类测试框架。利用本文提出的这个测试框架,测试用例生成系统在构造测试用例的同时可以自动记录测试用例生成过程,从而为测试用例的管理和追踪提供了方便。 最后,本文给出了一种应用求解线性规划和非线性不等式组对测试测试规格说明中定义的测试输入进行求解得到可以运行的具体的测试数据的方法,并且介绍一个实现了上述提出的测试技术的系统原型。
|
全文目录
摘要 6-8 ABSTRACT 8-10 目录 10-13 第一章 绪论 13-24 1.1 软件测试概述 13-14 1.2 测试充分性准则 14-16 1.3 基于规格说明的软件测试 16-18 1.3.1 形式方法和形式规格说明 16-17 1.3.2 基于模型规格说明的软件测试 17 1.3.3 基于代数规格说明的软件测试 17-18 1.3.4 基于有限状态机的测试 18 1.4 面向对象的软件测试 18-23 1.4.1 面向对象测试面临的主要问题及相关的工作 19-22 1.4.2 基于规格说明的面向对象软件测试 22-23 1.5 相关术语 23 1.6 论文大纲 23-24 第二章 对逻辑覆盖准则的公理化评估 24-37 2.1 逻辑覆盖准则 25-29 2.1.1 谓词覆盖和文字覆盖 26-27 2.1.2 活动文字覆盖 27-29 2.2 逻辑覆盖准则的公理系统 29-33 2.2.1 有限可应用性、单调性和空集不充分性 29-30 2.2.2 最小固定尺寸性质 30-31 2.2.3 充分测试集的完全性 31-32 2.2.4 代表性 32-33 2.2.5 相关性 33 2.3 评估 33-36 2.3.1 有限可应用性、空集不充分性和单调性 34 2.3.2 最小固定尺寸性质 34-35 2.3.3 完全性 35 2.3.4 代表性 35 2.3.5 相关性 35-36 2.4 小结 36-37 第三章 基于形式规格说明的类测试准则 37-52 3.1 类内部测试准则 37-45 3.1.1 全测试覆盖 40 3.1.2 全无环有效序列覆盖 40-43 3.1.3 最大无环有效序列覆盖 43-44 3.1.4 类内部测试准则之间的包含关系 44-45 3.2 实例研究 45-48 3.2.1 Object-Z类规格说明 45-47 3.2.2 测试用例生成 47-48 3.3 测试结果和分析 48-51 3.3.1 构造基于状态图的测试用例 48-49 3.3.2 评估 49-51 3.4 小结 51-52 第四章 基于形式规格说明的测试类框架 52-65 4.1 测试类框架 53-59 4.1.1 构造测试用例的方法 53-56 4.1.2 描述测试用例产生的过程 56-59 4.2 实例研究 59-64 4.3 小结 64-65 第五章 基于形式规格说明的多态关系的测试 65-82 5.1 基于规格说明的多态测试准则 66-78 5.1.1 测试操作中的多态对象 66-71 5.1.2 测试类中的多态对象 71-78 5.2 实例分析 78-81 5.3 小结 81-82 第六章 测试类框架的继承扩充 82-96 6.1 继承和OBJECT-Z 83-87 6.1.1 实例 83-85 6.1.2 Object-Z中的继承语义 85-87 6.2 子类测试框架的推导 87-95 6.2.1 方法内测试过程框架的重用 87-93 6.2.2 类内部测试框架的重用 93-95 6.3 小结 95-96 第七章 从测试用例规格说明到测试数据生成 96-104 7.1 线性规划 96-97 7.2 求解非线性不等式的策略 97-103 7.3 小结 103-104 第八章 系统的实现 104-113 8.1 系统的总体框架 104-105 8.2 用例的实现 105-112 8.2.1 Obiect-Z编辑器 105-107 8.2.2 语法分析器的设计与实现 107-108 8.2.3 方法内测试用例生成模块的设计和实现 108-110 8.2.4 测试用例具体化模块的设计和实现 110-112 8.2.5 类内部测试用例生成模块的设计与实现 112 8.3 小结 112-113 第九章 结束语 113-116 9.1 本文主要贡献 113-114 9.2 将来的工作 114-116 参考文献 116-119 附录一 VENDINGMACHINE的方法内测试用例 119-121 附录二 VENDINGMACHINE的类内部测试用例 121-124 附录三 类VENDINGMACHINE的代码 124-127 附录四 TETRIS系统的实现代码 127-148 作者在攻读博士学位期间发表和录用的论文 148 作者在攻读博士期间参与的科研项目及获奖情况 148-149 致谢 149
|
相似论文
- 基于分布式环境压力测试问题的研究,TP311.52
- RFID标签应用性能评估研究,TP391.44
- 一种基于面向对象技术的自动化测试平台的设计与实现,TP311.52
- 基于UML状态图的软件测试用例生成方法研究,TP311.52
- 基于UML状态图的测试生成研究,TP311.52
- DCCMeter功能测试系统设计与实现,TP311.52
- 基于遗传蚂蚁融合算法的测试用例生成研究,TP311.52
- 面向对象类级测试用例生成的一种辅助工具的研究与实现,TP311.52
- 用于面向对象类级测试的范式生成半自动化工具的研究,TP311.52
- 面向对象类级非等价对测试原型系统的设计与实现,TP311.53
- 现代测试系统模型及体系结构研究,TP274
- 基于扩充的UML状态图的类测试方法研究,TP311.52
- 基于混合试策略的面向对象程序测试用例生成研究,TP311.52
- 基于UML的组件测试技术研究,TP311.52
- 软件自动化测试框架的研究与应用,TP311.52
- 不变量指导下的测试用例自动化生成技术研究,TP311.52
- 基于关键字驱动的Web服务自动化测试的研究与应用,TP393.09
- 基于WEB的饮水安全信息管理系统开发,TP311.52
- 基于遗传算法的构件化软件测试用例生成研究,TP311.52
- 测试用例自动生成系统研究与实现,TP311.52
- 软件自动化测试系统的研究与实现,TP311.52
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程
© 2012 www.xueweilunwen.com
|