组合测试中的约束

来源 :南京大学 | 被引量 : 0次 | 上传用户:sweetpingping
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件日趋复杂,大量软件高度可配置,给软件测试带来了极大的挑战。组合测试是一种高效的软件测试方法,能有效检查出由参数相互作用而导致的软件故障。但是在实际应用过程中,约束的存在会对组合测试造成很大的影响。约束问题的解决,是有效使用组合测试的关键。然而关于约束的研究远远不够,我们做了以下几个方面的工作。第一,我们讨论了约束对组合测试造成的影响,并调研了文献和真实系统中约束的存在情况,对约束进行了分类。我们发现,在真实系统中约束是普遍存在的,根据其表现形式分为禁止约束、必须约束、数值约束和屏蔽约束4种。我们提出了约束间相互转化的方法,特别是屏蔽约束的转化,使得约束能够被统一处理。第二,我们将现有约束处理策略按照处理时机分为覆盖表生成前处理、覆盖表生成时处理和覆盖表生成后处理3种,详细介绍了各种处理方法的步骤并进行了分析。此外,我们提出了一种测试用例修正法和一种测试用例集后处理法。实验结果表明,在覆盖表生成时采用直接约束避免法不仅会得到较小的覆盖表,而且生成效率也非常高。第三,为方便测试人员使用,我们开发了一个支持约束处理的组合测试工具CTCH(Combinatorial Testing with Constraint Handling)。该工具采用一次一条的生成思路,结合直接约束避免策略,并根据灵活位置对测试用例集进行约简。接着,我们对现有支持约束处理的工具进行了调研,发现大部分工具都采用直接约束避免法。然后,我们将CTCH和其它工具进行了对比。实验结果表明:我们所开发的工具不仅使用方便,而且效果和主流生成工具相比非常有竞争力。第四,我们在一个含有大量约束的系统中使用了组合测试,在这个系统中发现了一些由参数取值组合所触发的软件故障,说明组合测试在含大量约束的实际应用中仍然具有良好的效率和作用。
其他文献
Linux最初是针对i386体系结构的PC机进行设计的类UNⅨ多用户操作系统,由于广大开源软件爱好者的支持,使其得到迅速发展,逐渐成为桌面和服务器领域的主流操作系统之一。近两年来,L
  本文首先介绍了元数据管理工具的特点,然后详细讨论了元数据管理工具中的核心技术,包括XML与元数据的表示,XMLSchema与元数据的建模,XSLT与元数据的显示,XML数据库与元数据的
  开放式与智能化是当今数控系统发展的两个方向。随着人工智能在计算机领域不断渗透和发展,智能化的内容向数控系统中的各个方面渗透。 本文针对数控系统轴控制中存在的
分布在多个领域、数量众多的科学计算遗产程序,蕴含了丰富的领域知识和专家技能,是科学计算资源的主要软件载体。由于自身的一些特点,科学计算遗产程序不能直接在网格上共享部署
  本文针对医学图像分割所要求的准确性高的特点,对符合人类视觉感知机理的多分辨率图像分割方法进行了研究,提出了一种结合小波变换与分水岭算法的图像分割方法。方法首先采
本文的目的研究RBAC标准所定义的模型在北京大学管理信息平台中的实现,并且构建统一的权限管理服务。在具体的实现过程采用了面向方面的编程(AOP)方法解决了权限系统开发过程
随着集成电路的迅猛发展,微处理器的设计技术对计算机产业、电子产业乃至整个信息产业的发展都有举足轻重的作用。其中RISC(Reduced Instruction Set Computer,精简指令集计
本文提出了一种新的面向变异测试的测试数据生成方法,它的主要特点是根据多个变异体的条件系统产生测试数据。它首先得到每个变异体的条件系统,然后将同一点产生的变异体的必要
  随着计算机技术的飞速发展,企事业单位对各类应用软件的需求越来越迫切,这对软件企业提出了更高的要求。因此,对框架的研究和实践越来越引起学术界和产业界的高度重视。框架
利用快速成形技术制造功能梯度材料零件是当前的一个热点问题。功能梯度材料零件建模和分层算法设计,是解决这一问题的关键环节。从CAD和CAM的角度来说,功能梯度材料零件模型