CN104063312B - 测试用例生成方法及测试用例生成装置 - Google Patents
测试用例生成方法及测试用例生成装置 Download PDFInfo
- Publication number
- CN104063312B CN104063312B CN201410050393.7A CN201410050393A CN104063312B CN 104063312 B CN104063312 B CN 104063312B CN 201410050393 A CN201410050393 A CN 201410050393A CN 104063312 B CN104063312 B CN 104063312B
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- value
- software
- result
- 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
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
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
技术领域
本发明涉及一种辅助软件开发的技术,特别地,涉及根据规范制作测试用例的技术。
背景技术
有时根据软件执行前的条件和该执行后的结果的对应关系定义软件的规范。由于是将这样的规范定义为从外部看到的软件的功能,因此有时也将规范称为外部规范或者功能规范。作为外部规范的表现方法,已知能够使用被称为决定表(decision table)的表格形式来表现其条件和结果的对应关系的技术,频繁使用在软件开发工程中。
另外,作为对开发的软件是否按照外部规范规定的那样运行进行确认的方法,现有一种公知的软件测试方法。软件测试有时以测试用例为单位来实施。这里所说的测试用例,是指由作为对该软件的输入值(输入数据)的测试输入值(测试输入数据)、以及将该测试输入值作为输入并执行了软件时期望作为输出值获得的期望输出值(期望输出数据)组成的数据。实际中,赋予测试输入值并执行了软件时,获得了符合期望输出值的输出值时,可以说该测试用例通过了测试。
从更严密地确认与规范的对应的观点出发,最好对尽可能多的测试用例实施测试。例如,对于规范中允许的、可取的所有输入执行测试用例而且合格时,即已经确认了该软件对于所有的值都按照规范中的规定进行运行。
但是,例如当输入被表现为多个因子的组合时,作为输入而可取的值的范围的大小因为成为各因子可取的值(将其称为标准值)的数量的积,因此变得非常大。这种情况下,对于所有测试用例执行测试,由于在现实的时间内无法结束,因此是困难的。
这样的情况下,作为一种提取实际上可实施的个数的测试用例的方法,非专利文献1中有一种公知的、称为配对法则(Pairwise法(也称为all-pair法))的方法。这是当输入被表现为多个因子的组合时,根据着眼于错误大多是由于n个(n为相对较少的数量)因子的组合造成的、称为n因子囊括的想法,大幅削减测试用例的方法。
【非专利文献1】A.Blass and Y.Gurevich,“Pairwise Testing”,Bulletin ofthe European Association for Theoretical Computer Science Number78,October2002,100-132.根据上述非专利文献1中公开的现有技术,即使在作为测试对象的软件中规范可取的所有输入的范围非常大的情况下,也能提取出实际上可实施的个数的测试用例。但是,该提取是基于输入的因子,对于输出并没有特别考虑。也就是说,对于构成测试用例的测试输入值,对其分布有一定的考虑,而对于对应的期望输出值则并没有考虑。
因此,关于基于上述现有技术提取出的测试用例中包含的期望输出值的分布,无法否定作为测试对象的软件在规范上能够输出的值的范围中波动的可能性。例如,提取出的测试用例中包含的期望输出值全部为相同的值时,即使作为测试对象的软件包含与输出和该期望输出值不同的值的处理相关的错误,也无法检测到该错误。这时,根据软件规范生成测试用例时,就生成了只覆盖了规范上能够输出的结果值范围中的一小部分的测试用例。
发明内容
本发明的课题是提供一种根据软件规范来生成将该软件规范上能够输出的值囊括的测试用例的测试用例生成方法、实施该方法的测试用例生成装置及程序。
为了解决上述课题,本发明的代表性的一个例子如下。即,本发明是一种根据软件规范来生成测试用例的测试用例生成装置中的测试用例生成方法。所述测试用例生成装置实施以下处理:接收所述软件规范,并存储在存储部中的处理;根据所述软件规范生成包含对该软件的测试输入值、以及将所述测试输入值作为输入来执行所述软件时期望作为输出值获得的期望输出值的测试用例,并存储在所述存储部中的处理;确认软件规范上能够输出的值是否包含在所述期望输出值中的处理;当所述确认的结果是判断为所述软件规范上能够输出的值不包含在所述期望输出值中时,生成由该软件规范上能够输出的值和与其对应的测试输入值构成的测试用例,并添加到存储在所述存储部中的所述测试用例中的处理。
根据本发明,能够根据软件规范,生成将该软件规范上能够输出的值囊括的测试用例。
附图说明
图1是表示第1实施方式的测试用例生成装置101的硬件及软件结构的一个例子的图。
图2是表示第1实施方式的软件规范131的一个例子的图。
图3是表示第1实施方式的根据软件规范生成测试用例的处理的概要的流程图。
图4是表示第1实施方式的利用配对法选择的2因子囊括的值的组的一个例子的图。
图5是表示第1实施方式的期望输出确认处理(图3_步骤304)及测试用例添加处理(图3_步骤305)的细节的流程图。
图6是表示第1实施方式的按照图3及图5所示的处理生成的测试用例的一个例子的图。
图7是表示第2实施方式的期望输出确认处理及测试用例添加处理的细节的流程图。
符号说明
101……测试用例生成装置、102……中央控制装置(控制部)、103……主存储装置(存储部)、104……外部存储装置(存储部)、105……存储介质、106……读取装置、107……输入装置、108……显示装置、109……通信装置。
具体实施方式
以下,参照附图等对本发明的实施方式进行详细说明。
(第1实施方式)
图1是表示第1实施方式的测试用例生成装置101的硬件及软件结构的一个例子的图。
测试用例生成装置101能够用普通的电子计算机构建,具备:CPU等中央控制装置(控制部)102;RAM等作为中央控制装置102的工作区发挥功能的主存储装置(存储部)103;硬盘装置等外部存储装置(存储部)104;CD-ROM、FD等具有可移动性的从存储介质105读取数据的读取装置106;键盘、鼠标等输入装置107;显示器等显示装置108;用于经由网络与其他装置进行通信的通信装置109;以及负责在所述各装置间的数据收发的外部接口110。此外,测试用例生成装置101的操作主要经由网络进行时,也可以不连接显示装置108和输入装置107。
在测试用例生成装置101的外部存储装置104中,存储有规范接收程序121、测试用例生成程序122、期望输出确认程序123、测试用例添加程序124以及测试用例输出程序125。这些程序被加载到主存储装置103中,通过中央控制装置102,具体化为规范接收处理部141、测试用例生成处理部142、期望输出确认处理部143、测试用例添加处理部144以及测试用例输出处理部145的功能。实现各处理部的程序可以预先存储在外部存储装置104中,也可以存储在存储介质105中、经由读取装置106根据需要来读取。也可以从作为电子计算机能够使用的通信介质的网络、或者与使用在网络上传输的载波的通信装置109连接的其他装置,根据需要下载并存储在外部存储装置104中。
另外,在外部存储装置104中,存储有软件规范131、测试用例132。测试用例包含测试输入值133和期望输出值134。
图2是表示第2实施方式的软件规范131的一个例子的图。这里,作为软件规范131,以日本特开2012-190203号公报中公开的决定表(decision table)形式记载的规范为例进行说明。
软件规范131(决定表)将软件执行前的条件及其执行后的结果的对应关系以表格形式定义,包含条件定义部201和结果定义部202。条件定义部201包含一个或多个条件因子211,各条件因子进一步包含两个以上的条件值212。同样地,结果定义部202包含一个或多个结果因子221,各结果因子进一步包含两个以上的结果值222。
表格的各列中,对各条件/结果因子在每个地方标记符号。各列表示输入输出关系,即根据标记符号的位置,各条件因子取什么样的条件值(输入值)时,各结果因子成为什么样的结果值(输出值)。例如图2最左边的列,表示如果“有无参加保险”为“已参加”、“保险缴纳额”为“0日元”、“收入”为“0日元以上但小于500万日元”,则“补助金”为“有支付”、“纳税义务”为“有义务”。
图3是表示第1实施方式的根据软件规范生成测试用例的处理的概要的流程图。
步骤301:开始。
步骤302:规范接收处理部141经由输入装置107、或者从存储介质105经由读取装置106、或者经由通信装置109,接收作为软件规范131的决定表,存储在外部存储装置104中。
步骤303:测试用例生成处理部142按照配对法,从存储在外部存储装置104中的软件规范(决定表)131中提取对于条件因子满足2因子囊括的列的集合,并生成测试用例(各列的条件定义部201相当于测试输入值,结果定义部202相当于期望输出值),将生成的测试用例存储在外部存储装置104中。通过步骤303的处理,根据软件规范131,生成包含满足软件规范131的测试输入值和期望输出值的至少一个测试用例。
这里步骤303中的配对法是当多个因子分别在若干值中取其中一个时,选择对全部2因子的组合囊括的(将其称为2因子囊括)值的组的方法。具体的方法例如在非专利文献1中公开。
例如图2所示的软件规范(决定表)131的情况,条件因子中存在“有无参加保险”、“保险缴纳额”、“收入”3个因子。作为其中的2因子的组,例如如果取“有无参加保险”和“保险缴纳额”,则这2个因子可取的值的组为:“已参加、0日元”、“已参加、0日元以上但小于2万日元”、“已参加、2万日元以上”、“未参加、0日元”、“未参加、0日元以上但小于2万日元”、“未参加、2万日元以上”这6个。同样地,“保险缴纳额”和“收入”的2个因子可取的值的组为6个,“有无参加保险”和“收入”的2个因子可取的值的组为4个。在配对法中,选择包含全部这些的全因子的值的组。
图4表示利用配对法选择的2因子囊括值的组的一个例子。如果选择图4中虚线包围的6个列(401~406),则能够确认实际上将2因子囊括。这时,能够全部检测到由于2个以下条件因子造成的软件的错误。
以上说明的步骤S303中的公知的配对法中,需要注意在生成测试用例时只参照了条件因子,对于结果因子则并没有参照。也就是说对于测试用例中包含的测试输入值,选择了2因子囊括等保证某种囊括性的,但对于期望输出值则无法保证囊括性。因此,如下面的步骤304所示,期望输出确认程序123确认是否囊括了期待输出值,如果有缺少的测试用例,则如步骤305所示,通过由测试用例添加程序124进行添加测试用例的处理,实现关于条件因子的2因子囊括,并且生成囊括全部软件规范上能够输出的值的测试用例。
步骤304:期望输出确认处理部143确认步骤303中生成的测试用例中包含的期望输出值,确认是否囊括了软件规范(决定表)131的结果定义部202中出现的结果值的全部组合。如果没有囊括则进入步骤305,如果已囊括则进入步骤306。
步骤305:测试用例添加处理部144将软件规范(决定表)的结果定义部202中出现的结果值的全部组合中包含在步骤303中生成的测试用例中不包含的组合的列(测试用例)添加到存储在外部存储装置104的测试用例中。
步骤306:测试用例输出处理部145将得到的测试用例输出给显示装置108、或未图示的打印机等输出装置。
步骤307:结束。
图5是表示期望输出确认处理(图3_步骤304)及测试用例添加处理(图3_步骤305)的细节的流程图。
步骤501:开始。
步骤502:期望输出确认处理部143从软件规范(决定表)131的结果值222的组(对结果因子221的各因子逐个选择结果值222)中,选择一个还没有确认的作为结果值候选。如果对全部结果值的组(结果值候选)完成了确认,则进入步骤505。也就是说,结果输出确认程序123将结果值222的所有可能组合(结果值候选)全部按顺序确认。图2所示的软件规范131的例子中,按顺序确认1.“有支付”“有义务”、2.“有支付”“无义务”、3.“无支付”“有义务”、4.“无支付”“无义务”这4个结果值候选。
步骤503:期待输出确认处理部143确认在步骤303生成的测试用例中是否有期望输出值与步骤502中选择的结果值候选一致的,如果有则返回步骤502。
步骤504:测试用例添加处理部144确认在步骤302中接收的软件规范(决定表)131的各列中,是否有结果定义部202与步骤502中选择的结果值候选一致的,也就是步骤502中选择的结果值候选能否作为由软件规范131定义的处理结果而生成。在测试用例添加处理部144确认了在步骤302中接收的软件规范(决定表)131的各列中,有结果定义部202与步骤502中选择的结果值候选一致的,也就是步骤502中选择的结果值候选能够作为由软件规范131定义的处理结果而生成的情况下,将该列的信息作为新的测试用例,添加到步骤303生成的测试用例中,返回步骤502。如果没有,则直接返回步骤502。
这样,在步骤502-步骤504所示的处理中,依次变更结果值候选的同时,判定该结果值候选是(1)被包含在已经输出的测试用例中、(2)未被包含在测试用例中原本软件规范上无法输出的值、(3)未被包含在测试用例中,但是为软件规范上能够输出的值的哪一个,在(3)的情况下,作为应该添加的测试用例而添加,由此,保证得到的测试用例囊括期望输出值。
图6是表示按照图3及图5所示的处理生成的测试用例的一个例子的图。虚线包围的6个列(601~606)是由图3的步骤303所示的处理生成的测试用例,实线包围的1个列(607)是按照图3的步骤304-步骤305所示的处理,更详细地说是图5的步骤502-步骤504所示的处理而添加的测试用例。利用这些共计7个测试用例,实现关于条件因子的2因子囊括,并且测试用例囊括全部规范上能够输出的值。
步骤505:和步骤306相同,将得到的测试用例输出给显示装置108或未图示的打印机等输出装置。
步骤506:结束。
如以上所说明的,根据第1实施方式,能够根据软件规范(决定表)131生成保证了期望输出值的囊括性的测试用例。
(第2实施方式)
根据第1实施方式所示的方法,能够根据作为软件规范(决定表)131而赋予的软件规范,生成保证了期望输出值的囊括性的测试用例。
软件规范(决定表)131随着条件因子和条件值的数量增加而规模变大,因此为了进行处理,有时需要存储容量大的主存储装置103。另外,日本特开2012-190203号公报中,公开了一种赋予命题形式的规范(以下称为命题规范)并制作决定表的方法。命题规范表示的是如“‘有无参加保险’为‘已参加’并且‘保险缴纳额’为‘2万日元以上’的情况下,‘补助金’为‘有支付’并且‘纳税义务’为‘有义务’”这样的“(条件部)的情况(结果部)”的形式的规则。根据日本特开2012-190203号公报公开的方法,能够利用这样的规则的集合来生成决定表。也就是说,能够将软件规范不是作为以表格形式展开的数据保存,而是作为表现规则的集合的数据保存。一条规则有时能够定义软件规范里的多个列,因此与以表格形式展开保存的情况相比较,能够用更小尺寸的主存储装置103和外部存储装置104管理决定表。
第2实施方式基本上与第1实施方式相同,但并不是将软件规范作为以表格形式展开的数据保存,而是作为命题规范保存。将这样的作为命题规范管理的决定表作为软件规范时,能够生成保证了期望输出值的囊括性的测试用例。这时,由于不展开为表格形式的数据,而能够保证期望输出值的囊括性,因此优选能够减小处理所需的主存储装置103的存储容量这一点。
在命题规范中,将规则记述为根据命题变量的命题逻辑式。各规则的条件部可以用如下的方式记述为命题逻辑式。首先对条件因子A的每个可取的值分配A1、A2、……An和命题变量。对于“条件因子A为A1”这样的记述,使其与A1∧┐A2∧……∧┐An(“∧”为逻辑积,“┐”为否定)这样的命题逻辑式对应。“条件因子A为A1,并且条件因子B为B2”这样多个条件用“并且”连接时,将分别对应的命题逻辑式与用“∧”结合的命题逻辑式对应即可。对于结果部也可以同样地使命题逻辑式对应。命题规范可以表现为分别与条件部和结果部对应的命题逻辑式的组。
根据命题规范的集合定义的决定表可以用如下的方式生成。对于决定表的各列,按照条件定义部被标记符号的位置,考虑如下的真值分配。对条件因子X附加了第k个值的符号时,将真值分配为Xk=True,Xi=False(i≠k)。这时,该列的结果值定义如下。(1)按照上述真值分配,收集全部满足条件部的命题规范。(2)生成将与所收集的命题规范的结果部对应的命题逻辑式用“∧”结合而得的命题逻辑式。进一步地对于各结果因子,将与结果值对应的命题变量恰好一个为True、与其以外的结果值对应的命题变量为False时而充分的节用“∧”结合。(3)寻找使(2)中生成的命题逻辑式充分的真值分配。这可以通过利用SAT解算器来搜索。正好找到一个这样的真值分配时,相当于该真值的结果值的组合即为该列的结果值。另外,不存在真值分配时,意味着命题规范之间存在某种矛盾。还有当真值分配存在2个以上时,意味着结果不唯一确定,也就是规范存在不明确。
第2实施方式中的各处理流程基本上与第1实施方式相同,但图5所示的期望输出确认处理以及测试用例添加处理的一部分有变化。
图7是表示第2实施方式的期望输出确认处理及测试用例添加处理的细节的流程图。
步骤701:开始。
步骤702:与步骤502相同。期望输出确认处理部143从软件规范131(命题规范)的结果值的组(对结果因子的各因子逐个选择结果值)中,选择一个还没有确认的作为结果值候选。如果对全部结果值的组完成了确认,则进入步骤705。
步骤703:与步骤503相同。期待输出确认处理部143确认在步骤303生成的测试用例中是否有期望输出值与步骤702中选择的结果值候选一致的,如果有则返回步骤702。
步骤704:用以下的方式确认步骤702中选择的结果值候选是否能够由步骤302中接收的软件规范(命题规范)输出。测试用例添加处理部144将由相当于该结果值候选的真值分配而充分的命题规范全部收集。以下,将该集合称为充分命题规范集合。如果充分命题规范集合为空集,则该结果值候选不能被输出,因此返回步骤702。
步骤705:测试用例添加处理部144寻找满足以下条件的、充分命题规范集合的子集。(1)生成将该子集中包含的全部命题规范的结果部的命题逻辑式用“∧”结合而得的命题逻辑式时,在相当于上述的该结果值候选的真值分配以外不存在使该命题逻辑式充分的真值分配。(2)将该子集中包含的全部命题规范的条件部的命题逻辑式用“∧”结合而得的命题逻辑式是能够充分的。如果存在这样的子集,则测试用例添加处理部144这时把相当于使(2)充分的真值分配的条件值作为测试输入值、将步骤702中选择的结果值候选设为期望输出值的测试用例作为新的测试用例添加到步骤303中生成的测试用例中,也返回步骤702。如果不存在,则直接返回步骤702。
步骤706:与步骤306相同。测试用例输出处理部145将得到的测试用例输出给显示装置108或未图示的打印机等输出装置。
步骤707:结束。
在图7所示的处理流程中,也与图5所示的处理流程相同,将结果值候选依次变更的同时,判定该结果值候选是(1)包含在已经输出的测试用例中、(2)不包含在测试用例中而且本身也是规范里无法输出的值、(3)虽然不包含在测试用例中但是为在规范上能够输出的值中的哪一个,如果是(3),则作为需要添加的测试用例添加,由此保证得到的测试用例将期望输出值囊括。
根据以上说明的第2实施方式,能够根据作为命题规范赋予的软件规范,不以表格形式展开,而生成保证期望输出值的囊括性的测试用例。
(其他实施方式)
第1实施方式中,软件规范(决定表)131有时也用与图2所示的记法不同的记法来表现。第1实施方式并不局限于特定的表记方法,对于以其他表记方法表示的软件规范也能够应用。另外,将按照这些表记方法的信息存储在外部存储装置104中时,可以按照适当的编码方法存储编码后的数据。作为编码方法,可以使用例如XML形式和CSV(逗号分隔)方式等。
另外,第1实施方式中,图3的步骤303中,以从软件规范(决定表)131中提取关于条件因子满足2因子囊括的列的集合来生成测试用例的情况为例进行了说明,更为一般地,也可以用将全部n因子的组合囊括的方式(将其称为n因子囊括。其中n为2以上、且全部因子数以下)来提取并生成测试用例。这种情况下,能够检测出全部由n个以下的条件因子造成的软件的错误,因此n越大,从测试用例的质量的观点来看越优秀。另一方面,n越小,测试用例数减少,所以从测试执行时间的观点来看越优秀。另外,作为一种实现2因子囊括、对于3因子以上也实现高囊括率的方法,也有一种公知的叫做正交表法的方法。第1实施方式不局限于2因子囊括的配对法,对于进行n因子囊括的配对法、正交表法等其他测试用例提取方法生成的测试用例也能够应用。
另外,期望输出确认处理及测试用例添加处理也可以通过例如首先制作软件规范上能够输出的值的一览表后,将结果候选值在该一览表的范围内依次变更同时进行处理等、与图5所示的处理流程不同的处理流程来实现。这种情况下,不需要判定是否为上述(2)不包含在测试用例中而且本身也是规范上无法输出的值,只判定是否包含在已经输出的测试用例中即可,因此能够减轻判定处理。
另外,第1实施方式中,以生成将软件规范上能够输出的值全部囊括的测试用例的情况为例进行了说明,而即使变更囊括条件,也可以同样地应用第1实施方式。例如,也可以对于结果因子应用配对法,选择2因子囊括这样的结果值候选,之后应用上述处理流程。这种情况下,不限于将规范上能够输出的值全部囊括,但避免了得到的测试用例中包含的期望输出值极端波动,同时与将规范上能够输出的值全部囊括的情况相比得到数量较少的测试用例,因此从测试执行时间的观点来说较为理想。
Claims (6)
1.一种测试用例生成方法,其应用在根据软件规范来生成测试用例的测试用例生成装置中,所述测试用例生成方法的特征在于,
具有如下步骤:
接收所述软件规范,并存储在存储部中;
根据所述软件规范生成包含针对该软件的测试输入值、以及将所述测试输入值作为输入来执行所述软件时期望作为输出值而获得的期望输出值的测试用例,并存储在所述存储部中;
确认所述软件规范上能够输出的值是否包含在所述期望输出值中;以及当所述确认的结果是判断为所述软件规范上能够输出的值不包含在所述期望输出值中时,生成由所述软件规范上能够输出的值和与其对应的测试输入值构成的测试用例,并添加到存储在所述存储部中的所述测试用例中,
所述软件规范是将软件执行前的条件及其执行后的结果的对应关系以表格形式来定义的决定表。
2.如权利要求1所述的测试用例生成方法,其特征在于,
利用所述测试用例生成装置确认所述软件规范上能够输出的值是否包含在所述期望输出值中的步骤分别对于作为所述决定表的结果因子的组合而定义的结果值候选,确认已经生成的测试用例中是否包含所述结果值候选、以及所述结果值候选是否能够作为由所述决定表定义的处理结果来生成。
3.如权利要求2所述的测试用例生成方法,其特征在于,
当所述确认的结果是分别对于作为所述决定表的结果因子的组合而定义的结果值候选,所述已经生成的测试用例中不包含所述结果值候选、并且所述结果值候选能够作为由所述决定表定义的处理结果来生成时,通过所述测试用例生成装置计算一个赋予所述结果值候选的输入值、并作为新的测试用例添加到存储在所述存储部中的所述测试用例中。
4.一种测试用例生成装置,其根据软件规范来生成测试用例,所述测试用例生成装置的特征在于,具备:
规范接收模块,其接收所述软件规范,并存储在存储部中;
测试用例生成模块,其根据所述软件规范生成包含针对该软件的测试输入值、以及将所述测试输入值作为输入来执行所述软件时期望作为输出值而获得的期望输出值的测试用例,并存储在所述存储部中;
期望输出确认模块,其确认所述软件规范上能够输出的值是否包含在所述期望输出值中;
测试用例添加模块,其当所述期望输出确认模块判断出软件规范上能够输出的值不包含在所述期望输出值中时,生成由所述软件规范上能够输出的值和与其对应的测试输入值构成的测试用例,并添加到存储在所述存储部中的所述测试用例中,
所述软件规范是将软件执行前的条件及其执行后的结果的对应关系以表格形式来定义的决定表。
5.如权利要求4所述的测试用例生成装置,其特征在于,
所述期望输出确认模块具备:
第1确认部,其分别对于作为所述决定表的结果因子的组合而定义的结果值候选,确认已经生成的测试用例中是否包含该结果值候选;以及第2确认部,其确认所述结果值候选是否能够作为由所述决定表定义的处理结果来生成。
6.如权利要求5所述的测试用例生成装置,其特征在于,
当所述第1确认部和所述第2确认部确认的结果,是分别对于作为所述决定表的结果因子的组合而定义的结果值候选,所述已经生成的测试用例中不包含所述结果值候选、并且所述结果值候选能够作为由所述决定表定义的处理结果生成时,所述测试用例添加模块计算一个赋予所述结果值候选的输入值、并作为新的测试用例添加到存储在所述存储部中的所述测试用例中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013059281A JP5894954B2 (ja) | 2013-03-22 | 2013-03-22 | テストケース生成方法、テストケース生成装置およびプログラム |
JP2013-059281 | 2013-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063312A CN104063312A (zh) | 2014-09-24 |
CN104063312B true CN104063312B (zh) | 2017-03-15 |
Family
ID=51551034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410050393.7A Active CN104063312B (zh) | 2013-03-22 | 2014-02-13 | 测试用例生成方法及测试用例生成装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140289706A1 (zh) |
JP (1) | JP5894954B2 (zh) |
CN (1) | CN104063312B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446874B (zh) * | 2014-09-25 | 2019-03-15 | 北京畅游天下网络技术有限公司 | 一种资源配置文件的检测方法和装置 |
CN105808227B (zh) * | 2014-12-31 | 2019-11-29 | 北京畅游天下网络技术有限公司 | 一种美术资源文件检测方法和装置 |
JP6482338B2 (ja) * | 2015-03-19 | 2019-03-13 | 株式会社エヌ・ティ・ティ・データ | 質問表回答テストデータ生成システム、質問表回答テストデータ生成方法及びプログラム |
CN108701074A (zh) * | 2016-02-24 | 2018-10-23 | 三菱电机株式会社 | 测试用例生成装置和测试用例生成程序 |
JP6692281B2 (ja) * | 2016-12-02 | 2020-05-13 | 株式会社日立製作所 | テストケース生成装置、及びテストケース生成方法 |
US10204034B2 (en) | 2017-04-06 | 2019-02-12 | At&T Intellectual Property I, L.P. | System and method for testing software applications in a software defined network |
JP6937659B2 (ja) * | 2017-10-19 | 2021-09-22 | 株式会社日立製作所 | ソフトウェアテスト装置および方法 |
CN109062804A (zh) * | 2018-08-17 | 2018-12-21 | 誉光评估工程咨询(青岛)有限公司 | 基于bim的软件测试用例的建立方法 |
CN109669436B (zh) * | 2018-12-06 | 2021-04-13 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
JP6635457B1 (ja) * | 2018-12-07 | 2020-01-22 | 株式会社エフォートサイエンス | 情報処理装置、プログラム、及びシステム |
CN109857646A (zh) * | 2019-01-08 | 2019-06-07 | 广州云测信息技术有限公司 | 一种自动化测试方法和装置 |
JP6679770B1 (ja) * | 2019-01-18 | 2020-04-15 | ソフトバンク株式会社 | テストケースの作成支援装置及びプログラム |
CN109900494B (zh) * | 2019-02-25 | 2021-04-13 | 上海机动车检测认证技术研究中心有限公司 | 一种测试用例的生成方法 |
CN111597118A (zh) * | 2020-05-26 | 2020-08-28 | 上海复深蓝软件股份有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111679991B (zh) * | 2020-06-23 | 2021-04-13 | 武汉光庭信息技术股份有限公司 | 一种利用大数据生成测试用例的方法及系统 |
JPWO2022249420A1 (zh) * | 2021-05-27 | 2022-12-01 | ||
CN115048286A (zh) * | 2022-04-26 | 2022-09-13 | 南京航空航天大学 | 一种基于组合测试的量子软件自动测试系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102566988A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程有向图的测试用例自动生成方法及测试方法 |
CN102567190A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程加权有向图的测试用例自动生成方法及测试方法 |
CN102650966A (zh) * | 2011-02-24 | 2012-08-29 | 王轶辰 | 一种面向复用的嵌入式软件测试方法及其测试系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815654A (en) * | 1996-05-20 | 1998-09-29 | Chrysler Corporation | Method for determining software reliability |
JPH10214205A (ja) * | 1997-01-30 | 1998-08-11 | Matsushita Electric Works Ltd | モジュール検査装置 |
US6044219A (en) * | 1997-04-01 | 2000-03-28 | Platinum Technology, Inc. | Date logic generator |
EP1283422A1 (en) * | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
US7032212B2 (en) * | 2002-05-06 | 2006-04-18 | Microsoft Corporation | Method and system for generating test matrices for software programs |
US7533294B2 (en) * | 2004-09-09 | 2009-05-12 | The Regents Of The University Of California | Functional coverage driven test generation for validation of pipelined processors |
US7925929B2 (en) * | 2008-10-01 | 2011-04-12 | Wipro Limited | System and method for generating an orthogonal array for software testing |
US8161459B2 (en) * | 2009-01-15 | 2012-04-17 | Infosys Technologies Limited | Method and system for generating functional test cases |
JP2011039786A (ja) * | 2009-08-11 | 2011-02-24 | Toshiba Corp | ソフトウェアテスト支援装置、ソフトウェアテスト支援方法、及びプログラム |
US8910123B2 (en) * | 2012-03-06 | 2014-12-09 | Sap Ag | Automated validation of generated test cases following changes to the underlying test model |
-
2013
- 2013-03-22 JP JP2013059281A patent/JP5894954B2/ja active Active
-
2014
- 2014-02-03 US US14/171,163 patent/US20140289706A1/en not_active Abandoned
- 2014-02-13 CN CN201410050393.7A patent/CN104063312B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102566988A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程有向图的测试用例自动生成方法及测试方法 |
CN102567190A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程加权有向图的测试用例自动生成方法及测试方法 |
CN102650966A (zh) * | 2011-02-24 | 2012-08-29 | 王轶辰 | 一种面向复用的嵌入式软件测试方法及其测试系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140289706A1 (en) | 2014-09-25 |
JP2014186407A (ja) | 2014-10-02 |
CN104063312A (zh) | 2014-09-24 |
JP5894954B2 (ja) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063312B (zh) | 测试用例生成方法及测试用例生成装置 | |
US7975262B2 (en) | Error tracing with context history | |
CN105204823B (zh) | 生成应用程序安装包的方法及装置 | |
US20170132103A1 (en) | Generation device, generation method, and program | |
CN104750606B (zh) | 一种基于反射的自动化测试方法 | |
CN105263128B (zh) | 一种批量发送短信的方法和装置 | |
CN103649907A (zh) | 高度并发处理任务的记录和执行 | |
CN106648556A (zh) | 前后端集成开发测试的方法及装置 | |
CN108572918A (zh) | 性能测试方法、装置、计算机设备及存储介质 | |
CN110502362A (zh) | 基于微服务架构的错误码定义方法、装置和计算机设备 | |
CN110209569A (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN107315586A (zh) | 应用打包的方法、装置和系统 | |
Legeard et al. | Generation of functional test sequences from B formal specifications presentation and industrial case-study | |
CN109542962A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109032614A (zh) | 一种物联网应用程序开发与维护的系统及方法 | |
CN102419731A (zh) | C语言嵌入式软件插桩及动态测试覆盖率信息提取方法 | |
CN110209582A (zh) | 代码覆盖率的统计方法及装置、电子设备、存储介质 | |
CN101937395B (zh) | 一种用于漏洞检测的检测对象程序特征提取方法 | |
CN109147862A (zh) | Nvm测试加速方法及系统 | |
CN105027098B (zh) | 减轻单元间干扰 | |
CN104572482B (zh) | 一种过程变量的存储方法及装置 | |
CN105988920B (zh) | 一种基于数据集的测试案例生成方法及其装置 | |
CN104461938B (zh) | 数据读取方法和装置 | |
CN116560629A (zh) | 一种数据传输对象的序列化方法、装置、介质和设备 | |
CN103969484B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |