【技术实现步骤摘要】
一种基于场景描述的自动测试系统及其实现方法
本专利技术属于自动测试系统及其实现方法,具体涉及一种基于场景描述的自动测试系统及其实现方法。
技术介绍
软件测试是计算机软件生命周期中的一个重要组成部分。统计标明,在软件开发过程中,软件测试的开销占总成本的30%到50%。这说明软件测试对软件开发的开销有很大的影响。随着现代软件产业的发展,软件变得更加复杂,规模更加庞大,导致软件中存在的缺陷数量增多,加重了软件测试的压力。手工测试的开销随着这一系列的变化成为了软件开发的一个重要问题,自动化测试技术开始受到关注。自动化测试应用在很多领域,例如测试自动化脚本技术、测试自动化框架和自动化测试用例生成。由于测试用例的重要性,以及测试数据自动构造实现上的可行性,使得自动化生成测试用例成为自动化测试技术中研究的最为广泛的技术之一。场景是待测试软件中用户的用例或事件的序列,辅助描述一个复杂的问题或系统。基于场景的测试是在场景基础上进行测试,适用于复杂交互式软件的测试,从业务工作流层面对软件进行全面性的测试。场景测试不需要关注系统的实现细节,不考虑软件的内部逻辑结构,而是关注测试的场景,考虑用户使用时出现的各种情况。测试的场景包含两个部分:测试数据和测试路径。场景建模的方法有很多种,可以通过使用不同的模型定义场景,典型的模型有:有限状态机、Petri网、流程图、UML模型等。研究表明,基于场景的测试是目前第三方测试中最为常用的测试方法之一。实现场景测试的自动化,有助于提高测试的效率。基于场景描述的自动化测试存在的三个挑战:1、模型的构建。目前已有的场景描述模型缺乏对系统的细节描述 ...
【技术保护点】
一种基于场景描述的自动测试系统的实现方法,其特征在于,包括以下步骤:步骤一:对象属性抽取器(2)获取待测试软件中的对象,根据规则库(1)抽取相关的对象属性信息,并进行对象属性信息的清洗和存储;步骤二:场景模型构建器(3)依据所述待测试软件的基础信息和所述对象属性抽取器(2)抽取的对象属性信息构建场景模型;步骤三:解析引擎(4)解析所述场景模型构建器(3)构建的场景模型,获取模型的基本信息,结合优化引擎(11)反馈的启发式信息,搜索获取场景模型中的测试路径;步骤四:根据所述解析引擎(4)搜索得到的测试路径,路径约束抽取器(5)抽取对应路径上的所有约束条件集合,判断是否需要增加额外的约束条件;若不需要,直接将抽取的约束条件提交到核心控制器(6);若需要,补充新的约束条件并将抽取的约束条件和补充的约束条件全部提交到所述核心控制器(6);步骤五:所述核心控制器(6)将获得的约束条件集合提交到求解器适配器(8),调用多种约束求解器(7)进行求解,所述求解器适配器(8)将求解结果反馈给所述核心控制器(6),判断是否有解;若有解,所述核心控制器(6)将测试路径和求解结果提交到测试用例生成器(9);若 ...
【技术特征摘要】
1.一种基于场景描述的自动测试系统的实现方法,其特征在于,包括以下步骤:步骤一:对象属性抽取器(2)获取待测试软件中的对象,根据规则库(1)抽取相关的对象属性信息,并进行对象属性信息的清洗和存储;步骤二:场景模型构建器(3)依据所述待测试软件的基础信息和所述对象属性抽取器(2)抽取的对象属性信息构建场景模型;步骤三:解析引擎(4)解析所述场景模型构建器(3)构建的场景模型,获取模型的基本信息,结合优化引擎(11)反馈的启发式信息,搜索获取场景模型中的测试路径;步骤四:根据所述解析引擎(4)搜索得到的测试路径,路径约束抽取器(5)抽取对应路径上的所有约束条件集合,判断是否需要增加额外的约束条件;若不需要,直接将抽取的约束条件提交到核心控制器(6);若需要,补充新的约束条件并将抽取的约束条件和补充的约束条件全部提交到所述核心控制器(6);步骤五:所述核心控制器(6)将获得的约束条件集合提交到求解器适配器(8),调用多种约束求解器(7)进行求解,所述求解器适配器(8)将求解结果反馈给所述核心控制器(6),判断是否有解;若有解,所述核心控制器(6)将测试路径和求解结果提交到测试用例生成器(9);若无解,判断测试是否结束;若测试未结束,所述核心控制器(6)通知所述解析引擎(4)重新选择新的测试路径,执行步骤三;若测试结束,终止测试;步骤六:所述测试用例生成器(9)组合所述核心控制器(6)提交的测试路径和测试输入,生成完整的测试用例并添加到测试用例库(10)中,测试输入是所述求解器适配器(8)的求解结果;所述测试用例生成器(9)通知所述核心控制器(6)生成测试用例完毕;步骤七:所述核心控制器(6)通知所述优化引擎(11)评估和简化测试用例库,同时提取有效的测试信息作为启发式信息反馈给所述解析引擎(4);所述核心控制器(6)判断测试是否结束;若测试未结束,所述核心控制器(6)通知所述解析引擎(4)重新选择新的测试路径,执行步骤三;若测试结束;终止测试。2.如权利要求1所述的基于场景描述的自动测试系统的实现方法,其特征在于,所述步骤一中,对象属性信息的获取方法包括了自动化抽取方法和人工抽取方法;自动化抽取方法可采用自动化测试工具获取待测试软件的组件、输入有效属性;人工抽取方法可利用测试人员的测试经验以及软件规格说明书手动抽取有效的对象属性。3.如权利要求1所述的基于场景描述的自动测试系统的实现方法,其特征在于,所述步骤二中,待测试软件的基础信息是对软件附加的说明,包括软件规格说明书、用户需求规格说明书信息,用于构建基础的场景模型;所述对象属性抽取器(2)抽取的对象属性信息用于优化和丰富基础场景模型,说明模型中元素的属性,提高可读性;使用抽象运算组合基础信息和所述对象属性抽取器(2)抽取的对象属性信息,完善场景模型;场景模型包括UML模型、有限状态机、Petri网、流程图、状态图。4.如权利要求1所述的基于场景描述的自动测试系统的实现方法,其特征在于,所述步骤三中,所述搜索获取场景模型中的测试路径方法是在广度优先搜索算法或者深度优先搜索算法的基础上,利用启发式信息,设定具体的评测指标对已有的测试用例进行评估,动态调整测试路径的权重,优先搜索权重大的测试路径,生成路径集合。5.如权利要求1所述的基于场景描述的自动测试系统的实现方法,其特征在于,所述步骤...
【专利技术属性】
技术研发人员:蔡立志,陆佳文,张扬,刘振宇,胡芸,龚家瑜,陈文捷,
申请(专利权)人:上海计算机软件技术开发中心,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。