CN1670714A - 测试用例实现方法及软件测试方法 - Google Patents
测试用例实现方法及软件测试方法 Download PDFInfo
- Publication number
- CN1670714A CN1670714A CN 200410008692 CN200410008692A CN1670714A CN 1670714 A CN1670714 A CN 1670714A CN 200410008692 CN200410008692 CN 200410008692 CN 200410008692 A CN200410008692 A CN 200410008692A CN 1670714 A CN1670714 A CN 1670714A
- Authority
- CN
- China
- Prior art keywords
- software
- input domain
- variable
- domain variable
- test case
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种测试用例实现方法及一种软件测试的方法,所述测试用例实现方法主要包括以下步骤:a)根据被测软件系统输入域变量获取相应的均匀设计表;b)根据获取的均匀设计表设计软件测试用例。所述软件测试方法主要利用上述测试用例实现方法设计软件测试用例,并进一步利用所述设计的测试用例对被测软件系统进行测试。本发明由于采用均匀设计法设计测试用例,可大大提高软件测试的覆盖范围,同时测试所需测试用例较少,可保障软件测试质量,并有效降低软件测试成本。
Description
技术领域
本发明涉及测试技术,尤指一种测试用例实现方法及软件测试方法。
背景技术
广义的软件测试包括了软件生产全过程的测试,包括对用户需求、概要设计的测试,例如产品是否符合用户需求,是否符合用户的使用习惯等。
狭义的软件测试可以归纳为对模型
Y=F(X1,X2,...)
的测试。所述模型中X1、X2、...是被测系统输入变量,F表示对输入变量X1、X2、...进行处理变换,得到的输出为Y。
样本是指一个输入变量的一个确定的值,如X11、X12是变量X1的两个样本,输入样本是指所有变量确定值的组合,如(X11,X21,...)是一个输入样本,一个测试用例是指一个确定的输入样本及其对应的预期输出结果,测试一个软件,需要一组足够数量的测试用例。
在测试时按照测试用例中指定的输入样本激励被测系统得到实际输出结果,若实际输出结果与测试用例的预期输出结果相符则表示此次测试通过,若不相符则表示此次测试不通过,被测软件实体在此情况下存在错误。
随着软件复杂度的增加,软件测试过程中需设计的测试用例数量大大增加,由于在实际情况中不可能进行穷举测试,所以实际测试中所使用的测试输入样本集合总是穷举测试输入样本集合的一个子集。测试输入样本的分布情况直接决定了测试所能发现的问题,也决定了最终的测试质量和效果。测试用例设计就是在给定的输入域中对各个变量的输入进行合理组合,以得到合理分布的测试输入样本集合,以保障最终的测试效果。
现有技术中主要采用以下方法设计软件测试用例并根据相应软件测试用例进行软件测试:
其一,测试人员根据自己的经验对输入样本进行组合得到软件测试用例并根据相应软件测试用例进行软件测试
例如,对于输入域
索引 | X1 | X2 |
1 | X11 | X21 |
2 | X12 | X22 |
3 | X13 | X23 |
表一 Y=F(X1,X2)的输入域表
测试人员既可能得到输入组合(X11,X21)、(X12,X22)、(X13,X23),也可能得到其它输入组合。采用这种方式,测试人员根据自己的经验对样本进行组合得到的结果因人而异,因此,难以保证测试所覆盖的范围,测试质量得不到保证。
其二,采用完全组合方式对输入样本进行组合得到软件测试用例并根据相应软件测试用例进行软件测试
这种方式把所有变量的所有样本进行组合,它保证任一变量的任一样本与其它变量的所有样本都有机会组合,根据这种组合方式,表一所表示的输入域存在9个输入样本,分别是:
(X11,X21)、(X11,X22)、(X11,X23)、
(X12,X21)、(X12,X22)、(X12,X23)、
(X13,X21)、(X13,X22)、(X13,X23)
完全组合事实上导致穷举测试,这种测试常常造成大量的测试用例,不可接受的测试周期和测试成本。
其三,采用正交设计法对输入样本进行组合得到软件测试用例并根据相应软件测试用例进行软件测试
采用正交设计法,首先根据变量个数以及每个变量的样本数计算相应的正交设计表,然后用实际样本替换正交设计表中的数据,得到正交组合表,再按照该表进行测试。
对于表一的输入域的两个变量,根据正交设计法组合可得到9个输入样本,分别是:
(X11,X21)、(X11,X22)、(X11,X23)、
(X12,X21)、(X12,X22)、(X12,X23)、
(X13,X21)、(X13,X22)、(X13,X23)
采用正交设计法对样本进行组合依据合适的正交表组合样本,通过该方法得到的最小输入样本数为样本数的平方,在一些情况下这么多的测试用例仍然是不可接受的。同时,由于正交设计法强调“均匀分散,整齐可比”的特性,降低了通过正交设计法得到的输入组合的均匀性,从而导致测试覆盖率的降低。
发明内容
本发明解决的技术问题是提供一种测试覆盖范围广、同时所需测试用例少的测试用例实现方法及软件测试方法,采用上述方法,可有效降低软件测试成本和周期。
为解决上述问题,本发明提供的一种测试用例实现方法,包括以下步骤:
a)根据被测软件系统输入域变量获取相应的均匀设计表;
b)根据获取的均匀设计表设计软件测试用例。
其中,所述步骤a)具体包括:
a1)确定被测软件系统输入域变量个数及每个变量的样本数;
a2)根据所述软件系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
进一步,所述步骤b)具体包括:
用输入域变量的实际样本替换获取的均匀设计表中的形式参数;
以所述替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
相应的,本发明提供的一种软件测试方法,包括以下步骤:
1)根据被测软件系统输入域变量获取相应的均匀设计表;
2)根据获取的均匀设计表设计软件测试用例;
3)利用所述设计的软件测试用例对被测软件系统进行测试。
其中,所述步骤1)具体包括:
11)确定被测软件系统输入域变量个数及每个变量的样本数;
12)根据所述软件系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
进一步,所述步骤2)具体包括:
用输入域变量的实际样本替换获取的均匀设计表中的形式参数;
以所述替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
与现有技术相比,本发明具有以下优点:
本发明采用均匀设计法进行软件测试用例设计,由于均匀设计法能从全面试验点中挑选出部分代表性的试验点,这些试验点在试验范围内充分均匀分散,但仍能反映体系的主要特征,因而大大减少了试验次数,相比现有技术测试人员根据经验进行组合或者对输入变量进行完全组合以及采用正交设计法等,本发明由于采用均匀设计法设计软件测试用例,可大大提高软件测试的覆盖范围,同时软件测试所需用例较少,可保障软件测试质量,并有效降低软件测试成本。
附图说明
图1是本发明测试用例实现方法中利用辅助软件系统进行设计的具体实施例总体框图;
图2是图1所示辅助软件系统的工作原理示意图;
图3是图1所示辅助软件系统查询均匀设计表的流程图。
具体实施方式
本发明采用均匀设计法设计软件测试用例,均匀设计法是中国数学家提出的一种试验方法,其只考虑试验点在试验范围内充分均匀分散性,而不考虑整齐可比性,因此它的试验布点的均匀性更好,本发明中,所述均匀设计法的因素即软件测试用例中的输入域变量,各个因素的水平数即各个输入域变量的样本数,本发明中将均匀设计法应用于软件测试用例设计,可有效减少测试用例数量,提高测试用例分布的均匀性,有效保障测试用例覆盖率和测试质量。
本发明采用均匀设计法设计软件测试用例主要采用如下两个步骤:第一步,根据被测系统输入域变量获取相应的均匀设计表;第二步,根据获取的均匀设计表设计软件测试用例。
为实现所述第一步,需首先确定被测系统输入域变量个数及每个变量的样本数;然后即可根据所述系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
其中如何取得相应的均匀设计表并进行实际参数替换是本发明的关键,实际实施时可由用于均匀设计的辅助软件系统实现,下面以辅助软件系统为UDTCase为例进行说明。
参考图1,图1是本发明利用所述辅助软件系统(UDTCase)进行软件测试用例设计的具体实施例总体框图,若选择用户交互输入参数(在步骤s11),则系统首先对用户输入的参数进行预处理(在步骤s12),所述对参数进行预处理主要是对样本数不相同的参数进行参数拟合,以保证每个变量都有相同的水平数。拟合方法较多,本实施例中仅以采用最小公倍数方进行样本拟合进行说明,具体的,拟合方法如下:
取各个输入域变量样本数的最小公倍数;
将所述各个输入域变量的水平数放大到所述最小公倍数,得到新的样本表;
其中如果各因素的水平数都相同,则拟合结果与不拟合结果一样。
下面举例说明:
参考表一,表一是拟合前的样本表,假设软件系统输入域变量有两个变量X1及X2,其中变量X1具有6个样本,变量X2则具有4个样本,由于输入域变量X1和X2的样本数(即水平数)分别为6和4,为了使系统输入域变量具有相同的水平数,则取6和4的最小公倍数为12,将变量X1和X2的水平数放大到12,则变量X1重复填充2次,变量X2重复填充3次即可实现拟合。
表二:
序号 | X1 | X2 |
1 | X11 | X21 |
2 | X12 | X22 |
3 | X13 | X23 |
4 | X14 | X24 |
5 | X15 | |
6 | X16 |
拟合后的样本表参考表三
表三:
序号 | X1 | X2 |
1 | X11 | X21 |
2 | X12 | X22 |
3 | X13 | X23 |
4 | X14 | X24 |
5 | X15 | X21 |
6 | X16 | X22 |
7 | X11 | X23 |
8 | X12 | X24 |
9 | X13 | X21 |
10 | X14 | X22 |
11 | X15 | X23 |
12 | X16 | X24 |
这样,以拟合后的输入域变量作为参数,即可查询相应的均匀设计表(在步骤s3),在得到相应的均匀设计表后,则以实际参数代替获取的均匀设计表中的形式参数(在步骤s4),最后,将实参替换后的均匀设计表提交给用户(在步骤s5),用户即可根据所述均匀设计表的输入组合设计软件测试用例。
以表一的样本为例,最后通过辅助软件系统(UDTCase)取得的软件测试用例输入样本如下:
(X11,X23)、(X12,X21)、(X13,X22)
用户根据该输入样本计算预期结果即可设计出最终的软件测试用例。
下面参考图2对本发明中应用的辅助软件系统(UDTCase)的工作原理进行说明。
首先系统根据命令行是否有参数决定是否按照交互方式运行(在步骤s201),如果没有参数,表示系统按照交互方式运行,系统提示用户输入参数文件名(在步骤s202),该文件中详细定义均匀设计的各种参数,如果没有指定参数文件,系统提示用户输入变量个数和变量样本数以及结果文件名(在步骤s203、步骤s204以及步骤s205),如果指定了参数文件名,则直接提示用户输入结果文件名(在步骤s206),然后系统根据用户输入的参数构造系统需要的均匀设计参数结构(在步骤s207),按照该结构查询静态均匀设计表并取得相应均匀设计表,然后显示取得的均匀设计表(在步骤s208、步骤s209),如果用户指定了结果文件名,系统会把得到的均匀设计表保存到指定的文件中(在步骤s210),最后系统提示用户是否需要继续运行(在步骤s211),如果用户需要继续运行,则系统返回到提示输入参数文件名处(步骤s202)进行下一轮运行,否则系统退出运行。
另一方面,如果命令行指定了运行参数,则先分析命令行运行参数,具体的首先判断第二个参数(第一个参数是程序名称,即UDTCase.exe)是不是“-1/L”(表示“-1”或“-L”,大写或小写都可以)(在步骤s212、步骤s213),如果是,系统从后续的参数中提取变量个数和变量样本数以及结果文件名(在步骤s214、步骤s215以及步骤s216),再构造系统需要的均匀设计参数结构(在步骤s217);如果第二个参数不是“-1/L”,则第二个参数是参数文件名,获取所述参数文件名,系统再从后续的参数中提取结果文件名构造系统需要的均匀设计查询参数(在步骤s218、步骤s219以及步骤s220),然后系统根据均匀设计参数结构查询静态均匀设计表取得相应均匀设计表,并显示均匀设计表(在步骤s221、步骤s222),如果用户指定了结果文件名,系统会把得到的均匀设计表保存到指定的结果文件中(在步骤s223),然后系统直接退出运行。
上述过程中,查询均匀设计表是系统中的关键,参考图3,对系统实现查询的工作过程进行说明。
系统首先对参数结构进行变量样本拟合(即如果各个变量的样本数不一样,这种情况只可能从参数文件中获得参数时发生),根据拟合的情况构造静态均匀设计表文件名,并从该文件中读取均匀设计表信息,该文件中保存的是形式参数组成的均匀设计表,如表一所表示的输入域对应的静态均匀设计表如下:
1 3
2 1
3 2
取得该表后,使用实际参数(即实际样本)替换上述均匀设计表中的形式参数,得到最终的均匀设计表如下:
X11 X23
X12 X21
X13 X22
最后系统把得到的均匀设计表提交给用户,用户即可根据替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
利用上述设计软件测试用例的方法,本发明进一步提供一种软件测试方法,其主要采用下述三个步骤:第一步,根据被测软件系统输入域变量获取相应的均匀设计表;第二步,根据获取的均匀设计表设计软件测试用例;第三步,利用所述设计的软件测试用例对被测软件系统进行测试。
其中所述第一步以及第二步可由上述软件测试用例设计方法实现,即实现所述第一步,首先确定被测系统输入域变量个数及每个变量的样本数;然后即可根据所述系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
实现所述第二步,根据上述软件测试用例设计方法,只需用输入域变量的实际样本替换获取的均匀设计表中的形式参数;然后以所述替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
这样,在第三步,由设计好的软件测试用例即可对被测软件系统进行测试,由于通过软件测试用例对软件系统进行测试是本领域的公知技术,且不是本发明的关键点,这里不再赘述。
综上,本发明由于通过均匀设计法设计测试用例,可大大提高软件测试的覆盖范围,同时软件测试所需测试用例较少,可保障软件测试质量,并有效降低软件测试成本。
上述仅以优选实施例对本发明进行说明,非因此即局限本发明的权利范围,因此,在不脱离本发明思想的情况下,凡运用本发明说明书及附图内容所为的等效变化,均理同包含于本发明的权利要求范围内。
Claims (10)
1、一种测试用例实现方法,用于软件系统中,其特征在于,包括以下步骤:
a)根据被测软件系统输入域变量获取相应的均匀设计表;
b)根据获取的均匀设计表设计软件测试用例。
2、根据权利要求1所述的测试用例实现方法,其特征在于,所述步骤a)具体包括:
a1)确定被测软件系统输入域变量个数及每个变量的样本数;
a2)根据所述软件系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
3、根据权利要求2所述的测试用例实现方法,其特征在于,所述步骤a2)还包括:
若被测软件系统输入域变量的样本数不全相同,则先对被测软件系统输入域变量进行样本拟合以保证输入域变量均有相同的水平数。
4、根据权利要求3所述的软件测试用例的实现方法,其特征在于,所述对被测软件系统输入域变量进行样本拟合包括如下步骤:
确定各个输入域变量样本数的最小公倍数;
将所述各个输入域变量的水平数放大到所述最小公倍数。
5、根据权利要求1所述的测试用例实现方法,其特征在于,所述步骤b)具体包括:
用输入域变量的实际样本替换获取的均匀设计表中的形式参数;
以所述替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
6、一种软件测试方法,用于软件系统中,其特征在于,包括以下步骤:
1)根据被测软件系统输入域变量获取相应的均匀设计表;
2)根据获取的均匀设计表设计软件测试用例;
3)利用所述设计的软件测试用例对被测软件系统进行测试。
7、根据权利要求6所述的软件测试方法,其特征在于,所述步骤1)具体包括:
11)确定被测软件系统输入域变量个数及每个变量的样本数;
12)根据所述软件系统输入域变量个数及每个变量的样本数查询并获取相应的均匀设计表。
8、根据权利要求7所述的软件测试方法,其特征在于,所述步骤12)还包括:
若被测软件系统输入域变量的样本数不全相同,则先对被测系统输入域变量进行样本拟合以保证输入域变量均有相同的水平数。
9、根据权利要求8所述的软件测试方法,其特征在于,所述对被测软件系统输入域变量进行样本拟合包括如下步骤:
确定各个输入域变量样本数的最小公倍数;
将所述各个输入域变量的水平数放大到所述最小公倍数。
10、根据权利要求6所述的软件测试方法,其特征在于,所述步骤2)具体包括:
用输入域变量的实际样本替换获取的均匀设计表中的形式参数;
以所述替换后的均匀设计表中输入域变量的输入组合设计软件测试用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410008692 CN1670714A (zh) | 2004-03-16 | 2004-03-16 | 测试用例实现方法及软件测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410008692 CN1670714A (zh) | 2004-03-16 | 2004-03-16 | 测试用例实现方法及软件测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1670714A true CN1670714A (zh) | 2005-09-21 |
Family
ID=35041986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410008692 Pending CN1670714A (zh) | 2004-03-16 | 2004-03-16 | 测试用例实现方法及软件测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1670714A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847120A (zh) * | 2010-03-31 | 2010-09-29 | 中兴通讯股份有限公司 | 一种测试用例的设计方法及系统 |
CN103870384A (zh) * | 2012-12-11 | 2014-06-18 | 航天信息股份有限公司 | 测试用例推定方法及系统 |
CN104572458A (zh) * | 2014-12-30 | 2015-04-29 | 北京工业大学 | 基于Wp测试用例约简集的无线传感器网络系统测试方法 |
CN106484621A (zh) * | 2016-10-13 | 2017-03-08 | 北京润科通用技术有限公司 | 一种测试用例生成方法及装置 |
-
2004
- 2004-03-16 CN CN 200410008692 patent/CN1670714A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847120A (zh) * | 2010-03-31 | 2010-09-29 | 中兴通讯股份有限公司 | 一种测试用例的设计方法及系统 |
CN103870384A (zh) * | 2012-12-11 | 2014-06-18 | 航天信息股份有限公司 | 测试用例推定方法及系统 |
CN103870384B (zh) * | 2012-12-11 | 2017-02-08 | 航天信息股份有限公司 | 测试用例推定方法及系统 |
CN104572458A (zh) * | 2014-12-30 | 2015-04-29 | 北京工业大学 | 基于Wp测试用例约简集的无线传感器网络系统测试方法 |
CN104572458B (zh) * | 2014-12-30 | 2017-05-24 | 北京工业大学 | 基于Wp测试用例约简集的无线传感器网络系统测试方法 |
CN106484621A (zh) * | 2016-10-13 | 2017-03-08 | 北京润科通用技术有限公司 | 一种测试用例生成方法及装置 |
CN106484621B (zh) * | 2016-10-13 | 2018-12-14 | 北京润科通用技术有限公司 | 一种测试用例生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1761043A (zh) | 半导体测试管理系统及方法 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
CN1645371A (zh) | 一种基于搜索引擎技术的提问式知识聚合方法以及知识共享方法 | |
CN103309801B (zh) | 一种确定回归测试范围的方法和装置 | |
CN1667587A (zh) | 基于扩展的马尔克夫贝叶斯网的软件可靠性评估方法 | |
CN1991786A (zh) | 软件测试方法和软件测试设备 | |
CN1527225A (zh) | 信息关联性显示方法、程序、存储介质和装置 | |
CN1866219A (zh) | 基于自动化测试脚本对被测对象进行测试的方法和系统 | |
CN1845079A (zh) | 一种测试向量的产生方法 | |
CN104905766A (zh) | 基于定位像确定扫描参数的医疗扫描系统和方法 | |
CN1601239A (zh) | 基于灰色理论的称重传感器故障预测方法 | |
CN1812349A (zh) | 一种音频指标自动测试装置 | |
CN102289408B (zh) | 一种基于错误传播网络的回归测试用例排序方法 | |
CN1949714A (zh) | 一种网络服务质量监测方法及其系统 | |
CN1670714A (zh) | 测试用例实现方法及软件测试方法 | |
CN1324530C (zh) | 用于分析数字图像纹理结构的方法 | |
CN1560646A (zh) | 一种快速的集成电路测试流程优化方法 | |
CN109002715A (zh) | 一种基于卷积神经网络的恶意软件识别方法及系统 | |
CN1967526A (zh) | 基于对等索引的图像检索方法 | |
CN1652120A (zh) | 基于数值仿真与决策树算法的塑性成形工艺规则获取方法 | |
CN104915430A (zh) | 一种基于MapReduce的约束关系粗糙集规则获取方法 | |
CN101055522A (zh) | 一种自动生成单元测试例的方法和装置 | |
CN1920865A (zh) | 基于可拓决策的第三方城市物流企业关键客户评价方法 | |
CN115994742B (zh) | 湿拌砂浆塑化剂的全生命周期管理方法及装置 | |
CN1862267A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |