【技术实现步骤摘要】
一种基于模型的构件测试用例生成方法
本专利技术涉及软件测试
,具体地说是一种基于模型的构件(单元)测试用例生成方法。
技术介绍
近十几年来,软件规模不断扩大,软件的复杂性不断增加,软件的应用开发环境、开发方式等都在变化如构件技术被广泛使用。在这种“变化”的大背景下,用户对于软件质量的要求也在提高。因此,作为提高软件质量的一种有效手段,软件测试技术也需要适应并不断发展。统计表明:在软件测试开销中,约40%投入到测试数据上,包括测试用例的生成和测试结果的检查。另外,测试过程的自动化程度对于测试的实施效率也有着直接的影响。随着建模技术(尤其是UML)的应用成熟,基于模型的测试成为在实践中被广泛应用的一种方法。这里的“模型”可以是设计模型,也可以是专门创建的测试模型。在该方法中,基于模型的描述信息(通常包括工作流和数据流信息)产生测试用例数据,并通过执行测试用例以检查/评估测试结果以发现软件中潜在的故障点。测试用例生成是软件测试工作的基础,无论哪种测试方法都涉及这个问题。目前,虽然已有很多种测试用例生成方法,但是,他们距离实际应用尚有很大距离。这也是目前制约软件测试 ...
【技术保护点】
一种基于模型的构件测试用例生成方法,其特征在于包括以下步骤:步骤一:根据选定的UML设计模型,创建能够描述构件功能逻辑的XML文档;步骤二:分析工作流程中包含的状态数据及其包含的数据对象,创建数据对象语义描述表,确定数据对象的平台无关语义特征;步骤三:根据确定的目标平台,分析并明确与目标平台绑定的数据对象的语法特征、语义取值范围及约束,在此基础上创建平台无关到平台相关的数据对象取值映射表;步骤四:遍历描述构件功能逻辑的XML文档,自动产生对应构件功能逻辑的工作流集合;步骤五:基于步骤二中创建的数据对象语义描述表,转换并扩展步骤四中生成的工作流集合,生成平台无关测试用例集合; ...
【技术特征摘要】
1.一种基于模型的构件测试用例生成方法,其特征在于包括以下步骤:步骤一:根据选定的UML设计模型,创建能够描述构件功能逻辑的XML文档;步骤二:分析工作流程中包含的状态数据及其包含的数据对象,创建数据对象语义描述表,确定数据对象的平台无关语义特征;步骤三:根据确定的目标平台,分析并明确与目标平台绑定的数据对象的语法特征、语义取值范围及约束,在此基础上创建平台无关到平台相关的数据对象取值映射表;步骤四:遍历描述构件功能逻辑的XML文档,自动产生对应构件功能逻辑的工作流集合;步骤五:基于步骤二中创建的数据对象语义描述表,转换并扩展步骤四中生成的工作流集合,生成平台无关测试用例集合;步骤六:基于步骤三中创建的平台无关到平台相关的数据对象取值映射表,针对步骤五中生成的平台无关测试用例集合进行数据对象的转换,生成与目标平台相关的测试用例集合。2.根据权利要求1所述的基于模型的构件测试用例生成方法,其特征在于步骤一中,基于已创建的UML图,手工创建反映构件功能逻辑的XML描述文档:创建XML文档时,按照对应UML图中每一项工作流程,采用语义清晰的XML标签进行翻译和描述,采用预定义的标签元素描述模型中的相应元素,包括起始节点、结束节点、中间节点、分支节点、循环节点、汇聚节点及并行节点,并通过Label_Config文档进行记录和语义注释。3.根据权利要求1所述的基于模型的构件测试用例生成方法,其特征在于步骤二中,根据UML图中的每一项工作流程,明确标注其中的每一个节点所包含的状态数据,并手工创建数据对象的语义描述表NodeDescribeTable:所述节点状态数据的描述特征包括:节点NodeNo、执行前状态StatesBeforeExecution、输入数据集InputData和预期输出数据集ExpectOutputData;基于节点状态数据的描述特征,确定每一个状态数据中包含的数据对象集合DataObjectSet,其中,每一个数据对象DataObject的描述特征是:数据对象名字ObjectName,特征属性集合ObjectAttributes。4.根据权利要求1所述的基于模型的构件测试用例生成方法,其特征在于步骤三中,面向目标平台和步骤二中分析得到的数据对象集合,基于确定的数据对象取值域和约束分析并自动生成目标平台下数据对象的具体映射状态值,并在此基础上创建数据对象由平台无关到平台相关的值映射表PItoPSMapTable:其中,数据对象的平台相关属性特征包括:参数列表paraList,参数取值域valueDomain,状态有效数据state,通过目标平台下数据对象的取值域和约束分析,生成对应的映射对象,并记录其异常值集合和正常值集合。5.根据权利要求1所述的基于模型的构件测试用例生成方法,其特征在于步骤四中,程序遍历描述构件功能逻辑的XML文档,生成工作流程对应的测试路径集合TestPaths,其基本执行过程是:(1)起始节点集合Starts非空,则取得一个起始节点,按照层次遍历的方法获得其孩子节点,并生成该起始节点到孩子节点的路径集合;(2)如果一个孩子节点是结束节点,则转向(5);如果孩子节点是非结束节点,则该路...
【专利技术属性】
技术研发人员:唐龙业,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。