CN105893254A - 测试用例导入方法及装置 - Google Patents

测试用例导入方法及装置 Download PDF

Info

Publication number
CN105893254A
CN105893254A CN201610188803.3A CN201610188803A CN105893254A CN 105893254 A CN105893254 A CN 105893254A CN 201610188803 A CN201610188803 A CN 201610188803A CN 105893254 A CN105893254 A CN 105893254A
Authority
CN
China
Prior art keywords
node
test case
test
file
management system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610188803.3A
Other languages
English (en)
Inventor
黄晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LeTV Holding Beijing Co Ltd
LeTV eCommerce Beijing Co Ltd
Original Assignee
LeTV Holding Beijing Co Ltd
LeTV eCommerce Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LeTV Holding Beijing Co Ltd, LeTV eCommerce Beijing Co Ltd filed Critical LeTV Holding Beijing Co Ltd
Priority to CN201610188803.3A priority Critical patent/CN105893254A/zh
Publication of CN105893254A publication Critical patent/CN105893254A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种测试用例导入方法及装置,包括:解析测试用例文件,得到测试节点和节点层级关系;将所述测试节点和节点层级关系转换成树结构文件;解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。本发明提出的基于思维导图的测试用例导入方法及装置,能够解决在测试流程中的测试用例设计和测试用例管理的环节衔接问题。

Description

测试用例导入方法及装置
技术领域
本发明涉及测试技术领域,特别是指一种测试用例导入方法及装置。
背景技术
在软件测试流程中,通常包括测试计划、用例设计、执行测试、缺陷处理和测试验收等主要环节。其中,测试用例设计是影响测试质量最为重要的一环,它决定了测试中将覆盖哪些测试点,测试执行则通常以设计好的测试用例为基础,用测试用例管理工具来管理待执行的测试用例,记录执行结果和测试用例的变更。
现有的测试流程中,测试用例设计和测试用例管理是两个割裂的环节,反映在以下两点:
一、软件测试领域有很多关于测试用例设计的理论指导,对于设计工具没有统一的方案,但是现有技术中,没有从用例设计到用例管理的较好方法。
二、现在有不少开源或者收费的成熟测试用例管理软件,提供对按指定格式编辑好的测试用例导入的功能,但是都没有提供与测试用例设计相结合的自动导入方案。
然而,测试用例设计和测试用例管理这两个环节的割裂给软件测试带来了以下问题:
1)设计好的测试用例,需要手动录入到测试用例管理系统中,带来了额外的开销;
2)如果一边设计一边把测试用例添加到用例管理系统中,测试点无法保证全面覆盖,添加测试用例的时间开销也无法避免;
3)软件测试交付时间紧的情况下,如果直接按照测试用例设计执行测试,会导致测试的执行结果和过程无法跟踪,而后续的测试用例和测试计划管理还是需要将这些测试用例导入管理系统;在开销不变的情况下,软件质量风险将会大大提高。
发明内容
有鉴于此,本发明的目的在于提出一种测试用例导入方法及装置,能够解决在测试流程中的测试用例设计和测试用例管理的环节衔接问题。
基于上述目的本发明提供的测试用例导入方法,包括:
解析测试用例文件,得到测试节点和节点层级关系;
将所述测试节点和节点层级关系转换成树结构文件;
解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
在一些实施方式中,所述解析测试用例文件,得到测试节点和节点层级关系的步骤包括:
将所述测试用例文件转换成通用文档类数据结构;
利用通用文档类的获取元素方法,获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串,得到测试节点及对应的节点层级关系。
在一些实施方式中,所述将所述测试节点和节点层级关系转换成树结构文件的步骤具体包括:
递归调用N树类数据结构的生成树算法将所述测试节点和节点层级关系转换成树结构文件。
在一些实施方式中,所述解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤包括:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息;
步骤1032:把当前节点的节点信息压入堆栈中保存;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统的应用程序编程接口为当前节点创建测试用例集合;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
在一些实施方式中,所述调用测试用例管理系统的接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤包括:
在测试用例管理系统中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口,建立与测试用例管理系统的应用程序编程接口的连接;
调用测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
本发明的另一个方面还提供了一种测试用例导入装置,包括:
用例文件解析模块,用于解析测试用例文件,得到测试节点和节点层级关系;
用例文件转换模块,用于将所述测试节点和节点层级关系转换成树结构文件;
用例导入模块,用于解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
在一些实施方式中,所述用例文件解析模块,具体用于:
将所述测试用例文件转换成通用文档类数据结构;
利用通用文档类的获取元素方法,获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串,得到测试节点及对应的节点层级关系。
在一些实施方式中,所述用例文件转换模块,具体用于:
递归调用N树类数据结构的生成树算法将所述测试节点和节点层级关系转换成树结构文件。
在一些实施方式中,所述用例导入模块,具体用于:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息;
步骤1032:把当前节点的节点信息压入堆栈中保存;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统的应用程序编程接口为当前节点创建测试用例集合;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
在一些实施方式中,所述用例导入模块,具体用于:
在测试用例管理系统中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口,建立与测试用例管理系统的应用程序编程接口的连接;
调用测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
从上面所述可以看出,本发明提供的测试用例导入方法及装置,通过将不能被完整的自动导入测试用例管理系统的测试用例文件解析为测试节点和节点层级关系,然后将这些测试节点和节点层级关系转换为树结构文件后,再通过解析树结构文件的方法,得到能够通过调用测试用例管理系统的应用程序编程接口导入所述测试用例管理系统的测试用例集合和测试用例,从而将测试用例文件完整地导入了所述测试用例管理系统,使得测试用例文件与测试用例管理系统紧密联系起来,既保证了测试用例设计的覆盖率,又保证了所有测试用例的可追踪和可维护性,打通了软件测试流程中原本独立的两个环节,提高测试质量的同时,最大程度的节省了测试用例生成和管理的开销。
附图说明
图1为本发明提供的测试用例导入方法的一个实施例的流程示意图;
图2为本发明提供的测试用例导入方法的一个实施例中的步骤103的具体流程示意图;
图3为本发明提供的测试用例导入方法的另一个实施例的流程示意图;
图4为本发明提供的测试用例导入装置实施例的模块结构示意图;
图5为本发明提供的测试用例导入方法及装置实施例中所述测试用例文件的某一实施例的参考示意图;
图6为本发明提供的测试用例导入方法及装置实施例中所述测试用例文件转换成测试用例管理系统中的测试用例集合和测试用例的参考示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
针对现有技术的测试流程中的测试用例文件和测试用例管理系统的环节衔接问题,本发明的第一个方面提出了一种能够解决在测试流程中的测试用例设计和测试用例管理的环节衔接问题的测试用例导入方法。如图1所示,为本发明提供的测试用例导入方法的一个实施例的流程示意图。
所述测试用例导入方法,包括以下步骤:
步骤101:解析测试用例文件,得到测试节点和节点层级关系;所述测试用例文件可以利用思维导图进行设计,从而保证测试的覆盖率;
步骤102:将所述测试节点和节点层级关系转换成树结构文件;
步骤103:解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
从上述实施例可以看出,本发明提供的测试用例导入方法,通过将不能被完整导入测试用例管理系统的测试用例文件解析为测试节点和节点层级关系,然后将所述测试节点和节点层级关系转换为树结构文件后,再通过解析树结构文件的方法,得到能够通过调用测试用例管理系统的应用程序编程接口导入所述测试用例管理系统的测试用例集合和测试用例,从而将测试用例文件完整地自动导入了所述测试用例管理系统,使得测试用例文件与测试用例管理系统紧密联系起来,既保证了测试用例设计的覆盖率,又保证了所有测试用例的可追踪和可维护性,打通了软件测试流程中原本独立的两个环节,提高测试质量的同时,最大程度的节省了测试用例生成和管理的开销。
所述测试用例导入方法,可以通过java编程实现,使用时,首先从SVN中下载工具源代码;接着将测试用例文件保存到项目的文件夹下;编译项目并运行即可在测试用例管理系统中看到生成的测试用例集合和测试用例。如图5所示,为所述测试用例文件的某一实施例的参考示意图;如图6所示,为所述测试用例文件转换成测试用例管理系统中的测试用例集合和测试用例的参考示意图。
进一步的,在一些可选实施方式中,所述解析测试用例文件,得到测试节点和节点层级关系的步骤101还可具体包括以下步骤:
将所述测试用例文件转换成通用文档类数据结构(Document);可选的,当所述测试用例文件为html格式思维导图文件时,所述转换方法采用JSoup类提供的parse()方法,其中JSoup是一款适用于html格式文件解析的开源工具;
利用通用文档类的获取元素方法(getElementBy()),获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串(可采用Java编程实现分析),得到测试节点及对应的节点层级关系。
通过上述实施例提供的方法,即能完整地从所述测试用例文件解析得到测试节点和节点层级关系。
可选的,在一些实施方式中,所述将所述测试节点和节点层级关系转换成树结构文件的步骤102还可具体包括以下步骤:
递归调用N树类数据结构的生成树算法将所述测试节点和节点层级关系转换成树结构文件;可选的,采用开源类GenericTree作为所述N数类数据结构的一种实现;这里,N树类是一种数据结构,GenericTree是该N数类数据结构的一种可用实现。通过上述实施例中的N树类数据结构的生成树算法,能够所述测试节点和节点层级关系建立一种树结构文件,从而能够通过树结构的遍历方法进行进一步分析,并从中得到测试用例集合和测试用例的信息。
较佳的,在一些可选实施方式中,如图2所示,所述解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤103还可具体包括以下步骤:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息,可选的,通过java编写N树遍历算法来获取树结构文件中当前节点的下一层级的节点信息;这里的当前节点是指,当前正在进行处理的节点,在步骤103的初始阶段,所述当前节点为所述树结构文件的根节点,即初始阶段时,当前节点为起始节点;
步骤1032:把当前节点的节点信息压入堆栈中保存;这里的堆栈遵循先进后出的规则,先压入的节点信息所对应的节点为上一层级的节点,所述堆栈的初始状态有一个节点,即测试用例集合的根节点;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统(可选为testlink)的应用程序编程接口(API)为当前节点创建测试用例集合;所述堆栈中的最后一个元素即为所述子节点的父节点;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;所述堆栈的最后一个元素为所述当前节点的上一层级节点的节点信息;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点的最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
通过上述实施例,即可完整地完成所述树结构文件的遍历,并从中逐步分析得到各测试用例集合和各测试用例,并相应地逐渐将其导入测试用例管理系统中,从而最终得到测试用例管理系统中的与测试用例文件所对应的测试用例集合和测试用例。
可选的,在一些实施方式中,所述调用测试用例管理系统的接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤103还可具体包括以下步骤:
在测试用例管理系统(可选为testlink)中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口(API),建立与测试用例管理系统的应用程序编程接口的连接;
程序运行时,调用所述测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
通过上述实施例,完成对所述测试用例管理系统的应用程序编程接口的调用并相应地在测试用例管理系统中完成所述测试用例集合和测试用例的创建。
本发明还提供了所述测试用例导入方法的另一个实施例。如图3所示,为本发明提供的测试用例导入方法的另一个实施例的流程示意图。
所述测试用例导入方法,包括以下步骤:
步骤201:将所述测试用例文件转换成通用文档类数据结构;
步骤202:利用通用文档类的获取元素方法,获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
步骤203:分析所述测试分支节点信息的字符串,得到测试节点及对应的节点层级关系;
步骤204:递归调用N树类数据结构(可采用GenericTree实现)的生成树算法将所述测试节点和节点层级关系转换成树结构文件;
步骤205:获得树结构文件中当前节点的下一层级的节点信息;
步骤206:把当前节点的节点信息压入堆栈中保存;
步骤207:判断当前节点是否有子节点;
步骤208:若当前节点有子节点,则调用测试用例管理系统的应用程序编程接口为当前节点创建测试用例集合;
步骤209:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;
步骤210:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤211:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤212:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤209中弹出的所述最后一个元素再次压入堆栈;
步骤213:递归调用步骤207~212,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
从上述实施例可以看出,本发明提供的测试用例导入方法,通过将不能被完整导入测试用例管理系统的测试用例文件解析为测试节点和节点层级关系,然后将所述测试节点和节点层级关系转换为树结构文件后,再通过解析树结构文件的方法得到能够通过调用测试用例管理系统的应用程序编程接口的方法导入所述测试用例管理系统的测试用例集合和测试用例,从而将测试用例文件完整地导入了所述测试用例管理系统,使得测试用例文件与测试用例管理系统紧密联系起来,既保证了测试用例设计的覆盖率,又保证了所有测试用例的可追踪和可维护性,打通了软件测试流程中原本独立的两个环节,提高测试质量的同时,最大程度的节省了测试用例生成和管理的开销。
针对现有技术的测试流程中的测试用例文件和测试用例管理系统的环节衔接问题,本发明的第二个方面提出了一种能够解决在测试流程中的测试用例设计和测试用例管理的环节衔接问题的测试用例导入装置。如图4所示,为本发明提供的测试用例导入装置实施例的模块结构示意图。
所述测试用例导入装置,包括:
用例文件解析模块301,用于解析测试用例文件,得到测试节点和节点层级关系;所述测试用例文件可以利用思维导图进行设计,从而保证测试的覆盖率;
用例文件转换模块302,用于将所述测试节点和节点层级关系转换成树结构文件;
用例导入模块303,用于解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
从上述实施例可以看出,本发明提供的测试用例导入装置,通过将不能被完整导入测试用例管理系统的测试用例文件解析为测试节点和节点层级关系,然后将所述测试节点和节点层级关系转换为树结构文件后,再通过解析树结构文件的方法得到能够通过调用测试用例管理系统的应用程序编程接口的方法导入所述测试用例管理系统的测试用例集合和测试用例,从而将测试用例文件完整地导入了所述测试用例管理系统,使得测试用例文件与测试用例管理系统紧密联系起来,既保证了测试用例设计的覆盖率,又保证了所有测试用例的可追踪和可维护性,打通了软件测试流程中原本独立的两个环节,提高测试质量的同时,最大程度的节省了测试用例生成和管理的开销。
所述测试用例导入装置,可以通过java编程实现,使用时,首先从SVN中下载工具源代码;接着将测试用例文件保存到项目的文件夹下;编译项目并运行即可在测试用例管理系统中看到生成的测试用例集合和测试用例。如图5所示,为所述测试用例文件的某一实施例的参考示意图;如图6所示,为所述测试用例文件转换成测试用例管理系统中的测试用例集合和测试用例的参考示意图。
进一步的,在一些可选实施方式中,所述用例文件解析模块301,还可具体用于:
将所述测试用例文件转换成通用文档类数据结构(Document);可选的,当所述测试用例文件为html格式思维导图文件时,所述转换方法采用JSoup类提供的parse()方法,其中JSoup是一款适用于html格式文件解析的开源工具;
利用通用文档类的获取元素方法(getElementBy()),获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串(可采用Java编程实现分析),得到测试节点及对应的节点层级关系。
通过上述实施例提供的方法,即能完整地从所述测试用例文件解析得到测试节点和节点层级关系。
可选的,在一些实施方式中,所述用例文件转换模块302,还可具体用于:
递归调用N树类数据结构(可采用GenericTree实现)的生成树算法将所述测试节点和节点层级关系转换成树结构文件。
通过上述实施例中的N树类数据结构的生成树算法,能够所述测试节点和节点层级关系建立一种树结构文件,从而能够通过树结构的遍历方法进行进一步分析,并从中得到测试用例集合和测试用例的信息。
较佳的,在一些可选实施方式中,如图2所示,所述用例导入模块303,还可具体用于:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息,可选的,通过java编写N树遍历算法来获取树结构文件中当前节点的下一层级的节点信息;这里的当前节点是指,当前正在进行处理的节点,在步骤103的初始阶段,所述当前节点为所述树结构文件的根节点,即初始阶段时,当前节点为起始节点;
步骤1032:把当前节点的节点信息压入堆栈中保存;这里的堆栈遵循先进后出的规则,先压入的节点信息所对应的节点为上一层级的节点,所述堆栈的初始状态有一个节点,即测试用例集合的根节点;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统(可选为testlink)的应用程序编程接口(API)为当前节点创建测试用例集合;所述堆栈中的最后一个元素即为所述子节点的父节点;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;所述堆栈的最后一个元素为所述当前节点的上一层级节点的节点信息;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
通过上述实施例,即可完整地完成所述树结构文件的遍历,并从中逐步分析得到各测试用例集合和各测试用例,并相应地逐渐将其导入测试用例管理系统中,从而最终得到测试用例管理系统中的与测试用例文件所对应的测试用例集合和测试用例。
可选的,在一些实施方式中,所述用例导入模块304,还可具体用于:
在测试用例管理系统(可选为testlink)中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口(API),建立与测试用例管理系统的应用程序编程接口的连接;
程序运行时,调用测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
通过上述实施例,完成对所述测试用例管理系统的应用程序编程接口的调用并相应地在测试用例管理系统中完成所述测试用例集合和测试用例的创建。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种测试用例导入方法,其特征在于,包括:
解析测试用例文件,得到测试节点和节点层级关系;
将所述测试节点和节点层级关系转换成树结构文件;
解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
2.根据权利要求1所述的方法,其特征在于,所述解析测试用例文件,得到测试节点和节点层级关系的步骤包括:
将所述测试用例文件转换成通用文档类数据结构;
利用通用文档类的获取元素方法,获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串,得到测试节点及对应的节点层级关系。
3.根据权利要求1所述的方法,其特征在于,所述将所述测试节点和节点层级关系转换成树结构文件的步骤具体包括:
递归调用N树类数据结构的生成树算法将所述测试节点和节点层级关系转换成树结构文件。
4.根据权利要求1所述的方法,其特征在于,所述解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤包括:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息;
步骤1032:把当前节点的节点信息压入堆栈中保存;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统的应用程序编程接口为当前节点创建测试用例集合;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
5.根据权利要求1所述的方法,其特征在于,所述调用测试用例管理系统的接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统的步骤包括:
在测试用例管理系统中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口,建立与测试用例管理系统的应用程序编程接口的连接;
调用测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
6.一种测试用例导入装置,其特征在于,包括:
用例文件解析模块,用于解析测试用例文件,得到测试节点和节点层级关系;
用例文件转换模块,用于将所述测试节点和节点层级关系转换成树结构文件;
用例导入模块,用于解析所述树结构文件得到测试用例集合和测试用例,调用测试用例管理系统的应用程序编程接口,并将所述测试用例集合和测试用例导入所述测试用例管理系统。
7.根据权利要求6所述的装置,其特征在于,所述用例文件解析模块,具体用于:
将所述测试用例文件转换成通用文档类数据结构;
利用通用文档类的获取元素方法,获取所述通用文档类数据结构的测试用例文件中所有测试分支节点信息;
分析所述测试分支节点信息的字符串,得到测试节点及对应的节点层级关系。
8.根据权利要求6所述的装置,其特征在于,所述用例文件转换模块,具体用于:
递归调用N树类数据结构的生成树算法将所述测试节点和节点层级关系转换成树结构文件。
9.根据权利要求6所述的装置,其特征在于,所述用例导入模块,具体用于:
步骤1031:获得树结构文件中当前节点的下一层级的节点信息;
步骤1032:把当前节点的节点信息压入堆栈中保存;
步骤1033:判断当前节点是否有子节点;
步骤1034:若当前节点有子节点,则调用测试用例管理系统的应用程序编程接口为当前节点创建测试用例集合;
步骤1035:若当前节点没有子节点,则所述当前节点为叶子节点,弹出所述堆栈中的最后一个元素,并调用测试用例管理系统的接口,利用弹出的所述堆栈中的最后一个元素及所述当前节点创建测试用例;
步骤1036:判断所述叶子节点的父节点是否为所述父节点的上一层级节点最后一个拥有叶子节点的节点;
步骤1037:若所述叶子节点的父节点是所述父节点的上一级节点最后一个拥有叶子节点的节点,不做任何操作;
步骤1038:若所述叶子节点的父节点不是所述父节点的上一级节点最后一个拥有叶子节点的节点,则将步骤1035中弹出的所述最后一个元素再次压入堆栈;
步骤1039:递归调用步骤1033~1038,直到所述树结构文件中的所有节点遍历完毕,所有的叶子节点均被创建成对应的测试用例,所有的非叶子节点也按照层级创建成对应的测试用例集合。
10.根据权利要求6所述的装置,其特征在于,所述用例导入模块,具体用于:
在测试用例管理系统中生成开发者密钥;
利用开发者密钥和测试用例管理系统提供的应用程序编程接口,建立与测试用例管理系统的应用程序编程接口的连接;
调用测试用例管理系统的应用程序编程接口中的创建测试用例和创建测试集合的方法,创建所述测试用例集合和测试用例。
CN201610188803.3A 2016-03-29 2016-03-29 测试用例导入方法及装置 Pending CN105893254A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610188803.3A CN105893254A (zh) 2016-03-29 2016-03-29 测试用例导入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610188803.3A CN105893254A (zh) 2016-03-29 2016-03-29 测试用例导入方法及装置

Publications (1)

Publication Number Publication Date
CN105893254A true CN105893254A (zh) 2016-08-24

Family

ID=57013974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610188803.3A Pending CN105893254A (zh) 2016-03-29 2016-03-29 测试用例导入方法及装置

Country Status (1)

Country Link
CN (1) CN105893254A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423217A (zh) * 2017-07-10 2017-12-01 东北大学秦皇岛分校 基于变异树的黑盒模糊测试方法及系统
CN107741911A (zh) * 2017-11-01 2018-02-27 广州爱九游信息技术有限公司 接口测试方法、装置、客户端及计算机可读存储介质
CN108647305A (zh) * 2018-05-09 2018-10-12 天津字节跳动科技有限公司 文档格式转换方法和装置
CN108845942A (zh) * 2018-06-20 2018-11-20 上海哔哩哔哩科技有限公司 产品特征管理方法、装置、系统及存储介质
CN110334024A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种基于树状结构的测试用例管理方法、装置及终端
CN110389889A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 用于测试用例的可视化的方法、设备和计算机可读存储介质
CN110543427A (zh) * 2019-09-06 2019-12-06 五八有限公司 测试用例存储方法、装置、电子设备及存储介质
CN110597708A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 一种测试用例文件转换方法、装置、电子设备及存储介质
CN110874318A (zh) * 2018-08-31 2020-03-10 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN111045917A (zh) * 2018-10-12 2020-04-21 汉能移动能源控股集团有限公司 一种测试用例格式转换的方法及装置
CN111090591A (zh) * 2019-12-23 2020-05-01 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN111124883A (zh) * 2019-11-15 2020-05-08 苏州浪潮智能科技有限公司 一种基于树形表格的测试用例库引入方法、系统及设备
CN112380138A (zh) * 2020-12-07 2021-02-19 深圳开源互联网安全技术有限公司 一种测试用例的编写方法、装置及存储介质
CN113377963A (zh) * 2021-06-28 2021-09-10 中国科学院地质与地球物理研究所 一种基于知识图谱的井场试验数据处理方法及装置
CN113760698A (zh) * 2020-07-30 2021-12-07 北京沃东天骏信息技术有限公司 一种测试用例文件数据的转换方法和装置
WO2023130569A1 (zh) * 2022-01-05 2023-07-13 中兴通讯股份有限公司 产品测试方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030121025A1 (en) * 2001-09-05 2003-06-26 Eitan Farchi Method and system for combining multiple software test generators
CN103198009A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 一种通用测试方法、系统及相应装置
CN105068929A (zh) * 2015-08-06 2015-11-18 网易(杭州)网络有限公司 测试脚本生成方法和装置、测试方法、测试装置以及测试系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030121025A1 (en) * 2001-09-05 2003-06-26 Eitan Farchi Method and system for combining multiple software test generators
CN103198009A (zh) * 2012-01-04 2013-07-10 中国移动通信集团公司 一种通用测试方法、系统及相应装置
CN105068929A (zh) * 2015-08-06 2015-11-18 网易(杭州)网络有限公司 测试脚本生成方法和装置、测试方法、测试装置以及测试系统

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423217A (zh) * 2017-07-10 2017-12-01 东北大学秦皇岛分校 基于变异树的黑盒模糊测试方法及系统
CN107423217B (zh) * 2017-07-10 2020-02-14 东北大学秦皇岛分校 基于变异树的黑盒模糊测试方法及系统
CN107741911A (zh) * 2017-11-01 2018-02-27 广州爱九游信息技术有限公司 接口测试方法、装置、客户端及计算机可读存储介质
CN110389889A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 用于测试用例的可视化的方法、设备和计算机可读存储介质
CN108647305A (zh) * 2018-05-09 2018-10-12 天津字节跳动科技有限公司 文档格式转换方法和装置
WO2019214182A1 (zh) * 2018-05-09 2019-11-14 天津字节跳动科技有限公司 文档格式转换方法和装置
CN108647305B (zh) * 2018-05-09 2021-07-20 天津字节跳动科技有限公司 文档格式转换方法和装置
CN108845942A (zh) * 2018-06-20 2018-11-20 上海哔哩哔哩科技有限公司 产品特征管理方法、装置、系统及存储介质
CN108845942B (zh) * 2018-06-20 2024-03-12 上海幻电信息科技有限公司 产品特征管理方法、装置、系统及存储介质
CN110874318B (zh) * 2018-08-31 2023-10-24 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN110874318A (zh) * 2018-08-31 2020-03-10 浙江宇视科技有限公司 软件测试方法、装置及计算机可读存储介质
CN111045917A (zh) * 2018-10-12 2020-04-21 汉能移动能源控股集团有限公司 一种测试用例格式转换的方法及装置
CN110334024A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种基于树状结构的测试用例管理方法、装置及终端
CN110334024B (zh) * 2019-06-28 2023-08-08 浙江吉利控股集团有限公司 一种基于树状结构的测试用例管理方法、装置及终端
CN110597708A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 一种测试用例文件转换方法、装置、电子设备及存储介质
CN110543427A (zh) * 2019-09-06 2019-12-06 五八有限公司 测试用例存储方法、装置、电子设备及存储介质
CN111124883A (zh) * 2019-11-15 2020-05-08 苏州浪潮智能科技有限公司 一种基于树形表格的测试用例库引入方法、系统及设备
CN111124883B (zh) * 2019-11-15 2023-01-10 苏州浪潮智能科技有限公司 一种基于树形表格的测试用例库引入方法、系统及设备
CN111090591A (zh) * 2019-12-23 2020-05-01 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN111090591B (zh) * 2019-12-23 2023-05-05 贵州医渡云技术有限公司 测试方法及装置、电子设备和计算机可读存储介质
CN113760698A (zh) * 2020-07-30 2021-12-07 北京沃东天骏信息技术有限公司 一种测试用例文件数据的转换方法和装置
CN112380138B (zh) * 2020-12-07 2021-11-09 深圳开源互联网安全技术有限公司 一种测试用例的编写方法、装置及存储介质
CN112380138A (zh) * 2020-12-07 2021-02-19 深圳开源互联网安全技术有限公司 一种测试用例的编写方法、装置及存储介质
CN113377963B (zh) * 2021-06-28 2023-08-11 中国科学院地质与地球物理研究所 一种基于知识图谱的井场试验数据处理方法及装置
CN113377963A (zh) * 2021-06-28 2021-09-10 中国科学院地质与地球物理研究所 一种基于知识图谱的井场试验数据处理方法及装置
WO2023130569A1 (zh) * 2022-01-05 2023-07-13 中兴通讯股份有限公司 产品测试方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN105893254A (zh) 测试用例导入方法及装置
US20220269594A1 (en) Automating Identification of Test Cases for Library Suggestion Models
US11797298B2 (en) Automating identification of code snippets for library suggestion models
US20230077030A1 (en) Blackbox Matching Engine
CN102819492B (zh) 一种基于Android的关键字驱动自动化测试框架
US11875148B2 (en) Library model addition
US20200264870A1 (en) Automating Generation of Library Suggestion Engine Models
CN106227668B (zh) 数据处理方法和装置
CN104156314B (zh) 一种应用于测试系统的代码重用方法
US8954936B2 (en) Enhancing functional tests coverage using traceability and static analysis
CN109388566A (zh) 一种代码覆盖率分析方法、装置、设备及存储介质
US8972938B2 (en) Determining functional design/requirements coverage of a computer code
CN102567201B (zh) 跨模型的图形用户界面测试脚本自动修复方法
CN107918666A (zh) 一种区块链上的数据同步方法和系统
CN106909510A (zh) 一种获取测试用例的方法以及服务器
US20140325491A1 (en) Transformation of computer programs and eliminating errors
CN101866315B (zh) 软件开发工具的测试方法及系统
CN104750606B (zh) 一种基于反射的自动化测试方法
CN103984548B (zh) 一种web应用前端框架及其构建方法、系统
CN105591779A (zh) 网元巡检方法及装置
Asaithambi et al. Towards test case reuse: A study of redundancies in android platform test libraries
Jin-Hua et al. The w-model for testing software product lines
CN106126425A (zh) 基于Android自动化测试框架的功能遍历方法及系统
CN103927212A (zh) 自动分析源文件信息的方法及装置
CN112596737A (zh) 一种函数调用关系的扫描方法、系统、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160824