论文部分内容阅读
从90年代开始,软件体系结构(Software Architecture,SA)技术受到了研究界和工业界的普遍重视并开始得到应用。软件体系结构的设计对于整个软件系统的开发至关重要,这种重要性不仅表现在软件的构造上,还表现在对软件测试的指导上。因此,为了提高软件体系结构设计的质量并用软件体系结构设计指导软件测试,有必要研究基于规格说明的软件体系结构测试技术。软件体系结构为软件测试提出了很多新问题,但目前对软件体系结构测试的研究还很薄弱。能否找到有效的适用于软件体系结构的测试技术,将决定着软件体系结构技术是否能够应用成功。基于软件体系结构的测试技术研究的核心是自动生成测试用例。为此,需要选择或设计合适的软件体系结构描述语言,将被测系统IUT(Implementation Under Test)的描述建立在软件体系结构层上,并以此为出发点,寻找恰当的测试视点、测试覆盖准则和测试用例生成算法。本文的第一部分工作是从软件测试的角度出发,以满足多视点地测试软件体系结构为目标,提出了对软件体系结构基本模型的多视点要求,即结构视点和行为视点,以及相应的模型,说明了它们的可测性。利用结构模型所提供的信息,能够分析软件体系结构元素之间的连接是否恰当、接口是否匹配,能够测试软件体系结构中元素的交互路径等;利用对行为模型的进程代数规格说明,能够测试软件体系结构元素的行为以及元素之间的交互行为。本文的第二部分工作是提出并设计了针对一类分布式实时系统的体系结构描述语言DRTSADL(Distributed Real-Time System Architecture Description Language);在该语言中嵌入了计时进程代数模型,研究了计时状态进程TSP(Timed State Processes)的操作语义,以支持分布式实时系统的行为描述。通过扩展和裁减手段,在有限状态进程FSP(Finite State Process)的基础上,定义计时状态进程TSP,其成分主要有常量进程、前缀进程、超时进程、时钟复位进程、卫式条件进程、非确定性选择进程、发送进程、接收进程、组合进程和顺序进程等。与FSP相比,TSP可支持计时特征和构件/进程之间的通信。在DRTSADL中,本文定义了简单构件、组合构件、连接件和端口等。从简单构件、组合构件、连接件和体系结构风格入手,描述了如何使用DRTSADL描述应用系统的软件体系结构,并以C~3I的MMI(Man Machine Interface)为例说明了一个软件体系结构的完整描述。本文的第三部分工作是设计了一类分布式实时系统的测试用例生成方法,主要内容包括:(1)根据软件体系结构配置信息,设计了一套测试覆盖准则,定义其对应的计算规则;(2)针对结构视点,基于DRTSADL规格说明的配置信息,设计了对应的测试用例生成算法;(3)基于异步网络的分布式系统模型和DRTSADL规格说明,设计了一种产生分布式系统的测试用例的算法;(4)基于一类计时自动机模型和DRTSADL规格说明,利用计时Wp算法,设计了一种产生实时系统测试用例的算法,并证明了其终止性。为验证上述(2)和(4)方法的可用性,本文的第四部分工作是实现了一个面向DRTSADL的测试用例生成的环境原型,该原型支持DRTSADL的可视方式和文本方式的模型构建,依据所描述的被测系统,从配置(结构)和行为两个视点产生测试用例。用一个人机接口系统软件MMI进行实验,表明该环境原型能够按用户要求产生测试用例。