CN109062819A - 一种软件测试用例的生成方法及装置 - Google Patents

一种软件测试用例的生成方法及装置 Download PDF

Info

Publication number
CN109062819A
CN109062819A CN201811257605.3A CN201811257605A CN109062819A CN 109062819 A CN109062819 A CN 109062819A CN 201811257605 A CN201811257605 A CN 201811257605A CN 109062819 A CN109062819 A CN 109062819A
Authority
CN
China
Prior art keywords
keyword
node
pattern
pattern plate
template
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.)
Granted
Application number
CN201811257605.3A
Other languages
English (en)
Other versions
CN109062819B (zh
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201811257605.3A priority Critical patent/CN109062819B/zh
Publication of CN109062819A publication Critical patent/CN109062819A/zh
Application granted granted Critical
Publication of CN109062819B publication Critical patent/CN109062819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/3684Test management for test design, e.g. generating new test cases

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

一种软件测试用例的生成方法及装置
技术领域
本发明涉及模型自动化测试工具技术领域,更具体地说,涉及一种软件测试用例的生成方法及装置。
背景技术
基于模型的自动化测试工具而言,此类工具首先由被测试系统的一些软件功能方面的描述,构建出被测软件的模型,再根据模型中的一部分生成测试用例。
但是,目前软件测试用例的生成方法高度抽象化,难度较高。
发明内容
有鉴于此,为解决上述问题,本发明提供一种软件测试用例的生成方法及装置,技术方案如下:
一种软件测试用例的生成方法,所述生成方法包括:
建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词;
输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码;
将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板;
获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板;
依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
优选的,所述获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板,包括:
依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
优选的,所述依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例,包括:
输出所述第二思维导图模板中的关键词,构成三维关键词矩阵,所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;
将所述三维关键词矩阵的第一行和第二行形成目标二维关键词矩阵;将所述目标二维关键词矩阵和所述二维关键词矩阵求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;
将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中;
选取所述三维关键词矩阵中标识为所述第二标识的叶子节点作为待匹配节点;
计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,选取所述节点位置距离最小的y条关联关系模板案例,并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码;
选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变;
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识;
依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
优选的,所述计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,包括:
将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
本发明还提供了一种软件测试用例的生成装置,所述生成装置包括:
建立模块,用于建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词;
第一处理模块,用于输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码;
第二处理模块,用于将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板;
获取模块,用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板;
生成模块,用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
优选的,所述获取模块用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板的具体方法包括:
依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
优选的,所述生成模块用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例的具体方法包括:
输出所述第二思维导图模板中的关键词,构成三维关键词矩阵,所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;
将所述三维关键词矩阵的第一行和第二行形成目标二维关键词矩阵;将所述目标二维关键词矩阵和所述二维关键词矩阵求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;
将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中;
选取所述三维关键词矩阵中标识为所述第二标识的叶子节点作为待匹配节点;
计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,选取所述节点位置距离最小的y条关联关系模板案例,并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码;
选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变;
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识;
依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
优选的,所述生成模块用于计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离的具体方法包括:
将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
相较于现有技术,本发明实现的有益效果为:
该生成方法所使用的第一思维导图模板和测试用例模板可以直观的显示被测软件的功能分布,易于理解,在后续功能测试中复用度高,即模板本身就可以显示测试分析的全过程。
并且通过新建、添加和编辑第一思维导图模板和对应的测试用例模板,依据第二思维导图模板、关联关系模板和二维关键词矩阵的关联关系,即可自动生成被测软件的测试用例。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种软件测试用例的生成方法的流程示意图;
图2为本发明实施例提供的第一思维导图模板的一种示意图;
图3为本发明实施例提供的位置编码的一种示意图;
图4为本发明实施例提供的第二思维导图模板的关键词排布示意图;
图5为图3和图4相对应的三维关键词矩阵的示意图;
图6为本发明实施例提供的软件测试用例的生成装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在模型的自动化测试工具领域中,基于Pre/Post前置后置条件模型而言,适用于面向数据的系统,如网络接口。网络接口通常是基于一定的契约/约定来执行。契约一般由三类条件构成;
先决条件PRE。对于接口方法来说,先决条件是那些在接口方法被调用之前就必须满足的条件,它保证方法可以按照预期来运行。
后置条件POST:对于接口方法而言,后置条件是那些接口方法被调用之后所要保持的条件(只要先决条件满足)。
先不变量INV:对象的不变量是那些只要在接口方法被调用之前它的先决条件被满足就始终未真的数据。
基于转换模型,以FSM为例。
有限状态机(Finite State Machine,FSM),包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态机中,会有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态。
通过上述描述可知,上述模型的共同点是高度抽象化,增加了测试人员分析、理解的难度,同时增加了模型复用难度。
以上模型多是从需求出发,依据状态转换、数据流,适用于业务性强的系统。但是,在架构复杂、系统众多的科技体系下,测试负责人不可能对每个系统都十分熟悉,仅仅可从最宏观上依据需求进行模型构建。而具体落实在每个系统的测试人员时,所需要完成的并不是一个完整的需求,而是需求中的某一部分具体细节内容。
对于业务性特点不突出,而且强调系统自身的功能的系统,在此需求下,并没有清晰的状态转换、数据流等需求,此类系统的特点一般为对接多个系统,且在对接过程中作为规则的制定者,且架构、功能较为稳定。
由于上述特点,针对此类系统的测试重点,除了需求外,更多的精力应该在满足系统已有功能、符合系统对接的规则。而这些因素在需求中一般不会详细、明确表述,需要此系统的测试人员在测试分析过程中得出。由于,上述完全依据需求的模型,不适用于此类产品。
用例中细节描述不全。由于模型都是高度抽象化的,直接根据模型生成测试用例,必然导致用例中细节不全。不利于测试经验尚浅的测试经理开始测试。
基于现有技术中存在的问题,本发明实施例提供了一种软件测试用例的生成方法及装置,同已有的基于模型的自动化测试方法不同,本发明的方法是基于思维导图。由于思维导图是一种将思维形象化的方法,最大的特点是简单、易用、可视化,对使用者的入门门槛低。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图1,图1为本发明实施例提供的一种软件测试用例的生成方法的流程示意图,所述生成方法包括:
S10:建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词。
在该步骤中,思维导图是一种将思维形象化的方法。我们知道放射性思考是人类大脑的自然思考方式,每一种进入大脑的资料,不论是感觉、记忆或是想法——包括文字、数字、符码、香气、食物、线条、颜色、意象、节奏、音符等,都可以成为一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,而这些关节的连结可以视为您的记忆,就如同大脑中的神经元一样互相连接。
参考图2,图2为本发明实施例提供的第一思维导图模板的一种示意图,图2中每个节点均为一个关键词,即图2中的文字部分,在此不再描述,且图2仅仅只是以一种举例的形式进行说明,在本发明实施例中并不作限定,其内容可以多样化。
如表1所示,表1为本发明实施例提供的测试用例模板的一种示例,表1中包括多个程序内容,但是相对应第一思维导图模板的测试用例模板至少包括第一思维导图模板中的所有关键词。
表1
并且,通过图1可知,基于第一思维导图模板可以跟清楚直观的了解被测试软件的各个功能分布。
需要说明的是,表1中的内容不再描述,仅仅只是以一种举例的形式进行说明并不作限定,具体可参考表1即可。
进一步的,第一思维导图模板可以通过XMIND工具生成,该XMIND工具是一款易用性很强的软件,可以绘制思维导图、树形图等以结构化的方式来展现具体的内容,也就进一步说明,本发明提供的一种软件测试用例的生成方法的易用性和便捷性。
S11:输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码。
在该步骤中,采用多叉树遍历的方式,输出所述第一思维导图模板中的节点,即关键词,形成二维关键词矩阵Mn×2(n为第一思维导图模板中关键词个数),所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码。
在本发明实施例中位置编码的具体方法为:遍历第一思维导图模板中的所有节点,记录每个节点的子节点个数x,取x中最大值Xmax作为位置编码的进制,参考图3,图3为本发明实施例提供的位置编码的一种示意图,仅仅以举例的形式进行说明。
S12:将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板。
在该步骤中,顺序遍历所述测试用例模板中的每条用例,依据二维关键词矩阵Mn×2,将所述测试用例模板中的节点的关键词替换为相对应的位置编码,形成关联关系模板,即用位置编码替换节点关键词后的测试用例模板。
S13:获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板。
在该步骤中,依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
S14:依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
在该步骤中,生成被测软件的测试用例的具体步骤包括:
步骤A,采用多叉树遍历的方式,输出所述第二思维导图模板中的节点,即关键词,构成三维关键词矩阵Rm×3(m为第二思维导图模板的关键词个数),所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;例如,所述第一标识为“1”,所述第二标识为“0”。
需要说明的是,在初始状态下标识均为第二标识。
参考图4,图4为本发明实施例提供的第二思维导图模板的关键词排布示意图,参考图5,图5为图3和图4相对应的三维关键词矩阵的示意图。
需要说明的是,图3、图4和图5都是以举例的形式进行示例说明,在此并不作限定。
步骤B,将所述三维关键词矩阵Rm×3的第一行和第二行形成目标二维关键词矩阵Rm×2;将所述目标二维关键词矩阵Rm×2和所述二维关键词矩阵Mn×2求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;并将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中。
步骤C,选取所述三维关键词矩阵Rm×3中标识为所述第二标识的叶子节点作为待匹配节点;计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离L,选取所述节点位置距离最小的y条关联关系模板案例(y≥1),并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码。
其中,计算所述节点位置距离L的方法为将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码的进制Xmax转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
步骤D,选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离L时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变。
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识。
重复步骤C和步骤D,直至所有的叶子节点的标识全部修改成第一标识为止。
步骤E,依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
通过上述描述可知,通过新建第一思维导图模板和相对应的测试用例模板,并生成二者之间的关联关系,即生成关联关系模板,通过对第一思维导图模板进行编辑并生成思维导图实例,即第二思维导图模板,依据第一思维导图模板、测试用例模板、关联关系模板和第二思维导图模板即可自动生成被测软件的测试用例。
并且,本发明最大的优点在于所使用的模板直观、易于理解,后续功能测试复用度更高。而模板本身即完整阐述了测试分析的全过程,有助于测试人员快速入门。
进一步的,本方法使用的操作简单,测试人员可自由新建、添加、编辑思维导图模板和对应的测试用例模板,自动分析思维导图和测试用例模板的关联关系,无需人工干预。
基于本发明上述实施例,在本发明另一实施例中还提供了一种软件测试用例的生成装置,参考图6,图6为本发明实施例提供的软件测试用例的生成装置的一种结构示意图,所述生成装置包括:
建立模块71,用于建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词;
第一处理模块72,用于输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码;
第二处理模块73,用于将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板;
获取模块74,用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板;
生成模块75,用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
进一步的,所述获取模块74用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板的具体方法包括:
依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
进一步的,所述生成模块75用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例的具体方法包括:
输出所述第二思维导图模板中的关键词,构成三维关键词矩阵,所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;
将所述三维关键词矩阵的第一行和第二行形成目标二维关键词矩阵;将所述目标二维关键词矩阵和所述二维关键词矩阵求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;
将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中;
选取所述三维关键词矩阵中标识为所述第二标识的叶子节点作为待匹配节点;
计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,选取所述节点位置距离最小的y条关联关系模板案例,并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码;
选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变;
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识;
依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
进一步的,所述生成模块75用于计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离的具体方法包括:
将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
需要说明的是,所述生成装置的原理和所述生成方法的原理相同,在此不再赘述。
以上对本发明所提供的一种软件测试用例的生成方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种软件测试用例的生成方法,其特征在于,所述生成方法包括:
建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词;
输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码;
将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板;
获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板;
依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
2.根据权利要求1所述的生成方法,其特征在于,所述获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板,包括:
依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
3.根据权利要求2所述的生成方法,其特征在于,所述依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例,包括:
输出所述第二思维导图模板中的关键词,构成三维关键词矩阵,所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;
将所述三维关键词矩阵的第一行和第二行形成目标二维关键词矩阵;将所述目标二维关键词矩阵和所述二维关键词矩阵求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;
将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中;
选取所述三维关键词矩阵中标识为所述第二标识的叶子节点作为待匹配节点;
计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,选取所述节点位置距离最小的y条关联关系模板案例,并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码;
选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变;
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识;
依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
4.根据权利要求3所述的生成方法,其特征在于,所述计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,包括:
将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
5.一种软件测试用例的生成装置,其特征在于,所述生成装置包括:
建立模块,用于建立被测软件的第一思维导图模板和测试用例模板,所述第一思维导图模板中的每个节点为一个关键词,且所述测试用例模板中至少包括所述第一思维导图模板中的所有关键词;
第一处理模块,用于输出所述第一思维导图模板中的关键词,构成二维关键词矩阵,所述二维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第一思维导图模板中的位置编码;
第二处理模块,用于将所述测试用例模板中所述第一思维导图模板的关键词替换为所述位置编码,形成关联关系模板;
获取模块,用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板;
生成模块,用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例。
6.根据权利要求5所述的生成装置,其特征在于,所述获取模块用于获取所述被测软件的思维导图实例,对所述第一思维导图模板进行编写,获得第二思维导图模板的具体方法包括:
依据所述思维导图实例,以增加或减少所述第一思维导图模板的分支数目,且不改变所述第一思维导图模板中任意一个分支的深度,以获得所述第二思维导图模板。
7.根据权利要求6所述的生成装置,其特征在于,所述生成模块用于依据所述第二思维导图模板、所述关联关系模板和所述二维关键词矩阵,生成所述被测软件的测试用例的具体方法包括:
输出所述第二思维导图模板中的关键词,构成三维关键词矩阵,所述三维关键词矩阵的第一行记录所述关键词,第二行记录相对应所述关键词在所述第二思维导图模板中的位置编码,第三行记录相对应所述关键词是否已在所述关联关系模板中的标识,若是,则记录第一标识,若否,则记录第二标识;
将所述三维关键词矩阵的第一行和第二行形成目标二维关键词矩阵;将所述目标二维关键词矩阵和所述二维关键词矩阵求交集,获得交集结果;在所述三维关键词矩阵中将所述交集结果中关键词相对应的第三行记录为所述第一标识,其余关键词相对应的第三行记录为所述第二标识;
将所述关联关系模板中包含所述交集结果中关键词的测试用例保存至目标关联关系模板中;
选取所述三维关键词矩阵中标识为所述第二标识的叶子节点作为待匹配节点;
计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离,选取所述节点位置距离最小的y条关联关系模板案例,并将所述y条关联关系模板案例中与所述待匹配节点符合所述节点位置距离的节点的位置编码修改为所述待匹配节点的位置编码;
选取所述待匹配节点的所有父节点,若所述父节点与所述y条关联关系模板案例中同一深度的原节点距离符合所述节点位置距离时,则将所述父节点的位置编码替换所述原节点的位置编码,若不符合,则保留所述原节点的位置编码不变;
将所述y条关联关系模板案例保存至所述目标关联关系模板中,且将所述待匹配节点以及所有发生过替换操作的所述父节点在所述三维关键词矩阵中第三行的标识修改为第一标识;
依据所述三维关键词矩阵,将所述目标关联关系模板中的位置编码替换为相对应的关键词,以生成所述被测软件的测试用例。
8.根据权利要求7所述的生成装置,其特征在于,所述生成模块用于计算所述待匹配节点与所述关联关系模板中每条案例包含的所有节点中同一深度的节点位置距离的具体方法包括:
将同一深度的所述待匹配节点和所述每条案例中的节点的位置编码转换为10进制,之后相减得到的差值的绝对值为所述节点位置距离。
CN201811257605.3A 2018-10-26 2018-10-26 一种软件测试用例的生成方法及装置 Active CN109062819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811257605.3A CN109062819B (zh) 2018-10-26 2018-10-26 一种软件测试用例的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811257605.3A CN109062819B (zh) 2018-10-26 2018-10-26 一种软件测试用例的生成方法及装置

Publications (2)

Publication Number Publication Date
CN109062819A true CN109062819A (zh) 2018-12-21
CN109062819B CN109062819B (zh) 2022-02-01

Family

ID=64767685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811257605.3A Active CN109062819B (zh) 2018-10-26 2018-10-26 一种软件测试用例的生成方法及装置

Country Status (1)

Country Link
CN (1) CN109062819B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740138A (zh) * 2018-12-25 2019-05-10 国云科技股份有限公司 一种实现思维导图软件中图片文件可编辑的方法
CN110687376A (zh) * 2019-10-11 2020-01-14 南京能云电力科技有限公司 一种继电保护装置测试模板智能生成系统及方法
CN112148593A (zh) * 2020-09-01 2020-12-29 杭州大搜车汽车服务有限公司 测试用例管理方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176896A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
US8949670B1 (en) * 2012-09-26 2015-02-03 Emc Corporation Method and system for translating mind maps to test management utility test cases
CN107491394A (zh) * 2017-08-25 2017-12-19 中国银行股份有限公司 一种基于有向图识别的测试分析方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176896A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
US8949670B1 (en) * 2012-09-26 2015-02-03 Emc Corporation Method and system for translating mind maps to test management utility test cases
CN107491394A (zh) * 2017-08-25 2017-12-19 中国银行股份有限公司 一种基于有向图识别的测试分析方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740138A (zh) * 2018-12-25 2019-05-10 国云科技股份有限公司 一种实现思维导图软件中图片文件可编辑的方法
CN110687376A (zh) * 2019-10-11 2020-01-14 南京能云电力科技有限公司 一种继电保护装置测试模板智能生成系统及方法
CN112148593A (zh) * 2020-09-01 2020-12-29 杭州大搜车汽车服务有限公司 测试用例管理方法、装置及设备
CN112148593B (zh) * 2020-09-01 2024-04-19 杭州大搜车汽车服务有限公司 测试用例管理方法、装置及设备

Also Published As

Publication number Publication date
CN109062819B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
CN108664400B (zh) 一种基于相依贝叶斯网络的故障诊断技术的构建方法
CN109376092B (zh) 一种面向缺陷补丁代码的软件缺陷原因自动分析方法
CN109062819A (zh) 一种软件测试用例的生成方法及装置
CN109063164A (zh) 一种基于深度学习的智能问答方法
CN108279885B (zh) 一种对多个模型代码进行软件集成的方法及装置
CN109448703A (zh) 结合深度神经网络和主题模型的音频场景识别方法及系统
CN110377751A (zh) 课件智能生成方法、装置、计算机设备及存储介质
Li Teaching programming based on Computational Thinking
Jormanainen et al. Using data mining to support teacher's intervention in a robotics class
Wu et al. Learning and self-instruction expert system for Yoga
CN106096159B (zh) 一种云平台下的分布式系统行为仿真分析系统的实现方法
CN107247827A (zh) 基于机器学习的虚端子模型建模及自动连线方法
Han et al. A-BPS: automatic business process discovery service using ordered neurons LSTM
CN113988418A (zh) 一种能源负荷预测的可视化方法
CN107589936B (zh) 基于需求文本与可变性模型追踪关系的产品线可变性配置优化方法
Jugel et al. Providing EA decision support for stakeholders by automated analyses
Unterdechler et al. Identifying repeating patterns in IEC 61499 systems using Feature-Based embeddings
Axer et al. Aphasia classification using neural networks
CN109408114A (zh) 一种程序错误自动修正方法、装置、电子设备及存储介质
CN106155989A (zh) 专利文件生成方法和装置
CN104375827B (zh) 基于高层设计的交互式软件自动化重构方法
Tokuhara et al. Acquisition of characteristic block preserving outerplanar graph patterns by genetic programming using label information
Zhang et al. Research on Defect Location Method of C Language Code Based on Deep Learning
CN111562944B (zh) 程序代码的比对方法、比对装置
Becks et al. Automatically structuring textual requirement scenarios

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant