CN108170601A - 一种测试路径索引方法、装置、终端及计算机可读介质 - Google Patents

一种测试路径索引方法、装置、终端及计算机可读介质 Download PDF

Info

Publication number
CN108170601A
CN108170601A CN201711461475.0A CN201711461475A CN108170601A CN 108170601 A CN108170601 A CN 108170601A CN 201711461475 A CN201711461475 A CN 201711461475A CN 108170601 A CN108170601 A CN 108170601A
Authority
CN
China
Prior art keywords
migration
functional status
function
branch
test
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
CN201711461475.0A
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.)
Shanghai Pu Heng Amperex Technology Ltd
Original Assignee
Shanghai Pu Heng Amperex Technology 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 Shanghai Pu Heng Amperex Technology Ltd filed Critical Shanghai Pu Heng Amperex Technology Ltd
Priority to CN201711461475.0A priority Critical patent/CN108170601A/zh
Publication of CN108170601A publication Critical patent/CN108170601A/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
    • G06F11/3676Test management for coverage analysis
    • 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

一种测试路径索引方法、装置、终端及计算机可读介质
技术领域
本发明实施例涉及测试技术,尤其涉及一种测试路径索引方法、装置、终端及计算机可读介质。
背景技术
随着信息技术产业的发展,软件产品功能复杂度大幅提高,功能安全要求也相应提高,且软件产品开发周期逐渐缩短,这就导致了软件产品测试规模变大,测试质量要求和测试效率要求越来越高。
现有软件产品测试方法中测试路径的索引方法为,测试人员人工索引各测试路径。当待测试软件功能的功能状态数量较多时,测试路径可能呈指数增长,此时人工索引路径会为测试人员带来巨大的工作量,耗费大量时间和精力,效率低下,且容易考虑不全,导致出现索引路径存在遗漏的情况。
发明内容
有鉴于此,本发明实施例提供了一种测试路径索引方法、装置、终端及计算机可读介质,缩短了测试路径索引时间,提高了测试路径索引效率及准确率,避免了人力资源浪费。
第一方面,本发明实施例提供了一种测试路径索引方法,包括:
根据待测软件的功能和预设构建规则构建功能***;
简化所述功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***;
遍历所述测试***,根据所述功能状态的迁移方式确定所述测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
第二方面,本发明实施例提供了一种测试路径索引装置,包括:
功能***构建模块,用于根据待测软件的功能和预设构建规则构建功能***;
测试***生成模块,用于简化所述功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***;
迁移路径确定模块,用于遍历所述测试***,根据所述功能状态的迁移方式确定所述测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
第三方面,本发明实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的测试路径索引方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的测试路径索引方法。
本发明实施例提供的一种测试路径索引方法、装置、终端及计算机可读介质,通过遍历构建的测试***,索引测试***的迁移路径,缩短了测试路径索引时间,提高了测试路径索引效率及准确率,避免了人力资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种测试***结构示意图;
图2是本发明实施例一提供的一种测试路径索引方法流程图;
图3是本发明实施例一提供的一种测试***结构示意图;
图4是本发明实施例二提供的一种测试路径索引方法流程图;
图5是本发明实施例三提供的一种测试路径索引装置结构示意图;
图6是本发明实施例四提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于软件产品的测试,测试用例构成了设计和制定测试过程的基础,包括标题、参数、内容等要素。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
其中,将待测试软件功能进行拆分,得到最小的功能对象可以称为原子功能对象。为测试原子功能对象所运用的测试用例可以称为原子测试用例。其中,软件测试用例可以由多个原子测试用例组成。原子测试用例包括编号、标题、测试输入、执行条件以及预期结果等要素,需要人工编写,并可以存储于原子测试用例库中。示例性的,原子测试用例库中的原子测试用例可以如表1所示。
通常情况下,待测试软件功能可拆分为多个原子功能对象,也可称为功能状态,可以迁移的两个功能状态间对应一个原子测试用例。对待测试软件功能进行测试时,始发功能状态与终止功能状态之间可以包含多个功能状态,各功能状态的迁移方式不同,构成的迁移路径相应发生变化,每条迁移路径对应多个原子测试用例。示例性的,图1提供了一种测试***结构示意图,其中始发功能状态与终止功能状态之间存在两条迁移路径,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。路径1对应两个原子测试用例,路径2对应三个原子测试用例。
表1
实施例一
图2是本发明实施例一提供的一种测试路径索引方法流程图,本实施例可适用于测试路径索引的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。参见图2,该测试路径索引方法包括如下步骤:
S210、根据待测软件的功能和预设构建规则构建功能***。
其中,待测软件的功能***可以用结构示意图的形式表示。测试人员可以通过人工方式梳理待测软件的各项功能状态,并构建功能***的结构示意图;也可以自动化梳理待测软件的各项功能状态,并构建功能***的结构示意图,例如,可以通过功能***构建程序实现自动化构建,还可以利用神经网络实现自动化构建。
其中,预设构建规则可以包括各功能状态的分层规则和同一层各功能状态的排列规则。其中,预设构建规则可以根据用户需求进行自定义设置,也可以使用终端默认的预设构建规则进行构建,示例性的,分层规则可以根据迁移方式设定,排列规则可以根据功能状态的优先级顺序设定等。
可选的,根据待测软件的功能和预设构建规则构建功能***,包括:
根据待测软件的功能,梳理待测软件的各项功能状态,并设置各项功能状态的迁移方式,其中迁移方式包括迁出分支及迁出分支的迁移对象;
根据预设构建规则,将各项功能状态按迁移方式进行分层。
其中,在功能***的结构示意图中,除包含各项功能状态外,还包含各项功能状态的迁移方式。其中,迁移方式可以包括迁出分支以及迁出分支的迁移对象,示例性的,功能状态1的迁移方式可以为,包括两个迁出分支,且通过两个迁出分支分别迁移到功能状态2和功能状态3。
其中,可以采用迁出对象为被迁出功能状态的下一层的方式进行分层,例如,由功能状态1可迁移到功能状态2,若功能状态1为第一层,功能状态2为功能状态1的下一层,即为第二层。
其中,可以根据迁出分支的数量对同一层的功能状态进行排序,可以是迁出分支的数量较多的功能状态排序靠前,也可以是迁出分支的数量较少的功能状态排序靠前。示例性的,功能状态1和功能状态2为同一层的功能状态,若功能状态1包括三个迁出分支,功能状态2包括一个迁出分支,则可以是功能状态1的排序比功能状态2的排序靠前。其中,可以规定排序靠前的功能状态处于同一层的最左侧或最右侧或中间或指定位置。
进一步的,根据预设构建规则,将各项功能状态按迁移方式进行分层,包括:
确定始发功能状态,并将始发功能状态确定为功能***的第一层;
获取功能***的第N层中每个功能状态的迁出对象,确定迁出对象为功能***的第N+1层,其中,N为大于或等于1的正整数。
其中,始发功能状态指的是测试***中迁移路径的初始节点,可以将确定好的始发功能状态设置为第一层,将始发功能状态各迁出分支的迁移对象设置为第二层,以此类推,完成各功能状态的分层。
其中,若某功能状态可以被处于不同层的多个功能状态迁移,则选择距离始发功能状态路径最近的一层作为该功能状态的层数。示例性的,若功能状态3既是始发功能状态的迁对象移,作为第二层的功能状态,同时还是第二层的功能状态2的迁移对象,作为第三层的功能状态,则功能状态3选择距离始发功能状态最近的一层作为功能状态的层数,即功能状态3选择第二层作为功能状态的层数。
S220、简化功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***。
其中,在对功能***的功能状态进行删减后,可以对删减后功能状态的迁移方式进行调整,并将各功能状态的迁出分支按预设的编号规则进行编号,确定各功能状态间的迁移编号,即确定迁出分支的迁移编号。在功能***结构示意图经过简化和确定迁移编号后,生成的测试***结构示意图,也就是生成了测试***。
可选的,简化功能***,包括:
识别待测软件中的原始功能状态和细化功能状态,并删除功能***中的细化功能状态,保留原始功能状态;
判断删除的细化功能状态是否存在迁出分支,若存在迁出分支,则更改简化后功能***中的各原始功能状态的迁移方式;
将原始功能状态间的迁移条件替换为预设迁移条件。
其中,可以通过人工方式识别待测软件的原始功能状态和细化功能状态,还可以自动化识别原始功能状态和细化功能状态,例如,可以通过功能状态识别程序实现自动化识别,还可以利用神经网络实现自动化识别。可选的,通过对原始功能状态和细化功能状态设置不同的标识,通过识别标识确定原始功能状态和细化功能状态。
其中,在具体的细节功能状态不存在迁出分支时,细节功能状态的删除不会影响各功能状态间的迁移,即无需更改各功能状态的迁移方式;在具体的细节功能状态存在迁出分支时,细节功能状态的删除影响各功能状态间的迁移,此时需要更改简化后的功能***中的各功能状态的迁移方式。
其中,将原始功能状态间的迁移条件替换为预设迁移条件可以指,将待测软件原始功能状态间的具体的迁移条件替换为预设的简化的迁移条件,例如,待测软件原始功能状态间的具体迁移条件为电压5V或电流20mA,预设迁移条件都可以设置为逻辑数字0、1或其他值。将具体的迁移条件替换为简单的预设迁移条件,可以使多个待测软件套用同一个简化后的功能***,从而扩大了该简化后的功能***的使用范围。
可选的,根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,包括:
根据预设编号规则确定简化后功能***中各迁出分支的编号顺序;
根据编号顺序和原始功能状态的层数,对迁出分支进行编号,得到各迁出分支的迁移编号。
其中,根据预设编号规则确定简化后功能***中各迁出分支的编号顺序可以是,按功能状态的层数由高到低或由低到高的顺序进行编号。其中,对于同一层的功能状态的编号可以是按功能状态排序的顺序进行编号,例如可以从排序靠前或排序靠后的功能状态开始编号。其中,对于同一功能状态的不同迁出分支,可以是按从左到右、从上到下或从右到左、从上到下或其他预设顺序进行编号。
其中,根据编号顺序和原始功能状态的层数,对迁出分支进行编号可以是,以功能状态所处的层数作为迁出编号的首个数字,同一层中的各功能状态,按功能状态排序以及同一功能状态迁出分支排序,对迁出分支进行第二个数字的编号。
示例性的,图3提供了一种测试***结构示意图。其中,迁移分支01为默认迁入路径,通过默认迁入路径即可从其他测试***迁移至该测试***中;功能状态1-1为始发功能状态,为功能状态的第一层,则其迁出分支的第一个数字皆为1;其迁出分支从左到右进行第二个数字的编号,分别为1和2,则得到迁出分支编号为11和22。同理,功能状态2-1和功能状态2-2为功能状态的第二层,其迁出分支的第一个数字皆为2;功能状态2-1的迁出分支数大于功能状态2-2,可以优先对其迁移分支进行编号;对功能状态2-1的迁出分支按从左到右,从上到下的顺序,依次编号第二个数字的编号,分别为1和2,则得到迁出分支编号21和22;对功能状态2-1的所有迁出分支编号完毕后,可以对功能状态2-2进行编号,最终将图3提供了测试***中所有迁出分支进行编号。
S230、遍历测试***,根据功能状态的迁移方式确定测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
在测试***中,从始发功能状态开始,通过运行始发功能状态的迁移分支来移至下一个功能状态,再运行下一个功能状态的迁移分支直至终止功能状态,将一次运行的始发功能状态至终止功能状态间的所经历的功能状态进行串联,可得到一条测试***的迁移路径。其中,终止功能状态为测试***中迁移路径的终止节点。
其中,始发功能状态与终止功能状态可以是预先设置的,也可以是根据测试***中各功能模块的迁移关系确定的。始发功能状态与终止功能状态可以为同一个功能状态,也可以为不同的功能状态,也就是初始节点和终止节点可以为同一个节点,也可以为不同的节点。示例性的,当迁移路径为功能状态1→功能状态2→功能状态3时,初始节点为功能状态1,终止节点为功能状态3,两者不相同;当迁移路径为功能状态1→功能状态2→功能状态3→功能状态1时,初始节点与终止节点相同,皆为功能状态1。
通常情况下,测试***可以包含有多条始发功能状态至终止功能状态间的迁移路径。例如,参见图1提供的测试***结构示意图,其中始发功能状态与终止功能状态之间存在两条迁移路径,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。
其中,运行每一条迁移路径可以获得该条路径的迁移编号序列,当测试***包含多条迁移路径时,循环从始发功能状态运行至功能终止状态,当多条迁移路径全部运行结束时,即可获得该测试***的多个迁移编号序列。
其中,在遍历测试***过程中,可以在索引到全部迁移路径时停止运行测试***,也可以在判断测试***累积迁移次数超过预设置次数时停止运行测试***,以防测试***运行耗时过长。
本实施例提供的路径索引方法,通过遍历构建的测试***,索引始发功能状态与终止功能状态之间可运行的迁移路径,并根据迁移顺序确定迁移编号序列,避免了人工索引迁移路径导致的不准确问题以及人工和时间的浪费,提高了测试路径索引的准确率及效率。
实施例二
图4是本发明实施例二提供的一种测试路径索引方法流程图,本实施例在上述实施例的基础上,提供了遍历测试***的优选实施方式。与上述实施例相同或相应的术语解释,本实施例不再赘述。
参见图4,本实施例中测试路径索引方法包括:
S410、根据待测软件的功能和预设构建规则构建功能***。
S420、简化功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***。
S430、按预设遍历顺序,遍历测试***中各功能状态的迁出分支,形成至少一条迁移路径。
其中,预设遍历顺序可以与迁出分支编号顺序相对应,也可以与迁出分支编号顺序不对应。其中,遍历顺序与迁出分支编号顺序相对应时,按各功能状态的分支编号先后顺序,依次索引迁出路径。
示例性的,图3提供的测试***中,从初始节点至终止节点包含了三条测试路径,其遍历顺序可以是:路径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。
可选的,按预设遍历顺序,遍历测试***中各功能状态的迁出分支,包括:
获取当前运行的迁出分支的累积运行次数;
若累积运行次数小于或等于当前运行的迁出分支的运行阈值,则运行迁出分支,输出迁出分支的迁移编号,并将累积运行次数加一;
若累积运行次数大于当前运行的迁出分支的运行阈值,则停止运行当前运行的迁出分支,并按预设遍历顺序运行下一迁出分支。
其中,运行阈值可以根据用户需求自定义设置,例如可以是3次、5次或10次;也可以由测试***根据功能状态的个数进行的设置,例如可以设置为功能状态的个数的预设指数次幂。
示例性的,以图3提供的测试***中功能状态2-1为例,若当前将要运行的迁出分支为21,首先获取迁出分支21的累积运行次数;当累积运行次数小于或等于运行阈值时,则继续运行迁出分支21,并输出迁出分支21的迁移编号,同时迁移分支21的累积运行次数加一;当累积运行次数大于运行阈值时,则停止运行迁出分支21,按遍历顺序运行迁出分支22,并输出迁出分支22的迁移编号,同时迁出分支22的累积运行次数加一。
通过判断迁移分支累积运行次数,用以确定是否运行下一迁出分支,可以保证遍历到测试***全部的迁出分支,使测试路径索引更加全面,避免了测试路径索引的遗漏现象。
其中,在遍历测试***过程中,当判断测试***累积迁移次数超过预设次数时,停止运行测试***。
具体的,当判断测试***累积迁移次数超过预设次数时,停止运行测试***,包括:
获取测试***中指定功能状态的累积迁移次数的输出值;
将输出值与预设的缓存值进行比对,若输出值与预设的缓存值相同,则确定测试***的输出为真,停止运行测试***。
其中,指定功能状态例如可以是始发功能状态,可以是终止功能状态,还可以是始发功能状态至终止功能状态间任一功能状态。其中,预设的缓存值可以根据用户需求自定义设置,例如可以是3次、5次或10次;预设的缓存值也可以由测试***根据功能状态的个数进行的设置,例如可以设置为功能状态的个数的预设指数次幂。
将指定功能状态的累积迁移次数作为测试***的累积迁移次数,当判断累积迁移次数与预设缓存值相同时,停止遍历过程,用以避免测试***运行耗时过长的情况。
S440、对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各迁出分支的迁移编号,形成迁移编号序列。
示例性的,以图3提供的测试***中的三条测试路径为例,路径1对应的迁移编号序列是11212331,路径2对应的迁移编号序列是112231,路径3对应的迁移编号序列可以是122331。其中,通过迁移编号位数判断或其他判断方法,可以从迁移编号序列中读取各迁移编号。此外,为防止迁移编号位数不同时发生的误读情况,在各迁移分支的迁移编号间可以设置迁移编号间隔标识符。其中,迁移编号间隔标识符可以为用户自定义间隔标识符,也可以是测试用例生成装置默认设置的间隔标识符。其中,迁移编号间隔标识符例如可以是数字、字母、空格或特殊符号,以及数字、字母、空格或特殊符号的任意组合。例如,当迁移编号间隔标识符为“-”时,路径1对应的迁移编号序列可以是11-22-31,路径2对应的迁移编号序列可以是11-21-23-31,路径3对应的迁移编号序列可以是12-23-31。
其中,若将三条路径的迁移编号序列整合为一个序列时,则可以用迁移路径间隔标识符进行间隔,迁移路径间隔标识符用以划分每条路径的迁移编号序列。其中,迁移路径间隔标识符可以为用户自定义间隔标识符,也可以是测试用例生成装置默认设置的间隔标识符。其中,迁移路径间隔标识符例如可以是数字、字母、空格或特殊符号,以及数字、字母、空格或特殊符号的任意组合。
例如,迁移路径间隔标识符为“#”时,路径1、路径2和路径3的整合序列可以是#11-22-31#11-21-23-31#12-23-31#。其中,每一个迁移路径的迁移编号序列在整合序列中的先后顺序可以是随机的,也可以根据测试需求确定。
本实施例提供的测试路径索引方法,详细阐述了遍历测试***的步骤,通过按预设遍历顺序依次遍历测试***的迁移分支,索引测试***的测试路径,避免了测试路径索引的遗漏现象,提高了测试路径索引的准确率及效率。
实施例三
图5是本发明实施例二提供的一种测试装置结构示意图,本实施例可适用于软件产品测试中测试路径索引。
参见图5,本实施例中测试装置包括:
功能***构建模块510,用于根据待测软件的功能和预设构建规则构建功能***;
测试***生成模块520,用于简化功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***;
迁移路径确定模块530,用于遍历测试***,根据功能状态的迁移方式确定测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
可选的,功能***构建模块510包括:
迁移方式设置单元,用于根据待测软件的功能,梳理待测软件的各项功能状态,并设置各项功能状态的迁移方式,其中迁移方式包括迁出分支及迁出分支的迁移对象;
分层单元,用于根据预设构建规则,将各项功能状态按迁移方式进行分层。
进一步的,分层单元可以包括:
始发功能状态确定子单元,用于确定始发功能状态,并将始发功能状态确定为功能***的第一层;
迁出队形层数确定子单元,用于获取功能***的第N层中每个功能状态的迁出对象,确定迁出对象为功能***的第N+1层,其中,N为大于或等于1的正整数。
可选的,测试***生成模块520,包括:
细化功能状态删除单元,用于识别待测软件中的原始功能状态和细化功能状态,并删除功能***中的细化功能状态,保留原始功能状态;
迁移方式更改单元,用于判断删除的细化功能状态是否存在迁出分支,若存在迁出分支,则更改简化后功能***中的各原始功能状态的迁移方式;
迁移条件替换单元,用于将原始功能状态间的迁移条件替换为预设迁移条件。
可选的,测试***生成模块520,还包括:
编号顺序确定单元,用于根据预设编号规则确定简化后功能***中各迁出分支的编号顺序;
迁出分支编号单元,用于根据编号顺序和原始功能状态的层数,对迁出分支进行编号,得到各迁出分支的迁移编号。
可选的,迁移路径确定模块530,包括:
迁移路径确定单元,用于按预设遍历顺序,遍历测试***中各功能状态的迁出分支,形成至少一条迁移路径。
迁移标号序列形成单元,用以对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各迁出分支的迁移编号,形成迁移编号序列。
进一步的,迁移路径确定单元,还可以包括:
当前分支运行次数获取子单元,用于获取当前运行的迁出分支的累积运行次数;
当前分支运行子单元,用于若累积运行次数小于或等于当前运行的迁出分支的运行阈值,则运行迁出分支,输出迁出分支的迁移编号,并将累积运行次数加一;
当前分支停止运行子单元,用于若累积运行次数大于当前运行的迁出分支的运行阈值,则停止运行当前运行的迁出分支,并按预设遍历顺序运行下一迁出分支。
可选的,迁移路径确定模块530,还可以包括:
测试***停止运行单元,用于在遍历测试***过程中,当判断测试***累积迁移次数超过预设次数时,停止运行测试***。
进一步的,测试***停止运行单元,可以包括:
指定功能状态迁移次数获取子单元,用于获取测试***中指定功能状态的累积迁移次数的输出值;
测试***停止运行子单元,用于将输出值与预设的缓存值进行比对,若输出值与预设的缓存值相同,则确定测试***的输出为真,停止运行测试***。
本实施例提供的测试装置,与实施例一至二提出的测试方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一至二,并且本实施例与实施例一具有相同的有益效果。
实施例四
本实施例提供了一种终端,可以用于软件产品测试中测试路径索引。图6是本发明实施例四提供的一种终端的结构示意图。参见图6,该终端包括:
一个或多个处理器610;
存储器620,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器610执行,使得所述一个或多个处理器610实现如实施例一至二提出的测试路径索引方法。
图6中以一个处理器610为例;处理器610和存储器620可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的测试路径索引方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的测试路径索引方法。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
另外,根据终端的不同形式,除了处理器610和存储器620,终端还可以包括其他模块或结构,例如,终端还可以包括鼠标键盘等输入设备,用于供测试人员进行测试***构建;又如,终端还可以包括显示屏幕,用于显示测试路径索引结果。
本实施例提出的终端与实施例一至二提出的测试路径索引方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一至二,并且本实施例与实施例一至二具有相同的有益效果。
实施例五
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一至二提出的测试路径索引方法。
本实施例提出的计算机可读存储介质与实施例一至二提出的测试路径索引方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一至二,并且本实施例与实施例一至二具有相同的有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种测试路径索引方法,其特征在于,包括:
根据待测软件的功能和预设构建规则构建功能***;
简化所述功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***;
遍历所述测试***,根据所述功能状态的迁移方式确定所述测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
2.根据权利要求1所述的方法,其特征在于,根据待测软件的功能和预设构建规则构建功能***,包括:
根据待测软件的功能,梳理待测软件的各项功能状态,并设置各项功能状态的迁移方式,其中所述迁移方式包括迁出分支及迁出分支的迁移对象;
根据预设构建规则,将所述各项功能状态按迁移方式进行分层。
3.根据权利要求2所述的方法,其特征在于,根据预设构建规则,将所述各项功能状态按迁移方式进行分层,包括:
确定始发功能状态,并将所述始发功能状态确定为所述功能***的第一层;
获取功能***的第N层中每个功能状态的迁出对象,确定所述迁出对象为所述功能***的第N+1层,其中,所述N为大于或等于1的正整数。
4.根据权利要求2所述的方法,其特征在于,简化所述功能***,包括:
识别所述待测软件中的原始功能状态和细化功能状态,并删除所述功能***中的所述细化功能状态,保留所述原始功能状态;
判断删除的所述细化功能状态是否存在迁出分支,若存在迁出分支,则更改简化后功能***中的各原始功能状态的迁移方式;
将所述原始功能状态间的迁移条件替换为预设迁移条件。
5.根据权利要求4所述的方法,其特征在于,根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,包括:
根据预设编号规则确定简化后功能***中各迁出分支的编号顺序;
根据所述编号顺序和所述原始功能状态的层数,对迁出分支进行编号,得到各迁出分支的迁移编号。
6.根据权利要求1所述的方法,其特征在于,遍历所述测试***,根据所述功能状态的迁移方式确定所述测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列,包括:
按预设遍历顺序,遍历所述测试***中各功能状态的迁出分支,形成至少一条迁移路径;
对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各所述迁出分支的迁移编号,形成迁移编号序列;
其中,在遍历测试***过程中,当判断测试***累积迁移次数超过预设次数时,停止运行测试***。
7.根据权利要求6所述的方法,其特征在于,按预设遍历顺序,遍历所述测试***中各功能状态的迁出分支,包括:
获取当前运行的迁出分支的累积运行次数;
若所述累积运行次数小于或等于当前运行的迁出分支的运行阈值,则运行所述迁出分支,输出所述迁出分支的迁移编号,并将累积运行次数加一;
若所述累积运行次数大于当前运行的迁出分支的运行阈值,则停止运行所述当前运行的迁出分支,并按预设遍历顺序运行下一迁出分支。
8.一种测试路径索引装置,其特征在于,包括:
功能***构建模块,用于根据待测软件的功能和预设构建规则构建功能***;
测试***生成模块,用于简化所述功能***,并根据简化后功能***中各功能状态间的迁移方式和预设编号规则确定各功能状态间的迁移编号,生成测试***;
迁移路径确定模块,用于遍历所述测试***,根据所述功能状态的迁移方式确定所述测试***的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的测试路径索引方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的测试路径索引方法。
CN201711461475.0A 2017-12-28 2017-12-28 一种测试路径索引方法、装置、终端及计算机可读介质 Pending CN108170601A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711461475.0A CN108170601A (zh) 2017-12-28 2017-12-28 一种测试路径索引方法、装置、终端及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711461475.0A CN108170601A (zh) 2017-12-28 2017-12-28 一种测试路径索引方法、装置、终端及计算机可读介质

Publications (1)

Publication Number Publication Date
CN108170601A true CN108170601A (zh) 2018-06-15

Family

ID=62519242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711461475.0A Pending CN108170601A (zh) 2017-12-28 2017-12-28 一种测试路径索引方法、装置、终端及计算机可读介质

Country Status (1)

Country Link
CN (1) CN108170601A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688321A (zh) * 2019-09-29 2020-01-14 南京大学 一种结合群体智能与机器智能增强移动应用测试的方法
CN115098035A (zh) * 2022-07-08 2022-09-23 天津华呈鼎丰科技有限公司 基于多端云计算集群的大数据存储方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878054A (en) * 1995-09-11 1999-03-02 Digital Equipment Corporation Method and apparatus for test data generation
CN103309801A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种确定回归测试范围的方法和装置
CN104598376A (zh) * 2014-12-30 2015-05-06 中国科学院计算机网络信息中心 一种数据驱动的分层自动化测试***和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878054A (en) * 1995-09-11 1999-03-02 Digital Equipment Corporation Method and apparatus for test data generation
CN103309801A (zh) * 2012-03-15 2013-09-18 百度在线网络技术(北京)有限公司 一种确定回归测试范围的方法和装置
CN104598376A (zh) * 2014-12-30 2015-05-06 中国科学院计算机网络信息中心 一种数据驱动的分层自动化测试***和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688321A (zh) * 2019-09-29 2020-01-14 南京大学 一种结合群体智能与机器智能增强移动应用测试的方法
CN115098035A (zh) * 2022-07-08 2022-09-23 天津华呈鼎丰科技有限公司 基于多端云计算集群的大数据存储方法及***
CN115098035B (zh) * 2022-07-08 2022-12-13 四川银亿科技有限公司 基于多端云计算集群的大数据存储方法及***

Similar Documents

Publication Publication Date Title
CN110597616B (zh) 一种神经网络的内存分配方法及装置
CN108038060A (zh) 一种测试方法、装置、终端及计算机可读介质
CN108170602A (zh) 一种测试用例生成方法、装置、终端及计算机可读介质
CN106709503A (zh) 一种基于密度的大型空间数据聚类算法k‑dbscan
CN108170601A (zh) 一种测试路径索引方法、装置、终端及计算机可读介质
CN111815432A (zh) 金融服务风险预测方法及装置
CN110532056A (zh) 一种应用于用户界面中的控件识别方法及装置
CN115756642A (zh) 一种业务流程配置方法、装置、设备及存储介质
CN109460398A (zh) 时间序列数据的补全方法、装置及电子设备
CN109740634A (zh) 分类模型训练方法和终端设备
US20180004879A1 (en) Integrated circuit design verification
CN103699653A (zh) 数据聚类方法和装置
CN117370650A (zh) 基于服务组合超图卷积网络的云计算数据推荐方法
CN110008382B (zh) 一种确定TopN数据的方法、***及设备
CN109815534B (zh) 一种基于决策树算法的闪存寿命预测方法及***
CN115238559B (zh) 一种三维轧件拉伸建模过程边界组元自动提取方法及***
CN108092670B (zh) 编码方法和装置
CN113204706B (zh) 基于MapReduce的数据筛选抽取方法及***
CN115965065A (zh) 一种模型计算方法、装置及设备
CN112612597B (zh) 一种生成线性任务队列方法及装置
CN106569986A (zh) 字符串替换方法和装置
CN113988258A (zh) 一种硬件感知的可微分的神经网络结构搜索方法及装置
CN113412493B (zh) 基于推理引擎的计算资源分配方法、装置和计算机设备
CN109685120A (zh) 分类模型在有限数据下的快速训练方法和终端设备
CN115374019A (zh) 分布式ui测试用例的测试方法、***及计算机存储介质

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20211001