CN108170602B - 一种测试用例生成方法、装置、终端及计算机可读介质 - Google Patents
一种测试用例生成方法、装置、终端及计算机可读介质 Download PDFInfo
- Publication number
- CN108170602B CN108170602B CN201711463468.4A CN201711463468A CN108170602B CN 108170602 B CN108170602 B CN 108170602B CN 201711463468 A CN201711463468 A CN 201711463468A CN 108170602 B CN108170602 B CN 108170602B
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- atomic
- path
- migration
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Abstract
本发明实施例公开了一种测试用例生成方法、装置、终端及计算机可读介质,其中该方法包括:根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径;根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中路径矩阵中包含顺序排列的原子测试用例编号;根据路径矩阵调取原子测试用例,组合成测试用例。本发明实施例提供的一种测试用例生成方法、装置、终端及计算机可读介质,通过解析生成的路径矩阵,依次调取原子测试用例,并组合为测试用例,缩短了测试用例编写时间,提高了编写效率及准确率,避免了人力资源浪费。
Description
技术领域
本发明实施例涉及测试技术,尤其涉及一种测试用例生成方法、装置、终端及计算机可读介质。
背景技术
随着信息技术产业的发展,软件产品功能复杂度大幅提高,功能安全要求也相应提高,且软件产品开发周期逐渐缩短,这就导致了软件产品测试规模变大,测试质量要求和测试效率要求越来越高。
现有软件产品测试用例生成方法中测试用例生成方法为,测试人员根据需求在原子测试用例库中筛选需要使用的原子测试用例,并将各原子测试用例根据各测试路径顺序进行组合,手工编写测试用例文件。当待测试软件功能的功能状态数量较多时,运用该方法会为测试人员带来巨大的工作量,耗费大量时间和精力,效率低下,且错误率高。
发明内容
有鉴于此,本发明实施例提供了一种测试用例生成方法、装置、终端及计算机可读介质,缩短了测试用例编写时间,提高了编写效率及准确率,避免了人力资源浪费。
第一方面,本发明实施例提供了一种测试用例生成方法,包括:
根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径;
根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中所述路径矩阵中包含顺序排列的原子测试用例编号;
根据所述路径矩阵调取原子测试用例,组合成测试用例。
第二方面,本发明实施例提供了一种测试用例生成装置,包括:
测试系统构建模块,用于根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径;
路径矩阵形成模块,用于根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中所述路径矩阵中包含顺序排列的原子测试用例编号;
测试用例生成模块,用于根据所述路径矩阵调取原子测试用例,组合成测试用例。
第三方面,本发明实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的测试用例生成方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的测试用例生成方法。
本发明实施例提供的一种测试用例生成方法、装置、终端及计算机可读介质,通过解析生成的路径矩阵,依次调取原子测试用例,并组合为测试用例,缩短了测试用例编写时间,提高了编写效率及准确率,避免了人力资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种测试系统结构示意图;
图2是本发明实施例一提供的一种测试用例生成方法流程图;
图3是本发明实施例一提供的一种测试系统结构示意图;
图4是本发明实施例二提供的一种测试用例生成装置结构示意图;
图5是本发明实施例三提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于软件产品的测试,测试用例构成了设计和制定测试过程的基础,包括标题、参数、内容等要素。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
其中,将待测试软件功能进行拆分,得到最小的功能对象可以称为原子功能对象。为测试原子功能对象所运用的测试用例可以称为原子测试用例。其中,软件测试用例可以由多个原子测试用例组成。原子测试用例包括编号、标题、测试输入、执行条件以及预期结果等要素,需要人工编写,并可以存储于原子测试用例库中。示例性的,原子测试用例库中的原子测试用例可以如表1所示。
通常情况下,待测试软件功能可拆分为多个原子功能对象,也可称为功能状态,可以迁移的两个功能状态间对应一个原子测试用例。对待测试软件功能进行测试时,始发功能状态与终止功能状态之间可以包含多个功能状态,各功能状态的迁移方式不同,构成的迁移路径相应发生变化,每条迁移路径对应多个原子测试用例。示例性的,图1给出了始发功能状态与终止功能状态之间两条迁移路径,其中,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。路径1对应两个原子测试用例,路径2对应三个原子测试用例。
表1
实施例一
图2是本发明实施例一提供的一种测试用例生成方法流程图,本实施例可适用于测试用例生成的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。参见图2,该测试用例生成方法包括如下步骤:
S210、根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径。
其中,测试系统可以理解为将待测软件的进行功能梳理,并将梳理得到的各项功能进行简化修改,从而获得的一个更简易的,更通用的待测软件测试模型。其中,根据构建的测试系统,可以人工或自动索引得到至少一条迁移路径。
可选的,根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径,包括:
根据待测软件的功能构建功能系统;
简化功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的原子测试用例编号,生成测试系统;
遍历测试系统,根据功能状态的迁移方式确定测试系统的至少一条迁移路径。
其中,待测软件的功能系统可以用结构示意图的形式表示。测试人员可以通过人工方式或者自动化梳理待测软件的各项功能状态,并构建功能系统的结构示意图。在功能系统的结构示意图中,除包含各项功能状态外,还包含各项功能状态的迁移方式。其中,迁移方式可以包括迁出分支以及迁出分支的迁移对象,示例性的,功能状态1的迁移方式可以为,包括两个迁出分支,且通过两个迁出分支分别迁移到功能状态2和功能状态3。
进一步的,简化功能系统,可以包括:
识别待测软件中的原始功能状态和细化功能状态,并删除功能系统中的细化功能状态,保留原始功能状态;判断删除的细化功能状态是否存在迁出分支,若存在迁出分支,则更改简化后功能系统中的各原始功能状态的迁移方式;将原始功能状态间的迁移条件替换为预设迁移条件。
其中,可以通过人工方式识别待测软件的原始功能状态和细化功能状态,还可以自动化识别原始功能状态和细化功能状态,例如,可以通过功能状态识别程序实现自动化识别,还可以利用神经网络实现自动化识别。可选的,通过对原始功能状态和细化功能状态设置不同的标识,通过识别标识确定原始功能状态和细化功能状态。
其中,在具体的细节功能状态不存在迁出分支时,细节功能状态的删除不会影响各功能状态间的迁移,即无需更改各功能状态的迁移方式;在具体的细节功能状态存在迁出分支时,细节功能状态的删除影响各功能状态间的迁移,此时需要更改简化后的功能系统中的各功能状态的迁移方式。
其中,将原始功能状态间的迁移条件替换为预设迁移条件可以指,将待测软件原始功能状态间的具体的迁移条件替换为预设的简化的迁移条件,例如,待测软件原始功能状态间的具体迁移条件为电压5V或电流20mA,预设迁移条件都可以设置为逻辑数字0、1或其他值。将具体的迁移条件替换为简单的预设迁移条件,可以使多个待测软件套用同一个简化后的功能系统,从而扩大了该简化后的功能系统的使用范围。
在简化功能系统后,可以根据各功能状态的迁出分支来确定各功能状态间的迁移编号,也可以理解为迁移编号是对迁出分支进行的编号。其中,迁移编号可以与原子测试用例编号相同或相应,通过确定各功能状态间的迁移编号,可以对应的确定各功能状态间的原子测试用例编号。
其中,对迁出分支进行编号的编号规则可以根据用户需求自定义设置,也可以使用终端默认的编号规则进行编号,示例性的,迁出编号的编号规则可以是根据功能状态的层级和每一层的分布状态,以由左至右以及由上至下的原则对每一个迁出分支进行编号。功能系统结构示意图经过简化和确定迁移编号即可生成的测试系统结构示意图,也就是生成了测试系统。
在测试系统中,从始发功能状态开始,通过运行始发功能状态的迁移分支来移至下一个功能状态,再运行下一个功能状态的迁移分支直至终止功能状态,将一次运行的始发功能状态至终止功能状态间的所经历的功能状态进行串联,可得到一条测试系统的迁移路径。
其中,始发功能状态与终止功能状态可以是预先设置的,也可以是根据测试系统中各功能模块的迁移关系确定的。始发功能状态与终止功能状态可以为同一个功能状态,也可以为不同的功能状态,也就是初始节点和终止节点可以为同一个节点,也可以为不同的节点。示例性的,当迁移路径为功能状态1→功能状态2→功能状态3时,初始节点为功能状态1,终止节点为功能状态3,两者不相同;当迁移路径为功能状态1→功能状态2→功能状态3→功能状态1时,初始节点与终止节点相同,皆为功能状态1。
通常情况下,测试系统可以包含有多条始发功能状态至终止功能状态间的迁移路径。例如,参见图1提供的测试系统结构示意图,其中始发功能状态与终止功能状态之间存在两条迁移路径,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。
S220、根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中路径矩阵中包含顺序排列的原子测试用例编号。
其中,通过遍历测试系统可以获得至少一条测试系统的测试路径。可以运行每一条测试路径,并按每一条测试路径中迁出分支运行顺序记录迁移编号。当迁移编号与原子测试用例编号相同时,也就相当于记录了对应的原子测试用例编号。
其中,在运行每一条测试路径后,将原子测试用例编号按运行顺序及写入规律写入矩阵中,即得到了每一条测试路径对应的矩阵。其中,写入规律可以按从左到右写入一行的规律,将原子测试用例编号依次写入矩阵中;也可以按从上到下写入一列的规律,将原子测试用例编号依次写入矩阵中。其中,为便于管理,路径矩阵可以用表格的形式进行存储和处理。
其中,可以根据各测试路径的运行顺序及运行次数,将每条测试路径对应的矩阵合并为一个矩阵,根据合并后的矩阵可以生成测试用例。
可选的,根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,包括:
根据每一条迁移路径中各迁出分支的运行顺序,记录对应的原子测试用例编号,形成每一条迁移路径的原子测试用例编号序列;
根据每一条迁移路径的测试次数和测试顺序,将对应的原子测试用例编号序列进行排序并记录,形成路径矩阵,其中,在每一条迁移路径的首个原子测试用例编号前,设置间隔标识符,间隔标识符用以划分各迁移路径的原子测试用例编号序列。
其中,原子测试用例编号序列,可以理解为原子测试用例编号在路径矩阵中按行排列形成的行向量,或按列排列形成的列向量。其中,若一条测试路径连续测试多次,则该条路径对应的原子测试用例编号序列也相应的重复多次。其中,按测试路径的运行顺序,各路径对应的原子测试用例编号序列依次排列,合并成一个总的的编号序列。
其中,间隔标识符可以为用户自定义间隔标识符,也可以是测试用例生成装置默认设置的间隔标识符。其中,间隔标识符例如可以是数字、字母、空格或特殊符号,以及数字、字母、空格或特殊符号的任意组合。
示例性的,图3提供了一种测试系统结构示意图。其中,功能状态1-1为初始节点,功能状态4-1为终止节点。从初始节点至终止节点包含了三条测试路径,其遍历顺序可以是:路径1,功能状态1-1→功能状态2-1→功能状态2-2→功能状态3-1→功能状态4-1;路径2,功能状态1-1→功能状态2-1→功能状态3-1→功能状态4-1;路径3,功能状态1-1→功能状态2-2→功能状态3-1→功能状态4-1。
假设原子测试用例编号序列为按行排列形成的行向量,且以表格的形式进行存储和处理。则路径1对应的原子测试用例编号序列如表2所示,路径2对应的原子测试用例编号序列如表3所示,路径3对应的原子测试用例编号序列如表4所示。
表2
11 | 21 | 23 | 31 |
表3
11 | 22 | 31 |
表4
12 | 23 | 31 |
假设路径测试顺序依次为路径3,路径2,路径1,且路径3测试两次,路径2测试一次,路径1测试一次,则形成的路径矩阵为表4重复排列两次,表3排列1次,表2排列1次。此外,为划分各条路径的原子测试用例编号序列,将每一条迁移路径的首个原子测试用例编号前,设置间隔标识符0,生成的路径矩阵如表5所示。
表5
0 | 12 | 23 | 31 | 0 | 12 | 23 | 31 | 0 | 11 | 22 | 31 | 0 | 11 | 21 | 23 | 31 |
同理,假设原子测试用例编号序列为按列排列形成的列向量,且以表格的形式进行存储和处理,则表5形成的路径矩阵可以如表6所示。
表6
0 |
12 |
23 |
31 |
0 |
12 |
23 |
31 |
0 |
11 |
22 |
31 |
0 |
11 |
21 |
23 |
31 |
将各条测试路径的路径矩阵按运行次数以及运行顺序进行排列,组合生成测试系统的路径矩阵,可以根据生成的路径矩阵依次调取原子测试用例,用以自动编写测试用例文件,缩短了测试用例文件的编写时间,提高了编写效率。
S230、根据路径矩阵调取原子测试用例,组合成测试用例。
依次获取路径矩阵中的原子测试用例编号,例如,若路径矩阵中原子测试用例编号序列为按行排列形成的行向量,且以表格的形式进行存储和处理,则从左到右依次获取原子测试用例编号;若路径矩阵中原子测试用例编号序列为按列排列形成的列向量,且以表格的形式进行存储和处理,则从上到下依次获取原子测试用例编号。
根据原子测试用例编号从原子测试用例库中调取相应的原子测试用例,并将各原子测试用例进行组合,生成测试用例。
可选的,根据路径矩阵调取原子测试用例,组合成测试用例,包括:
依次解析路径矩阵中的数据;
当数据为间隔标识符时,按预设文件格式创建测试用例文件,并对测试用例文件进行标号;
当数据为原子测试用例编号时,调取原子测试用例编号对应的原子测试用例中的数据信息,并写入测试用例文件中;
于路径矩阵中数据解析结束时,将所有测试用例文件按标号排序,形成测试用例。
示例性的,如表6所示的路径矩阵,按从上到下的顺序依次解析路径矩阵中的数据。当数据为间隔标识符0时,则按预设文件格式创建测试用例文件。其中,预设文件格式可以根据用户的测试需求进行自定义设置,也可以是测试用例生成装置默认设置的文件格式。其中,文件格式中至少包括,标题、测试输入、参数条件、预期输出。例如,预设文件格式可以如表7所示。
表7
表6中包含有4个间隔标识符0,则需创建4个测试用例文件,并依次标号为测试用例文件1、测试用例文件2、测试用例文件3和测试用例文件4。其中,测试用例文件的标号顺序可以作为测试顺序。
当创建测试用例文件1之后,开始获取原子测试用例编号12、23和31对应的原子测试用例中的数据信息。其中,原子测试用例中的数据信息包括:原子测试用例中的标题、测试输入、执行条件以及预期结果。
其中,可以获取原子测试用例编号12对应的原子测试用例中的数字信息,例如测试输入、参数以及预期结果,并将获取数字信息输入测试用例文件1中。若预设文件格式如表7所示,则将获取数字信息输入测试用例文件1中第五行。其中,原子测试用例编号12对应的原子测试用例中假如含有多个步骤,则可以按步骤先后顺序,将每个步骤对应的测试输入、参数以及预期结果参数各写入一行,即原子测试用例编号12对应的原子测试用例可以包含多行的测试输入、参数以及预期结果。
还可以获取原子测试用例编号12对应的原子测试用例中的文本信息,例如可以是标题,并可以将该标题写入测试文件1的标题栏中。需要注意的是,对获取数字信息和获取文本信息的顺序没有限定,可以先获取数字信息或者先获取文本信息。此外,测试系统中,在所有测试路径对应的原子测试用例的标题信息都相同的情况下,可以将每一条测试路径中第一个原子测试用例对应的标题写入测试文件的标题栏,也可以将每一条测试路径中最后一个原子测试用例对应的标题写入测试文件的标题栏,或任一原子测试用例的标题写入标题栏。
示例性的,若原子测试用例编号12对应的原子测试用例包含2个步骤,原子测试用例编号23对应的原子测试用例包含1个步骤,原子测试用例编号31对应的原子测试用例包含3个步骤,则写入数字信息后,且将原子测试用例编号12对应的原子测试用例标题写入标题栏后,得到的测试用例文件1可以如表8所示。值得注意的是,表8中所有数值以及文本仅为示例性描述,不具有限定作用。
表8
其中,测试用例生成装置将原子测试用例中数字信息写入测试用例文件时,若将每一个原子测试用例中的步骤自动从0开始时标号,则会出先表8的第一列从第四行至最后一行中的情况。其中,前两个数字0和1,对应的原子测试用例编号12对应的原子测试用例中的2个步骤;第三个数字0,对应的原子测试用例编号23对应的原子测试用例中的1个步骤;后三个数字0、1和2,对应的原子测试用例编号31对应的原子测试用例的3个步骤。
在测试平台读取测试用例文件时,通常直接读取文件中的数据内容。例如,如表8所示,测试平台通常读取第四行至最后一行的数据。通过按顺序依次读取测试输入和参数来对待测软件的功能系统进行测试,输出结果与预期结果进行比较分析,从而生成测试报告。
可选的,在调取原子测试用例编号对应的原子测试用例中的数据信息,并写入测试用例文件中之后,还包括:
更新测试用例文件中各原子测试用例的步骤标号。
其中,更新步骤标号可以理解为,将测试用例文件中所有原子测试用例的步骤进行统一标号。统一标号后,可以使测试平台根据步骤标号顺序进行读取数据,提高了数据读取的效率以及准确率,且可以使生成的测试用例文件更加美观。示例性的,将表8中原子测试用例的步骤标号进行更新后,可以得到测试用例文件如表9所示。
表9
如表6所示的路径矩阵,在生成测试用例文件1之后,按上述方法依次生成测试用例文件2、测试用例文件3和测试用例文件4。其中,测试用例文件1和测试用例文件2相同,皆为测试路径3对应的测试用例文件,测试用例文件3为路径2对应的测试用例文件,测试用例文件4为路径1对应的测试用例文件。将测试用例文件按标号顺序进行存储,组合为测试用例。
本实施例提供的测试用例生成方法,通过解析生成的路径矩阵,依次调取原子测试用例,生成测试用例文件并组合为测试用例,缩短了测试用例编写时间,提高了编写效率及准确率,避免了人力资源浪费。
实施例二
图4是本发明实施例二提供的一种测试用例生成装置结构示意图,本实施例可适用于测试用例生成。
参见图4,本实施例中测试用例生成装置包括:
测试系统构建模块410,用于根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径。
路径矩阵形成模块420,用于根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中路径矩阵中包含顺序排列的原子测试用例编号。
测试用例生成模块430,用于根据路径矩阵调取原子测试用例,组合成测试用例。
可选的,测试系统构建模块410,包括:
功能系统构建单元,用于根据待测软件的功能构建功能系统;
测试系统构建单元,用于简化功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的原子测试用例编号,生成测试系统;
测试路径确定单元,用于遍历测试系统,根据功能状态的迁移方式确定测试系统的至少一条迁移路径。
可选的,路径矩阵形成模块420,包括:
用例编号序列形成单元,用于根据每一条迁移路径中各迁出分支的运行顺序,记录对应的原子测试用例编号,形成每一条迁移路径的原子测试用例编号序列;
路径矩阵形成单元,用于根据每一条迁移路径的测试次数和测试顺序,将对应的原子测试用例编号序列进行排序并记录,形成路径矩阵,其中,在每一条迁移路径的首个原子测试用例编号前,设置间隔标识符,间隔标识符用以划分各迁移路径的原子测试用例编号序列。
可选的,测试用例生成模块430,包括:
数据解析单元,用于依次解析路径矩阵中的数据;
文件创建单元,用于当数据为间隔标识符时,按预设文件格式创建测试用例文件,并对测试用例文件进行标号;
数据写入单元,用于当数据为原子测试用例编号时,调取原子测试用例编号对应的原子测试用例中的数据信息,并写入测试用例文件中;
文件排序单元,于路径矩阵中数据解析结束时,将所有测试用例文件按标号排序,形成测试用例。
其中,原子测试用例中的数据信息至少包括:原子测试用例中的标题、测试输入、执行条件以及预期结果。
可选的,测试用例生成模块430,还包括:
步骤标号更新单元,用于在调取原子测试用例编号对应的原子测试用例中的数据信息,并写入所述测试用例文件中之后,更新测试用例文件中各原子测试用例的步骤标号。
本实施例提供的测试用例生成装置,与实施例一提出的测试用例生成方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例三
本实施例提供了一种终端,可以用于测试用例生成。图5是本发明实施例三提供的一种终端的结构示意图。参见图5,该终端包括:
一个或多个处理器510;
存储器520,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器510执行,使得所述一个或多个处理器510实现如实施例一提出的测试用例生成方法。
图5中以一个处理器510为例;处理器510和存储器520可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的测试用例生成方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的测试用例生成方法。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
另外,根据终端的不同形式,除了处理器510和存储器520,终端还可以包括其他模块或结构,例如,终端还可以包括鼠标键盘等输入设备,用于供测试人员进行原子测试用例编写;又如,终端还可以包括显示屏幕,用于显示测试用例文件。
本实施例提出的终端与实施例一提出的测试用例生成方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一提出的测试用例生成方法。
本实施例提出的计算机可读存储介质与实施例一提出的测试用例生成方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种测试用例生成方法,其特征在于,包括:
根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径;
所述根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径,包括:
将所述待测软件的功能拆分成多个功能状态,通过梳理所述待测软件各功能状态,构建所述待测软件功能系统的结构示意图;
根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中所述路径矩阵中包含顺序排列的原子测试用例编号;
所述根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,包括:
根据每一条迁移路径中各迁出分支的运行顺序,记录对应的原子测试用例编号,形成每一条迁移路径的原子测试用例编号序列;
根据每一条迁移路径的测试次数和测试顺序,将对应的原子测试用例编号序列进行排序并记录,形成路径矩阵,其中,在每一条迁移路径的首个原子测试用例编号前,设置间隔标识符,所述间隔标识符用以划分各迁移路径的原子测试用例编号序列;
根据所述路径矩阵调取原子测试用例,组合成测试用例。
2.根据权利要求1所述的方法,其特征在于,根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径,包括:
根据待测软件的功能构建功能系统;
简化所述功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的原子测试用例编号,生成测试系统;
所述简化所述功能系统的方法包括:
识别所述待测软件中的原始功能状态和细化功能状态,删除所述功能系统中的所述细化功能状态,保留所述原始功能状态;判断删除的所述细化功能状态是否存在迁出分支,若存在所述迁出分支,则更改简化后功能系统中的各所述原始功能状态的迁移方式;将所述原始功能状态间的迁移条件替换为预设迁移条件;
遍历所述测试系统,根据所述功能状态的迁移方式确定所述测试系统的至少一条迁移路径。
3.根据权利要求2所述的方法,其特征在于,根据所述路径矩阵调取原子测试用例,组合成测试用例,包括:
依次解析所述路径矩阵中的数据;
当所述数据为间隔标识符时,按预设文件格式创建测试用例文件,并对所述测试用例文件进行标号;
当所述数据为原子测试用例编号时,调取原子测试用例编号对应的原子测试用例中的数据信息,并写入所述测试用例文件中;
当路径矩阵中数据解析结束时,将所有测试用例文件按标号排序,形成测试用例。
4.根据权利要求3所述的方法,其特征在于,所述原子测试用例中的数据信息包括:原子测试用例中的标题、测试输入、执行条件以及预期结果。
5.根据权利要求3所述的方法,其特征在于,在所述调取原子测试用例编号对应的原子测试用例中的数据信息,并写入所述测试用例文件中之后,还包括:
更新测试用例文件中各原子测试用例的步骤标号。
6.一种测试用例生成装置,其特征在于,包括:
测试系统构建模块,用于根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径;
所述根据待测软件的功能构建测试系统,并确定测试系统的至少一条迁移路径,包括:
将所述待测软件的功能拆分成多个功能状态,通过梳理所述待测软件各功能状态,构建所述待测软件功能系统的结构示意图;
路径矩阵形成模块,用于根据每一条迁移路径的测试次数和测试顺序形成路径矩阵,其中所述路径矩阵中包含顺序排列的原子测试用例编号;
所述路径矩阵形成模块,还包括:
用例编号序列形成单元,用于根据每一条迁移路径中各迁出分支的运行顺序,记录对应的原子测试用例编号,形成每一条迁移路径的原子测试用例编号序列;
路径矩阵形成单元,用于根据每一条迁移路径的测试次数和测试顺序,将对应的原子测试用例编号序列进行排序并记录,形成路径矩阵,其中,在每一条迁移路径的首个原子测试用例编号前,设置间隔标识符,所述间隔标识符用以划分各迁移路径的原子测试用例编号序列;
测试用例生成模块,用于根据所述路径矩阵调取原子测试用例,组合成测试用例。
7.根据权利要求6所述的装置,其特征在于,
所述测试用例生成模块,包括:
数据解析单元,用于依次解析所述路径矩阵中的数据;
文件创建单元,用于当所述数据为间隔标识符时,按预设文件格式创建测试用例文件,并对所述测试用例文件进行标号;
数据写入单元,用于当所述数据为原子测试用例编号时,调取原子测试用例编号对应的原子测试用例中的数据信息,并写入所述测试用例文件中;
文件排序单元,当路径矩阵中数据解析结束时,将所有测试用例文件按标号排序,形成测试用例。
8.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的测试用例生成方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的测试用例生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463468.4A CN108170602B (zh) | 2017-12-28 | 2017-12-28 | 一种测试用例生成方法、装置、终端及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711463468.4A CN108170602B (zh) | 2017-12-28 | 2017-12-28 | 一种测试用例生成方法、装置、终端及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170602A CN108170602A (zh) | 2018-06-15 |
CN108170602B true CN108170602B (zh) | 2021-04-02 |
Family
ID=62519685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711463468.4A Active CN108170602B (zh) | 2017-12-28 | 2017-12-28 | 一种测试用例生成方法、装置、终端及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170602B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815128A (zh) * | 2018-12-21 | 2019-05-28 | 北京奇艺世纪科技有限公司 | 测试用例的执行方法、装置、终端及计算机可读存储介质 |
CN112015610B (zh) * | 2019-05-28 | 2022-04-26 | 中国商用飞机有限责任公司 | 一种测试序列的生成方法、装置、设备及介质 |
CN112597742A (zh) * | 2020-12-02 | 2021-04-02 | 长春光华微电子设备工程中心有限公司 | 晶圆探针台自定义测试路径实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189116B1 (en) * | 1998-07-14 | 2001-02-13 | Autodesk, Inc. | Complete, randomly ordered traversal of cyclic directed graphs |
CN103019934A (zh) * | 2012-11-28 | 2013-04-03 | 北京交控科技有限公司 | 基于数据代码分离技术的测试用例生成方法 |
CN106681915A (zh) * | 2016-12-19 | 2017-05-17 | 成都康赛信息技术有限公司 | 软件功能测试用例设计方法 |
CN107229486A (zh) * | 2016-03-24 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 应用场景确定方法及装置 |
-
2017
- 2017-12-28 CN CN201711463468.4A patent/CN108170602B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189116B1 (en) * | 1998-07-14 | 2001-02-13 | Autodesk, Inc. | Complete, randomly ordered traversal of cyclic directed graphs |
CN103019934A (zh) * | 2012-11-28 | 2013-04-03 | 北京交控科技有限公司 | 基于数据代码分离技术的测试用例生成方法 |
CN107229486A (zh) * | 2016-03-24 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 应用场景确定方法及装置 |
CN106681915A (zh) * | 2016-12-19 | 2017-05-17 | 成都康赛信息技术有限公司 | 软件功能测试用例设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108170602A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8930919B2 (en) | Modernization of legacy software systems based on modeled dependencies | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN108170602B (zh) | 一种测试用例生成方法、装置、终端及计算机可读介质 | |
CN107220096A (zh) | 一种json数据解析方法及装置 | |
US10303760B2 (en) | Cascading style sheet meta language performance | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
Tosadori et al. | Creating, generating and comparing random network models with NetworkRandomizer | |
CN104182347A (zh) | 一种基于自动化测试平台的测试需求自动分析方法 | |
CN109032937B (zh) | 一种基于网页的数据选取方法及系统 | |
CN112231197A (zh) | 一种页面测试的方法、装置和存储介质 | |
JP6508327B2 (ja) | テキスト可視化システム、テキスト可視化方法、及び、プログラム | |
CN112783775B (zh) | 特殊字符输入测试方法及装置 | |
CN115495362A (zh) | 生成测试代码的方法、装置、存储介质及计算机设备 | |
CN113672509A (zh) | 自动化测试方法、装置、测试平台及存储介质 | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN114168122A (zh) | 数据脚本的生成方法及装置 | |
CN114143235A (zh) | Nfv自动测试方法、装置、设备及存储介质 | |
CN112612597A (zh) | 一种生成线性任务队列方法及装置 | |
JP6802109B2 (ja) | ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法 | |
CN110750449A (zh) | 一种测试驱动的网页构件功能抽取方法 | |
CN111309623B (zh) | 一种坐标类数据分类测试方法及装置 | |
CN116909533B (zh) | 计算机程序语句编辑方法、装置、存储介质及电子设备 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
WO2018172221A1 (en) | Method for computer-implemented determination of the performance of a classification model | |
CN114996148A (zh) | 基于pyspark的自动化测试方法、装置、计算机设备及存储介质 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211124 Address after: 215200 558 FENHU Road, Wujiang District, Suzhou, Jiangsu Patentee after: Suzhou sanover Power Technology Co.,Ltd. Address before: 201800 room j270, 8 / F, 1112 Hanggui Road, Anting Town, Jiading District, Shanghai Patentee before: SHANGHAI PUHENG NEW ENERGY TECHNOLOGY CO.,LTD. |