一种基于扩展接口自动机模型的嵌入式组件建模与测试方法

文档序号:6579348阅读:339来源:国知局
专利名称:一种基于扩展接口自动机模型的嵌入式组件建模与测试方法
技术领域
本发明涉及计算机软件领域,特别涉及基于模型的测试自动化领域。
背景技术
嵌入式系统已经广泛地应用在了航空、航天、电子、机械等各个领域。针对嵌入式软件规模大幅度增长、开发周期缩短、质量要求提升的发展趋势,近年来,提出了嵌入式组件的开发方法,通过功能的分解、组件接口的封装、标准组件的重用技术,提高开发效率和质量,降低成本,提高系统的可维护性。嵌入式组件是构成嵌入式系统的基本单元,是系统构造、开发、组装、验证、评估、和维护的基本单位,组件的可信性是系统可信性的基础。组件是独立开发的模块,通常采用黑盒的提供方法,隐藏了数据和实现方法,内部实现对使用者不可见;具有良好定义的外部特性和行为,通常遵照接口规范对外提供服务;可通过特定的方式集成,通过标准的接口协议与其他组件和系统进行交互和协作。在嵌入式系统中,通常采用软硬件一体的组件,包括硬件、操作系统软件和应用软件。例如智能传感器系统通常包括信号处理、网络控制软件等部件,通过稳定的标准化的通信网络接口,提供输出信号。在将嵌入式组件构建成复杂系统的过程中,通常需要对CNI接口的时域和值域进行详细、精确的定义。在新的系统集成环境中,确认组件的前置条件以保证操作的鲁棒性,并对组件进行充分测试。这个精确的接口规约是组件测试和确认的依据。美国University of California, Berkeley 的 Luca de Alfaro 和 Thomas A.Henzinger于2001年提出了一种轻量级的嵌入式软件组件接口模型接口自动机模型(Interface Automata, IA)。IA基于状态机模型,可针对组件接口、组件行为和组件间的组合行为进行描述,并支持不同组件接口模型之间的可组合性和相容性检查。基本的接口自动机中,缺乏对组件接口之间约束和依赖关系的描述,如两个接口操作之间输入、输出数据之间的依赖关系,以及接口操作前置/后置条件约束等。本发明扩展了接口自动机模型,引入接口参数定义和约束定义,为描述、理解、和分析组件提供更丰富的行为语义信息,并给出基于扩展的接口自动机模型的测试自动生成方法。本发明供包括两部分(I)扩展的接口自动机定义;(2)基于扩展的接口自动机模型的测试生成方法。测试是嵌入式组件质量保证的重要方法,扩展的接口自动机模型可辅助嵌入式组件分析理解,基于模型的测试自动化技术可提高嵌入式组件测试的效率和质量,对嵌入式系统基于组件的开发方法研究具有重要意义。

发明内容
本发明采用基于模型的软件测试技术,基于带约束的自动机理论,给出一种嵌入式组件的接口操作、数据、以及行为的建模方法;基于图搜索和约束求解理论,给出一种基于模型的测试自动生成方法。方法针对目前广泛应用的嵌入式系统,要求嵌入式系统满足以下条件(1)采用基于组件的嵌入式系统开发方法;(I)具有明确的嵌入式组件接口定义。本发明方法针对嵌入式组件E,依据以下步骤进行建模与测试步骤(I)系统初始化输入嵌入式组件的接口定义,其中包括接口操作、操作的输入/输出参数、操作的前置/后置条件以及组件的预期行为信息.步骤(2)按以下步骤建立嵌入式组件上的扩展接口自动机模型步骤(2.1)构建状态集合Se,并定义其中的初始状态集合巧,且\式沴。步骤(2. 2 )构建接口操作数据和变量集合Ve,且
权利要求
1.一种基于扩展接口自动机模型的嵌入式组件建模与测试方法,其特征在于,是在一个计算机中,依次按以下步骤实现的 步骤(I)系统初始化 输入嵌入式组件的接口定义,其中包括接口操作、操作的输入/输出参数、操作的前置/后置条件以及组件的预期行为信息, 步骤(2)按以下步骤建立嵌入式组件上的扩展接口自动机模型 步骤(2.1)构建状态集合Se,并定义其中的初始状态集合本(/>, 步骤(2. 2 )构建接口操作数据和变量集合Ve,且Fff = U U Ve0 U F/,其中,Fj、Fe°、Ff分别表示输入数据、输出数据和包括有全局和局部变量的内部数据, 步骤(2. 3 )构建接口操作集合AE,且毛=名U 4 U 4,其中,名、44分别表示输入行为、输出行为和中间行为,对于任意一接口行为a G Ae,用a(v)表示接口操作及其参数,V G Ve, 步骤(2. 4)构建对应于每个状态的前置条件/后置条件的约束集合CE,前置条件用preCond、后置条件postCond表述,每条约束采用逻辑表达式描述,用于判定布尔取值,步骤(2. 5)构建状态转移关系的集合T =SeXAeXSe,对任意一个状态转移的关系t有r、 WeCond^ostCondQlupdaUQ ,表示组件E若满足前置条件preCond,由状态S1会通过宁朱作a (V),转移到状态S2,且满足后置条件postCond,再完成相应的更新update处理, 步骤(3)根据步骤(2)的结果,按以下步骤生成测试用例 步骤(3.1)定义扩展接口自动机模型的测试覆盖率目标以定量度量软件测试用例集合的充分程度,采用基于状态转移的覆盖率定义,用全状态测试的覆盖准则表示, 步骤(3. 2)采用图搜索的算法,按以下步骤生成上述测试覆盖率目标的抽象测试用例集合 TE=ItcJ 每个测试用例定义为一组接口操作序列,IxiMai l, ai;2,…,ai k,…〉,i为测试用例的序号,k每一个操作的序号,k=l, 2,…,k,…K, K为操作数目, 对于所述测试用例中的每一个操作ay G Ae,存在两个状态Si,k G Se和Si,k+1 G Se,si;k为在序号为i的测试用例tCi第k个操作ai,k前的系统状态,si;k+1为在序号为i的测试用例tq第k个操作ay后的系统状态,即满足转移关系(Si,k, ai;k, si;k+1), 对于测试用例中的任意一个连续的操作子序列〈ay, ai;2,…,ai;m,…,ai,M>,存在一组状态转移集合{ (Si,l,ai, D Si,2),(Si,2,ai,2> Si,3),... ,(Si,m> ai, ill) Si,m+l),... ,(Si,M-l) ai, M) Si,m),则对应为扩展接口自动机状态转移用的一条路径,m为操作变化的序号,m=l, 2,- ,m,…M,M是本序列中操作的个数, 步骤(3. 3 )从初始状态开始,组合所述状态转移图中的各条路径,构建一个满足全状态覆盖的抽象测试用例集合, 步骤(3. 4)对步骤(3. 2)所得到的每一条路径,提取该路径上所有状态转移上的约束表达式集合,获得下述两类测试用例的数据集 对于满足约束条件的数据,添加到所述测试用例集合,构成功能测试用例集合; 对于不满足约束条件的数据,添加到所述抽象测试用例集合,构成异常测试也称为鲁棒性测试用例集合, 步骤(4)根步骤(3. 4)中产生的两类测试用例集合在被测试系统上执行,以检测被测嵌入式组件接口功能的正确性。
全文摘要
一种基于扩展接口自动机模型的嵌入式组件建模与测试方法,涉及软件测试与基于模型的测试自动化领域,所述方法适用于嵌入式组件的测试,针对组件接口操作、数据和行为,采用带有约束条件的自动机模型进行描述,基于图搜索和约束求解技术生成测试用例集合。方法包括两个方面(1)建立嵌入组件的扩展接口自动机模型;(2)基于自动机模型,定义测试覆盖率目标,并生成满足测试覆盖率目标的正常功能测试用例以及鲁棒性测试用例。
文档编号G06F11/36GK103064787SQ201210564499
公开日2013年4月24日 申请日期2012年12月21日 优先权日2012年12月21日
发明者白晓颖, 张任伟 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1