基于模型的Web应用测试用例生成方法

被引量 : 18次 | 上传用户:voodoochildzm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Internet的普及以及组件、中间件和Web Services等技术的迅速发展以及Web的广泛应用,Web应用的可靠性和质量保证成为一个非常关键的问题和研究热点。而软件测试是提高软件可靠性和保证软件质量的一种主要手段。Web应用是一种非常复杂的、分布式的、多层结构的交互式应用,为用户提供了一种全新的部署软件应用的方式。Web应用的异构性、动态性、连接的多样性、控制流程的可变性以及需要快速开发与发布等特性给Web应用的测试带来了新的挑战。目前还没有比较系统的方法和工具对Web应用进行有效的测试。Web应用的特性要求必须对传统的测试方法进行改进或提出新的适合Web应用特性的测试方法。目前的测试主要依赖测试工程师的直觉和经验,Web应用的测试被认为是一个耗时的、代价昂贵的过程。因此,迫切需要一套新的Web应用测试方法并实现测试的自动化。基于模型的、模型驱动的、以测试为中心的软件开发方法和技术的兴起和应用,以及形式化验证技术的逐步成熟,使基于模型的软件测试方法与技术在近几年得到了关注。基于模型的测试是一种突破性的黑盒测试技术,它以明确描述系统预期行为的抽象模型为依据,自动生成可执行的测试用例,产生测试脚本,执行测试并自动评价测试结果,实现测试过程的自动化。这种方法可以使得软件测试和软件设计以及实现同时进行,改变了软件工程中“现在编程,以后测试”的工作方式,使得在整个软件生命期中可以并行地进行测试工作。因此,基于模型的测试技术是实现对Web应用测试的有效途径。但是,这方面的研究还处于方法探索阶段。统一建模语言(UML)已经成为事实上的工业建模标准,能够很好地为用户的需求建模;而有限状态机(FSM)为测试软件的复杂行为提供了一个有效的机制,不必考虑软件的底层实现细节。本文以Web应用为研究对象,从UML模型和FSM模型出发,研究一系列基于模型的测试用例生成技术,获得基于模型的Web应用软件测试方法,构建一个从模型出发产生测试用例的原型工具,力图实现Web应用测试过程的自动化。在软件测试中,测试用例是依照测试准则来产生的。测试准则一直是人们研究测试方法的核心技术。本文在分析已有的基于UML模型测试准则的基础上,根据场景的概念(分为主要场景和次要场景),提出了基于UML用例图的七个测试准则:场景覆盖、主要场景覆盖、行为者主要场景覆盖、主要场景序列覆盖、用例覆盖、行为者用例覆盖和用例序列覆盖,并给出了这些测试准则的实际应用。另外还提出了基于UML对象图的两个测试准则:方法链覆盖和MM-path序列覆盖。这些基于UML模型的测试准则对于测试用例的生成具有非常重要的意义。用例视图是UML软件模型的核心,用例是推导系统测试需求的来源,它代表了系统提供给用户的高层功能,而顺序图可以进一步描述用户行为的先后发生顺序。因此,本文给出了一种基于UML用例图和顺序图对Web应用进行测试的方法。生成的测试用例是基于功能来划分的,因为一个用例可以看成是一个软件功能或其组合。根据所提出的基于UML用例图的覆盖测试准则,生成所需的测试用例。由于软件的实现应该和规格说明相一致,所以一个对规格说明有更好覆盖度的测试集就更能准确地评估软件的质量。基于模型的形式规格说明的主体(前置条件和后置条件)是谓词表达式。本文详细分析了基于规格说明的若干逻辑覆盖测试准则。针对已有的决定性逻辑覆盖测试准则的不足之处,提出了掩盖性逻辑覆盖测试准则,并对其进行了详细分析。根据该准则生成的测试用例能发现文字的掩盖性带来的错误。从谓词表达式的结构入手,分析了文字之间的约束关系、复杂谓词表达式的分解与合成、谓词表达式之间的关系。提出了全真谓词表达式覆盖、全假谓词表达式覆盖、完全子谓词表达式覆盖、唯一文字真覆盖以及唯一文字假覆盖等测试准则。满足这些测试准则的测试用例集能检测出不同类型的错误。给出了谓词表达式可能的错误类型,提出了最小的能检测逻辑联结词错误的测试用例集生成算法。本文还给出了从FSM模型出发自动生成测试用例的方法。在从FSM模型生成测试用例时,重点分析了与FSM有关的最常用、具有代表性的几种覆盖测试准则,包括状态覆盖、迁移覆盖、迁移对覆盖、谓词表达式覆盖、文字覆盖、受限活动文字覆盖、掩盖文字覆盖等测试准则,在此基础上提出了全循环K次覆盖测试准则,并提出了分别根据上述八种覆盖测试准则从FSM模型生成测试用例的算法。Web应用是一个具有高度交互性的系统,它可以看成是由软件组件之间的交互构成的集合。一个FSM内部的测试,通常只测试了Web应用的一部分,FSM之间的交互测试称之为FSM的组合测试。在FSM的组合测试级上,把每一个FSM看成是一个已经测试好的复合组件,FSM的组合测试就是测试这些复合组件的复合。一个复合组件包含其它的组件(或FSM),被测的Web应用就成了不同的交互组件的复合了。组件间根据动作来交互,当一个组件的输出动作与另一个组件的输入动作对应起来时,就认为这两个组件进行了交互。本文利用组件交互自动机复合的思想,提出了动作抽象化的复合规则,给出了一种基于FSM模型的组合测试方法。手工生成测试用例要求软件测试人员具有一定的经验和较高的专业水平。而且,没有系统化的方法作为指导会大大降低测试的质量和效率。为了实现测试的自动化并验证所提出的测试用例生成方法,本文设计并部分实现了一个测试用例生成方法的系统原型FSMTCGEN。
其他文献
作为企业内部传播文化信息的主要渠道和塑造对外形象的有效手段,企业内刊为企业实体拓宽发展视野、增强企业员工凝聚力、实现社会有效传播、构建和谐的企业文化提供了良好的
从社会主义计划经济向市场经济的转变是中国社会的一次巨大变革,一方面,它为我国经济和社会的发展开辟了新的前景,另一方面也引发了一些新的社会问题,政府在解决这些问题上做
随着社会经济的发展,能源和资源的消耗速度越来越快。节约能源、保护环境已经成为人类可持续发展的必要条件。人们的注意力正转向再生能源的利用和开发,而太阳能是未来人类最
随着人民生活水平的不断提高,园林绿化苗木需求量愈来愈大,对绿化苗木的规格、品种和品质的要求也越来越高,给全国苗木市场带来了空前的繁荣。进入新世纪,南宁市的城市发展的
设计了硅基MEMS粗真空传感器及其工艺流程,分析了 MEMS粗真空传感器的工作原理和过程,制作了MEMS粗真空传感器,并对其真空敏感特性和温度交叉敏感特性进行了实验研究.研究结
机械故障诊断理论和技术的研究已日趋深入,但如何将其成果应用到生产实际当中去也就成为该项研究的最终环节。汽轮机组是工业领域的重要设备,特别是在电力、石化工业中,汽轮
喔草酯是高效芳氧苯氧丙酸酯类手性除草剂,对一年生和多年生的禾本科杂草有优良的防效,广泛应用于大豆、油菜、棉花、甜菜和豌豆等农作物田中,具有高效、易降解、对环境污染
本文通过对现行消防行政执法中存在的问题进行收集、梳理,总结为六个方面:一是火灾原因认定和责任认定行为的可诉性不明;二是火灾扑救行为的可诉性不明;三是消防队扑救火灾时
井漏给钻井造成很大危害,井漏发生后又能快速堵漏,最终降低井漏的危害,是十分重要的。只有不断提高防漏堵漏技术,降低钻井成本,才能适应油田开发的需要。本文首先对国内、外
<正> 在当前中专学校的民族舞实习排练大纲没有健全的同时。学校的排练课怎么上,上什么? 选择什么类型的节目排练,使之能创造一些经济价值,让学生能登台演出,增加舞台实习机