CN108038060A - 一种测试方法、装置、终端及计算机可读介质 - Google Patents
一种测试方法、装置、终端及计算机可读介质 Download PDFInfo
- Publication number
- CN108038060A CN108038060A CN201711459152.8A CN201711459152A CN108038060A CN 108038060 A CN108038060 A CN 108038060A CN 201711459152 A CN201711459152 A CN 201711459152A CN 108038060 A CN108038060 A CN 108038060A
- Authority
- CN
- China
- Prior art keywords
- test
- migration
- case
- function
- path
- 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
Links
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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是本发明实施例三提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于软件产品的测试,测试用例构成了设计和制定测试过程的基础,包括标题、参数、内容等要素。测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
其中,将待测试软件功能进行拆分,得到最小的功能对象可以称为原子功能对象。为测试原子功能对象所运用的测试用例可以称为原子测试用例。其中,软件测试用例可以由多个原子测试用例组成。原子测试用例包括编号、标题、测试输入、执行条件以及预期结果等要素,需要人工编写,并可以存储于原子测试用例库中。示例性的,原子测试用例库中的原子测试用例可以如表1所示。
通常情况下,待测试软件功能可拆分为多个原子功能对象,也可称为功能状态,可以迁移的两个功能状态间对应一个原子测试用例。对待测试软件功能进行测试时,始发功能状态与终止功能状态之间可以包含多个功能状态,各功能状态的迁移方式不同,构成的迁移路径相应发生变化,每条迁移路径对应多个原子测试用例。示例性的,图1提供了一种测试系统结构示意图,其中始发功能状态与终止功能状态之间存在两条迁移路径,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。路径1对应两个原子测试用例,路径2对应三个原子测试用例。
表1
实施例一
图2是本发明实施例一提供的一种测试方法流程图,本实施例可适用于软件产品测试的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。参见图2,该测试方法包括如下步骤:
S210、根据待测软件的功能构建功能系统。
其中,待测软件的功能系统可以用结构示意图的形式表示。测试人员可以通过人工方式梳理待测软件的各项功能状态,并构建功能系统的结构示意图;也可以自动化梳理待测软件的各项功能状态,并构建功能系统的结构示意图,例如,可以通过功能系统构建程序实现自动化构建,还可以利用神经网络实现自动化构建。
其中,在功能系统的结构示意图中,除包含功能状态外,还包含各项功能状态的迁移方式。其中,迁移方式可以包括迁出分支以及迁出分支的迁移对象,示例性的,功能状态1的迁出方式可以为,包括两个迁出分支,且通过两个迁出分支分别迁移到功能状态2和功能状态3。
S220、简化功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的迁移编号,生成测试系统。
其中,简化功能系统可以是,将功能系统中的具体的细节功能状态删除,保留主干的原始功能状态。其中,在具体的细节功能状态不存在迁出分支时,细节功能状态的删除不会影响各功能状态间的迁移,即无需更改各功能状态的迁移方式;在具体的细节功能状态存在迁出分支时,细节功能状态的删除影响各功能状态间的迁移,此时需要更改简化后的功能系统中的各功能状态的迁移方式。
可选的,简化功能系统,包括:
识别待测软件中的原始功能状态和细化功能状态,并删除功能系统中的所述细化功能状态,保留所述原始功能状态;
将原始功能状态间的迁移条件替换为预设迁移条件。
其中,可以通过人工方式识别待测软件的原始功能状态和细化功能状态,还可以自动化识别原始功能状态和细化功能状态,例如,可以通过功能状态识别程序实现自动化识别,还可以利用神经网络实现自动化识别。可选的,通过对原始功能状态和细化功能状态设置不同的标识,通过识别标识确定原始功能状态和细化功能状态。
其中,将原始功能状态间的迁移条件替换为预设迁移条件可以指,将待测软件原始功能状态间的具体的迁移条件替换为预设的简化的迁移条件,例如,待测软件原始功能状态间的具体迁移条件为电压5V或电流20mA,预设迁移条件都可以设置为逻辑数字0、1或其他值。将具体的迁移条件替换为简单的预设迁移条件,可以使多个待测软件套用同一个简化后的功能系统,从而扩大了该简化后的功能系统的使用范围。
其中,在简化功能系统后,根据各功能状态间的迁移方式确定各功能状态间的迁移编号,可以是根据各功能状态的迁出分支来确定各功能状态间的迁移编号,也可以理解为迁移编号是对迁出分支进行的编号。其中,对迁出分支进行编号的编号规则可以根据用户需求自定义设置,也可以使用终端默认的编号规则进行编号,示例性的,迁出编号的编号规则可以是根据功能状态的层级和每一层的分布状态,以由左至右以及由上至下的原则对每一个迁出分支进行编号。
其中,功能系统结构示意图经过简化和确定迁移编号即可生成的测试系统结构示意图,也就是生成了测试系统。
S230、遍历测试系统,根据功能状态的迁移方式确定测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
在测试系统中,从始发功能状态开始,通过运行始发功能状态的迁移分支来移至下一个功能状态,再运行下一个功能状态的迁移分支直至终止功能状态,将一次运行的始发功能状态至终止功能状态间的所经历的功能状态进行串联,可得到一条测试系统的迁移路径。通常情况下,测试系统可以包含有多条始发功能状态至终止功能状态间的迁移路径。例如,参见图1提供的测试系统结构示意图,其中始发功能状态与终止功能状态之间存在两条迁移路径,路径1为始发功能状态→功能状态1→终止功能状态,路径2为始发功能状态→功能状态1→功能状态2→终止功能状态。
其中,在遍历测试系统过程中,可以在索引到全部迁移路径时停止运行测试系统,也可以在判断测试系统运行累积次数超过预设置次数时停止运行测试系统,以防止测试系统运行耗时过长。
其中,在判断测试系统运行累积次数超过预设置次数时停止运行测试系统具体可以是:获取测试系统的运行至指定功能状态的累积次数的输出值,将输出值与预设的缓存值进行比对,若输出值与预设的缓存值相同,则确定测试系统的输出为真,并停止测试;若输出值与预设的缓存值不相同,则确定测试系统的输出为假,并继续执行所述测试系统。
其中,指定功能状态例如可以是始发功能状态,还可以是终止功能状态,或始发功能状态至终止功能状态间任一功能状态。其中,预设的缓存值可以根据用户需求自定义设置,例如可以是3次、5次或10次;预设的缓存值也可以由测试系统根据功能状态的个数进行的设置,例如可以设置为功能状态的个数的预设指数次幂。
可选的,遍历测试系统,根据功能状态的迁移方式确定测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列,包括:
获取始发功能状态和终止功能状态,并以始发功能状态为初始节点,终止功能状态为终止节点,遍历各功能状态的迁出分支,形成至少一条迁移路径,其中,每一个迁出分支对应一个迁移编号;
对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各所述迁出分支的迁移编号,形成迁移编号序列。
其中,始发功能状态与终止功能状态可以是预先设置的,也可以是根据测试系统中各功能模块的迁移关系确定的。始发功能状态与终止功能状态可以为同一个功能状态,也可以为不同的功能状态,也就是初始节点和终止节点可以为同一个节点,也可以为不同的节点。示例性的,当迁移路径为功能状态1→功能状态2→功能状态3时,初始节点为功能状态1,终止节点为功能状态3,两者不相同;当迁移路径为功能状态1→功能状态2→功能状态3→功能状态1时,初始节点与终止节点相同,皆为功能状态1。
其中,运行每一条迁移路径可以获得该条路径的迁移编号序列,当测试系统包含多条迁移路径时,循环从始发功能状态运行至功能终止状态,当多条迁移路径全部运行结束时,即可获得该测试系统的多个迁移编号序列。示例性的,图3提供了一种测试系统结构示意图,其中,迁移分支01为默认迁入路径,通过默认迁入路径即可从其他测试系统迁移至该测试系统中;功能状态1-1为始发功能状态,即为初始节点;功能状态4-1为终止功能状态,即为终止节点。图3提供的测试系统中,从初始节点至终止节点包含了三条测试路径,分别为路径1,功能状态1-1→功能状态2-1→功能状态3-1→功能状态4-1;路径2,功能状态1-1→功能状态2-1→功能状态2-2→功能状态3-1→功能状态4-1;路径3,功能状态1-1→功能状态2-2→功能状态3-1→功能状态4-1。其中,路径1对应的迁移编号序列可以是112231,路径2对应的迁移编号序列可以是11212331,路径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#。其中,每一个迁移路径的迁移编号序列在整合序列中的先后顺序可以是随机的,也可以根据测试需求确定。
本实施例中,通过遍历测试系统,确定始发功能状态与终止功能状态之间可运行的所有的迁移路径,并根据迁移顺序确定迁移编号,避免了人工获取迁移编号导致的不准确问题以及人工和时间的浪费。
S240、根据各迁移路径的迁移编号序列调取各迁移路径对应的原子测试用例,组合成测试用例。
其中,原子测试用例可以包括编号、标题、测试输入、执行条件以及预期结果等要素,可以是预先编程,并可以存储于原子测试用例库中。其中,原子测试用例的编号可以与迁移编号相同或相对应,例如,当迁移编号为11时,测试用例编号可以与迁移编号相同为11;又如,当迁移编号为11时,测试用例编号可以与迁移编号相对应为TC-00011。值得注意的是,上述迁移编号与测试用例编号仅为示例性描述,并不作为对迁移编号与测试用例编号的限定。
其中,根据迁移编号序列即可得到相同或相应的原子测试用例编号序列,根据原子测试用例编号序列可以调取对应的原子测试用例,用以组合成测试用例。
其中,根据各迁移路径的迁移编号序列调取各迁移路径对应的原子测试用例,组合成测试用例,包括:
根据迁移路径的迁移编号序列,获取对应的原子测试用例编号序列,其中,迁移编号与原子测试用例编号相对应;
根据各迁移路径的测试次数、测试顺序以及所述迁移路径的原子测试用例编号序列,依次获取对应的原子测试用例,并组合成测试用例。
其中,测试系统的测试用例可以包含有多份测试用例文件。其中,每份测试用例文件包含一条迁移路径中迁移编号对应的所有原子测试用例,具体的,每份测试用例文件包含有一条迁移路径中迁移编号对应的所有原子测试用例中的需要测试使用的测试数据,其中测试数据包括测试输入、执行条件以及预期结果。
其中,同一条测试路径的运行次数为至少一次,当同一测试路径运行多次时,可以产生多份相同的测试用例文件,用以测试待测软件的鲁棒性。其中,可以根据不同路径的测试顺序,依次获取迁移路径编号序列,并依次调取迁移路径编号序列对应的原子测试用例,以使得到的测试用例文件顺序与测试路径的顺序相对应,使测试用例文件对应的测试路径更直观明了。
S250、将功能系统和测试用例导入测试平台中进行测试,生成测试报告。
其中,将功能系统和测试用例导入测试平台后,功能系统可以调用测试用例中多份测试用例文件的测试数据,用以运行待测软件。其中,每运行完一份测试用例文件中数据,即完成了一条测试路径测试。其中,可以根据测试人员预设条件停止测试,例如可以于调用完所有测试用例文件时停止测试,也可以于调用预设次数测试用例后停止测试。其中,可以在停止测试后,将测试输出数据进行整理,生成测试报告;也可以在测试过程中,整理测试输出数据,生成测试报告。
本实施例提供的测试方法,通过对功能系统进行简化,构建并运行测试系统,获取运行测试系统的每一个迁移路径的迁移编号序列对应的原子测试用例,将原子测试用例进行组合生成测试用例,将功能系统与测试用例导入测试平台,用于功能系统测试。本实施例提供的测试方法,自动生成测试用例,缩短了测试时间,提高了测试效率及准确率,避免了人力资源浪费。
实施例二
图4是本发明实施例二提供的一种测试装置结构示意图,本实施例可适用于软件产品测试。
参见图4,本实施例中测试装置包括:
功能系统构建模块410,用于根据待测软件的功能构建功能系统。
其中,待测软件的功能系统可以用结构示意图的形式表示。测试人员可以通过人工方式梳理待测软件的各项功能状态,并构建功能系统的结构示意图;也可以自动化梳理待测软件的各项功能状态,并构建功能系统的结构示意图,例如,可以通过功能系统构建程序实现自动化构建,还可以利用神经网络实现自动化构建。
其中,在功能系统的结构示意图中,除包含功能状态外,还包含各项功能状态的迁移方式。其中,迁移方式可以包括迁出分支以及迁出分支的迁移对象。
测试系统生成模块420,用于简化功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的迁移编号,生成测试系统。
其中,简化功能系统可以是,将功能系统中的具体的细节功能状态删除,保留主干的原始功能状态。
可选的,测试系统生成模块420,包括:
细化功能状态删除模块,用于识别待测软件中的原始功能状态和细化功能状态,并删除功能系统中的细化功能状态,保留原始功能状态;
迁移条件替换模块,用于将原始功能状态间的迁移条件替换为预设迁移条件。
其中,可以通过人工方式识别待测软件的原始功能状态和细化功能状态,还可以自动化识别原始功能状态和细化功能状态。
其中,将原始功能状态间的迁移条件替换为预设迁移条件可以指,将待测软件原始功能状态间的具体的迁移条件替换为预设的简化的迁移条件。将具体的迁移条件替换为简单的预设迁移条件,可以使多个待测软件套用同一个简化后的功能系统,从而扩大了该简化后的功能系统的使用范围。
迁移路径确定模块430,用于遍历测试系统,根据所述功能状态的迁移方式确定测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列。
在测试系统中,从始发功能状态开始,通过运行始发功能状态的迁移分支来移至下一个功能状态,再运行下一个功能状态的迁移分支直至终止功能状态,将一次运行的始发功能状态至终止功能状态间的所经历的功能状态进行串联,可得到一条测试系统的迁移路径。通常情况下,测试系统可以包含有多条始发功能状态至终止功能状态间的迁移路径。
可选的,迁移路径确定模块430,包括:
迁移路径确定子模块,用于获取始发功能状态和终止功能状态,并以始发功能状态为初始节点,终止功能状态为终止节点,遍历各功能状态的迁出分支,形成至少一条迁移路径,其中,每一个迁出分支对应一个迁移编号;
迁移编号序列形成模块,用以对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各迁出分支的迁移编号,形成迁移编号序列。
其中,始发功能状态与终止功能状态可以是预先设置的,也可以是根据测试系统中各功能模块的迁移关系确定的。始发功能状态与终止功能状态可以为同一个功能状态,也可以为不同的功能状态,也就是初始节点和终止节点可以为同一个节点,也可以为不同的节点。其中,运行每一条迁移路径可以获得该条路径的迁移编号序列,当测试系统包含多条迁移路径时,运行该测试系统可获得多个迁移编号序列。
测试用例生成模块440,用于根据各迁移路径的迁移编号序列调取各迁移路径对应的原子测试用例,组合成测试用例。
其中,原子测试用例可以包括编号、标题、测试输入、执行条件以及预期结果等要素,需要人工编写,并可以存储于原子测试用例库中。其中,原子测试用例的编号可以与迁移编号相同或相对应。
其中,根据迁移编号序列即可得到相同或相应的原子测试用例编号序列,根据原子测试用例编号序列可以调取对应的原子测试用例,用以组合成测试用例。
可选的,测试用例生成模块440,包括:
原子测试用例编号获取模块,用于根据迁移路径的迁移编号序列,获取对应的原子测试用例编号序列,其中,迁移编号与原子测试用例编号相对应;
测试用例生成子模块,用于根据各迁移路径的测试次数、测试顺序以及迁移路径的原子测试用例编号序列,依次获取对应的原子测试用例,并组合成测试用例。
其中,测试系统的测试用例可以包含有多份测试用例文件。其中,每份测试用例文件包含一条迁移路径中迁移编号对应的所有原子测试用例,具体包含有一条迁移路径中迁移编号对应的所有原子测试用例中的需要测试使用的测试数据,其中测试数据包括测试输入、执行条件以及预期结果。
其中,同一条测试路径的运行次数为至少一次,当同一测试路径运行多次时,则可以产生多份相同的测试用例文件,用以测试待测软件的鲁棒性。其中,可以根据不同路径的测试顺序,依次获取迁移路径编号序列,并依次调取迁移路径编号序列对应的原子测试用例,以使得到的测试用例文件顺序与测试路径的顺序相对应,使测试用例文件对应的测试路径更直观明了。
测试报告生成模块450,用于将功能系统和测试用例导入测试平台中进行测试,生成测试报告。
其中,将功能系统和测试用例导入测试平台后,功能系统可以调用测试用例中多份测试用例文件的测试数据,用以运行待测软件。其中,每运行完一份测试用例文件中数据,即完成了一条测试路径测试。其中,可以根据测试人员预设条件停止测试,例如可以于调用完所有测试用例文件时停止测试,也可以于调用预设次数测试用例后停止测试。其中,可以在停止测试后,将测试输出数据进行整理,生成测试报告;也可以在测试过程中,整理测试输出数据,生成测试报告。
本实施例提供的测试装置,与实施例一提出的测试方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一,并且本实施例与实施例一具有相同的有益效果。
实施例三
本实施例提供了一种终端,可以用于软件产品测试。图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 (10)
1.一种测试方法,其特征在于,包括:
根据待测软件的功能构建功能系统;
简化所述功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的迁移编号,生成测试系统;
遍历所述测试系统,根据所述功能状态的迁移方式确定所述测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列;
根据所述各迁移路径的迁移编号序列调取各所述迁移路径对应的原子测试用例,组合成测试用例;
将所述功能系统和所述测试用例导入测试平台中进行测试,生成测试报告。
2.根据权利要求1所述的方法,其特征在于,简化所述功能系统,包括:
识别所述待测软件中的原始功能状态和细化功能状态,并删除所述功能系统中的所述细化功能状态,保留所述原始功能状态;
将所述原始功能状态间的迁移条件替换为预设迁移条件。
3.根据权利要求1所述的方法,其特征在于,遍历所述测试系统,根据所述功能状态的迁移方式确定所述测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列,包括:
获取始发功能状态和终止功能状态,并以所述始发功能状态为初始节点,所述终止功能状态为终止节点,遍历各功能状态的迁出分支,形成至少一条迁移路径,其中,每一个迁出分支对应一个迁移编号;
对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各所述迁出分支的迁移编号,形成迁移编号序列。
4.根据权利要求1所述的方法,其特征在于,根据所述各迁移路径的迁移编号序列调取各所述迁移路径对应的原子测试用例,组合成测试用例,包括:
根据所述迁移路径的迁移编号序列,获取对应的原子测试用例编号序列,其中,迁移编号与原子测试用例编号相对应;
根据各所述迁移路径的测试次数、测试顺序以及所述迁移路径的原子测试用例编号序列,依次获取对应的原子测试用例,并组合成测试用例。
5.一种测试装置,其特征在于,包括:
功能系统构建模块,用于根据待测软件的功能构建功能系统;
测试系统生成模块,用于简化所述功能系统,并根据简化后功能系统中各功能状态间的迁移方式确定各功能状态间的迁移编号,生成测试系统;
迁移路径确定模块,用于遍历所述测试系统,根据所述功能状态的迁移方式确定所述测试系统的至少一条迁移路径,以及各迁移路径中对应的迁移编号序列;
测试用例生成模块,用于根据所述各迁移路径的迁移编号序列调取各所述迁移路径对应的原子测试用例,组合成测试用例;
测试报告生成模块,用于将所述功能系统和所述测试用例导入测试平台中进行测试,生成测试报告。
6.根据权利要求5所述的装置,其特征在于,所述测试系统生成模块,包括:
细化功能状态删除模块,用于识别所述待测软件中的原始功能状态和细化功能状态,并删除所述功能系统中的所述细化功能状态,保留所述原始功能状态;
迁移条件替换模块,用于将所述原始功能状态间的迁移条件替换为预设迁移条件。
7.根据权利要求5所述的装置,其特征在于,所述迁移路径确定模块,包括:
迁移路径确定子模块,用于获取始发功能状态和终止功能状态,并以所述始发功能状态为初始节点,所述终止功能状态为终止节点,遍历各功能状态的迁出分支,形成至少一条迁移路径,其中,每一个迁出分支对应一个迁移编号;
迁移编号序列形成模块,用以对于每一条迁移路径,依次运行各功能状态的迁出分支,并按运行顺序记录各所述迁出分支的迁移编号,形成迁移编号序列。
8.根据权利要求5所述的装置,其特征在于,所述测试用例生成模块,包括:
原子测试用例编号获取模块,用于根据所述迁移路径的迁移编号序列,获取对应的原子测试用例编号序列,其中,迁移编号与原子测试用例编号相对应;
测试用例生成子模块,用于根据各所述迁移路径的测试次数、测试顺序以及所述迁移路径的原子测试用例编号序列,依次获取对应的原子测试用例,并组合成测试用例。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711459152.8A CN108038060A (zh) | 2017-12-28 | 2017-12-28 | 一种测试方法、装置、终端及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711459152.8A CN108038060A (zh) | 2017-12-28 | 2017-12-28 | 一种测试方法、装置、终端及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038060A true CN108038060A (zh) | 2018-05-15 |
Family
ID=62098308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711459152.8A Pending CN108038060A (zh) | 2017-12-28 | 2017-12-28 | 一种测试方法、装置、终端及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038060A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669436A (zh) * | 2018-12-06 | 2019-04-23 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN110008132A (zh) * | 2019-04-15 | 2019-07-12 | 珠海全志科技股份有限公司 | 测试用例的设计方法、装置、计算机设备及存储介质 |
CN110874319A (zh) * | 2018-09-03 | 2020-03-10 | 广州神马移动信息科技有限公司 | 自动化测试方法、平台、设备及计算机可读存储介质 |
CN112306889A (zh) * | 2020-11-23 | 2021-02-02 | 国网北京市电力公司 | 充电桩的测试方法、装置、存储介质及处理器 |
CN112685281A (zh) * | 2019-10-17 | 2021-04-20 | 拉扎斯网络科技(上海)有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN113821450A (zh) * | 2021-11-23 | 2021-12-21 | 中航金网(北京)电子商务有限公司 | 一种执行计算机软件测试的集成化方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702136A (zh) * | 2009-11-17 | 2010-05-05 | 上海第二工业大学 | 基于UML用况图和顺序图的Web应用建模与测试方法 |
CN102854877A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 汽车车身控制模块的功能测试系统及测试方法 |
CN102929775A (zh) * | 2012-10-23 | 2013-02-13 | 中标软件有限公司 | 一种Web应用系统测试方法 |
CN104572437A (zh) * | 2014-04-15 | 2015-04-29 | 武汉中地数码科技有限公司 | 基于自反馈的地理空间信息处理工具功能性自动测试方法 |
CN105337801A (zh) * | 2015-11-10 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种适用于交换机协议的基于状态机的测试用例设计方法 |
US20160227034A1 (en) * | 2015-01-06 | 2016-08-04 | Cyara Solutions Pty Ltd | Interactive voice response system crawler |
-
2017
- 2017-12-28 CN CN201711459152.8A patent/CN108038060A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702136A (zh) * | 2009-11-17 | 2010-05-05 | 上海第二工业大学 | 基于UML用况图和顺序图的Web应用建模与测试方法 |
CN102854877A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 汽车车身控制模块的功能测试系统及测试方法 |
CN102929775A (zh) * | 2012-10-23 | 2013-02-13 | 中标软件有限公司 | 一种Web应用系统测试方法 |
CN104572437A (zh) * | 2014-04-15 | 2015-04-29 | 武汉中地数码科技有限公司 | 基于自反馈的地理空间信息处理工具功能性自动测试方法 |
US20160227034A1 (en) * | 2015-01-06 | 2016-08-04 | Cyara Solutions Pty Ltd | Interactive voice response system crawler |
CN105337801A (zh) * | 2015-11-10 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 一种适用于交换机协议的基于状态机的测试用例设计方法 |
Non-Patent Citations (1)
Title |
---|
张帆 等: "《可信链度量与测评》", 31 December 2011, 西安电子科技大学出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874319A (zh) * | 2018-09-03 | 2020-03-10 | 广州神马移动信息科技有限公司 | 自动化测试方法、平台、设备及计算机可读存储介质 |
CN109669436A (zh) * | 2018-12-06 | 2019-04-23 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN109669436B (zh) * | 2018-12-06 | 2021-04-13 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN110008132A (zh) * | 2019-04-15 | 2019-07-12 | 珠海全志科技股份有限公司 | 测试用例的设计方法、装置、计算机设备及存储介质 |
CN110008132B (zh) * | 2019-04-15 | 2022-11-08 | 珠海全志科技股份有限公司 | 测试用例的设计方法、装置、计算机设备及存储介质 |
CN112685281A (zh) * | 2019-10-17 | 2021-04-20 | 拉扎斯网络科技(上海)有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN112306889A (zh) * | 2020-11-23 | 2021-02-02 | 国网北京市电力公司 | 充电桩的测试方法、装置、存储介质及处理器 |
CN112306889B (zh) * | 2020-11-23 | 2023-10-20 | 国网北京市电力公司 | 充电桩的测试方法、装置、存储介质及处理器 |
CN113821450A (zh) * | 2021-11-23 | 2021-12-21 | 中航金网(北京)电子商务有限公司 | 一种执行计算机软件测试的集成化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038060A (zh) | 一种测试方法、装置、终端及计算机可读介质 | |
CN108170602A (zh) | 一种测试用例生成方法、装置、终端及计算机可读介质 | |
CN107545262A (zh) | 一种在自然场景图像中检测文本的方法及装置 | |
CN109960653A (zh) | 回归测试方法、装置、设备和存储介质 | |
CN108681667A (zh) | 一种设备型号识别方法、装置及处理设备 | |
CN110717251A (zh) | 一种考虑多要素的分布式水文模型子流域划分方法 | |
CN109815267A (zh) | 数据建模中特征的分箱优化方法及系统、存储介质及终端 | |
CN109934507A (zh) | 一种业务流程调度的方法及装置 | |
CN109376090A (zh) | 软件自动测试方法及装置 | |
CN110287104A (zh) | 测试用例生成方法、装置、终端及计算机可读存储介质 | |
CN106709503A (zh) | 一种基于密度的大型空间数据聚类算法k‑dbscan | |
CN110096445A (zh) | 一种模型在环测试方法及装置 | |
CN109359053A (zh) | 测试报告的生成方法和相关装置、测试系统及存储介质 | |
CN108197660A (zh) | 多模型特征融合方法/系统、计算机可读存储介质及设备 | |
CN108415668A (zh) | 芯片激励方法、装置、系统、计算机设备和存储介质 | |
CN108170601A (zh) | 一种测试路径索引方法、装置、终端及计算机可读介质 | |
CN110309947A (zh) | 整车物流订单预测方法及装置、物流系统以及计算机可读介质 | |
CN106294530A (zh) | 规则匹配的方法和系统 | |
CN107885781A (zh) | 一种版本管理方法及系统 | |
CN105787214A (zh) | 一种验证模型的方法及装置 | |
CN115965065A (zh) | 一种模型计算方法、装置及设备 | |
CN115906927A (zh) | 基于人工智能的数据访问分析方法、系统及云平台 | |
CN112612597B (zh) | 一种生成线性任务队列方法及装置 | |
CN106250298A (zh) | 一种测试方法及装置 | |
CN106682290A (zh) | 可编程逻辑器件布线方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180515 |