《一种基于矩阵模型的软件测试方法.pdf》由会员分享,可在线阅读,更多相关《一种基于矩阵模型的软件测试方法.pdf(14页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104346278 A (43)申请公布日 2015.02.11 CN 104346278 A (21)申请号 201410508436.1 (22)申请日 2014.09.28 G06F 11/36(2006.01) (71)申请人 上海新炬网络技术有限公司 地址 200063 上海市普陀区中山北路 2000 号中期大厦 3 楼 B (72)发明人 程永新 符强 张辉 (74)专利代理机构 上海申新律师事务所 31272 代理人 刘懿 (54) 发明名称 一种基于矩阵模型的软件测试方法 (57) 摘要 本发明公开了一种基于矩阵模型的软件测试 方法, 包括如下步骤 :。
2、 a) 先将软件系统按功能模 块进行划分 ; b) 接着对功能模块进行拆分组合形 成层级功能测试点 ; c) 对所有层级功能测试点通 过构造覆盖矩阵生成测试用例集, 使得每个层级 功能测试点的任何一对输入参数的每个有效值至 少被一个测试用例所覆盖 ; 所述步骤 c) 对于输入 参数和有效取值不超过 3 个的功能测试点, 直接 采用拉丁方构造两两覆盖的测试用例集。本发明 提供的基于矩阵模型的软件测试方法, 通过功能 测试点的提取, 然后将功能测试点矩阵化, 利用矩 阵计算获得最佳的测试用例集, 能够全面提高覆 盖率、 测试效率以及测试精准度的, 满足大型软件 系统的测试需要, 并降低测试成本。 。
3、(51)Int.Cl. 权利要求书 1 页 说明书 8 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书8页 附图4页 (10)申请公布号 CN 104346278 A CN 104346278 A 1/1 页 2 1. 一种基于矩阵模型的软件测试方法, 其特征在于, 包括如下步骤 : a) 先将软件系统按功能模块进行划分 ; b) 接着对所述功能模块进行拆分组合形成层级功能测试点 ; c) 对所有层级功能测试点通过构造覆盖矩阵生成测试用例集, 使得每个层级功能测试 点的任何一对输入参数的每个有效值至少被一个测试用例所覆盖。 2. 如权利要求。
4、 1 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 b) 形成 两级功能测试点, 每个第一级功能测试点至少包括一个第二级功能测试点, 并确定每个第 二级功能测试点的输入参数, 以及每个输入参数的有效取值。 3. 如权利要求 1 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 c) 对于 输入参数和有效取值不超过 3 个的功能测试点, 直接采用拉丁方构造两两覆盖的测试用例 集。 4. 如权利要求 1 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 c) 对于 有 k 个参数的功能测试点, k 为整数, k3, 则采用 k-2 个正交拉丁方构成组合方阵, 每个。
5、元 组为k-2个参数的取值, 另外两个参数的取值为方阵中该元组的行列值, 从而构建覆盖k个 参数的两两配对测试用例集。 5. 如权利要求 4 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 c) 对于 参数取值不同的功能测试点, 先对取值较少的参数添加无效值, 在得到测试用例集后, 再将 含有无效参数值的测试用例剔除掉, 从而获得完全有效的测试用例集。 6. 如权利要求 1 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 b) 还包 括对每级功能测试点设置权值。 7. 如权利要求 6 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 c) 还包 括对每种参数的。
6、测试组合赋予一定的权值, 然后结合每级功能测试点的权值, 计算获得测 试用例的权值, 并根据测试用例的权值进行排序确定测试用例的执行优先级。 8. 如权利要求 5 所述的基于矩阵模型的软件测试方法, 其特征在于, 所述步骤 b) 还包 括对每级功能测试点设置权值 ; 所述步骤 c) 还包括对每种参数的测试组合赋予一定的权 值, 并对无效参数值赋予最低权值, 然后结合每级功能测试点的权值, 计算获得测试用例的 权值, 排序确定测试用例的执行优先级, 并从优先级靠后的测试用例中剔除含有无效参数 值的测试用例。 权 利 要 求 书 CN 104346278 A 2 1/8 页 3 一种基于矩阵模型的。
7、软件测试方法 技术领域 0001 本发明涉及一种软件测试方法, 尤其涉及一种基于矩阵模型的软件测试方法。 背景技术 0002 伴随硬件性能突飞猛进式的提升, 软件功能也呈现出多样化和复杂化的趋势, 软 件功能模块间的复杂组合给测试设计带来了前所未有的挑战, 如何设计高效且覆盖率高的 测试用例, 已经成为软件测试行业所面临的一个难题, 如何在较短的时间内对庞大的系统 进行精准的测试覆盖已经成为当前软件测试行业面临的首要问题。 0003 目前测试设计主要有以下方法 : 0004 1、 等价类划分法 : 测试设计最常用的方法, 本方法是把程序的输入域划分成若干 子集, 然后从每个子集中抽取少数代表性。
8、数据作为测试用例, 子集中各个输入数据对于揭 露程序中的错误都是等效的, 因此称为等价类划分法 ; 0005 2、 边界值分析法 : 等价类划分法的补充, 也是最简单的测试设计方法, 是对输入或 输出的边界值进行测试的一种黑盒测试方法 ; 0006 3、 错误推断法 : 依靠经验直觉进行测试设计的方法, 基于经验和直觉推测程序中 所有可能存在的各种错误 , 从而有针对性的设计测试用例的方法 ; 0007 4、 因果图法 : 是一种利用图解法分析输入的各种组合情况, 从而设计测试用例的 方法, 它适合于检查程序输入条件的各种组合情况 ; 0008 5、 判定表驱动法 : 判定表驱动法是通过分析和。
9、表达多逻辑条件下执行不同操作的 情况, 从而形成判定表, 然后利用判定表的真伪进行用例设计的方法 ; 0009 6、 正交试验法 : 根据 Galois 理论, 从大量的测试用例中挑选适量的, 有代表性的 用例, 从而合理地安排测试的一种科学实验设计方法 ; 0010 以上方法, 对于逻辑结构比较简单、 输入条件组合场景较少的系统的测试设计比 较奏效, 但是对于电信、 金融等行业复杂度高的软件测试设计, 以上方法则表现的束手无 策, 如果使用以上方法, 则会陷入测试用例的海洋, 给测试执行和测试覆盖率带来双重压 力。 0011 目前软件系统有如下特点 : 系统庞大、 复杂度高、 功能点多维度、。
10、 灵活性高等。 在有 限的项目开发时间限制下, 测试设计成为一个高难度的项目环节, 如何提供高效、 高精准度 的测试设计, 是所有大型软件测试行业所必须面临和完善的课题, 高度覆盖测试功能点, 精 简测试用例数量, 高精准度的进行软件功能测试, 已经成为一种趋势, 推动软件测试行业必 须寻求更加合理的测试设计方法去实现高效的测试。 0012 分析现有的测试设计方法, 不难发现存在如下缺点 : 0013 1)、 测试覆盖率低 : 面对繁多的测试功能点, 建立在黑盒测试基础上的测试设计只 能覆盖其中的一些组合, 导致测试覆盖率低, 很难达到对整个软件的功能的测试验证。 0014 2)、 测试用例设。
11、计混乱, 重复用例多 : 由于多种测试设计方法的混合使用, 导致用 例设计混乱, 对相同功能点的验证, 不可避免的引入了大量的重复用例, 在实际的测试执行 说 明 书 CN 104346278 A 3 2/8 页 4 过程中, 这些重复用例不但起不到挖掘软件缺陷的作用, 反而占用大量的测试时间, 使测试 周期延长, 增加了测试成本。 0015 3)、 测试精准度低 : 目前的测试都属于泛型测试, 不分主次, 测试用例的执行没有 优先级的划分, 执行过程中的执行模式都是串行执行, 因此测试效率低, 并且不能在短时间 内对整个系统的功能健壮性作出全面的评价, 做软件功能评价只能在用例全部执行的基础。
12、 上作出评估, 增加了测试周期。 0016 4)、 敏捷开发中难以进行针对性测试 : 软件核心功能点的提取和测试是敏捷开发 中不可缺少的环节, 现有的测试设计方法所存在的缺陷, 导致其不能针对软件的核心功能 点设计出高覆盖率和高精准度的测试用例。针对迭代版本, 测试覆盖率总是很难达到预期 的结果, 使得决策者很难对软件的质量充满信心, 因此错过软件的发布时机。 发明内容 0017 本发明所要解决的技术问题是提供一种基于矩阵模型的软件测试方法, 能够全面 提高覆盖率、 测试效率以及测试精准度的, 满足大型软件系统的测试需要, 并降低测试成 本。 0018 本发明为解决上述技术问题而采用的技术方案。
13、是提供一种基于矩阵模型的软件 测试方法, 包括如下步骤 : a) 先将软件系统按功能模块进行划分 ; b) 接着对功能模块进行 拆分组合形成层级功能测试点 ; c) 对所有层级功能测试点通过构造覆盖矩阵生成测试用 例集, 使得每个层级功能测试点的任何一对输入参数的每个有效值至少被一个测试用例所 覆盖。 0019 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 b) 形成两级功能测试点, 每个第一级功能测试点至少包括一个第二级功能测试点, 并确定每个第二级功能测试点的 输入参数, 以及每个输入参数的有效取值。 0020 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 c) 对于输入参。
14、数和有效取 值不超过 3 个的功能测试点, 直接采用拉丁方构造两两覆盖的测试用例集。 0021 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 c) 对于有 k 个参数的功能 测试点, k 为整数, k3, 则采用 k-2 个正交拉丁方构成组合方阵, 每个元组为 k-2 个参数的 取值, 另外两个参数的取值为方阵中该元组的行列值, 从而构建覆盖 k 个参数的两两配对 测试用例集。 0022 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 c) 对于参数取值不同的功 能测试点, 先对取值较少的参数添加无效值, 在得到测试用例集后, 再将含有无效参数值的 测试用例剔除掉, 从而获得完全。
15、有效的测试用例集。 0023 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 b) 还包括对每级功能测试 点设置权值。 0024 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 c) 还包括对每种参数的测 试组合赋予一定的权值, 然后结合每级功能测试点的权值, 计算获得测试用例的权值, 并根 据测试用例的权值进行排序确定测试用例的执行优先级。 0025 上述的基于矩阵模型的软件测试方法, 其中, 所述步骤 b) 还包括对每级功能测试 点设置权值 ; 所述步骤 c) 还包括对每种参数的测试组合赋予一定的权值, 并对无效参数值 说 明 书 CN 104346278 A 4 3/8 页 。
16、5 赋予最低权值, 然后结合每级功能测试点的权值, 计算获得测试用例的权值, 排序确定测试 用例的执行优先级, 并从优先级靠后的测试用例中剔除含有无效参数值的测试用例。 0026 本发明对比现有技术有如下的有益效果 : 本发明提供的基于矩阵模型的软件测试 方法, 通过功能测试点的提取, 然后将功能测试点矩阵化, 利用矩阵计算获得最佳的测试用 例集, 能够全面提高覆盖率、 测试效率以及测试精准度的, 满足大型软件系统的测试需要, 并降低测试成本。本发明可进一步对提取的功能测试点的重要性进行分级, 并按照等级赋 予权值, 然后按照测试设计组合的权值对测试用例进行优先级的排列, 从而获取核心功能 点。
17、的测试用例。通过本发明生成的测试用例集, 可以高覆盖率、 高精准度的对软件进行测 试覆盖, 同时也适合于敏捷开发过程中的测试设计, 通过高精准度的测试覆盖, 保障软件质 量。 附图说明 0027 图 1 为本发明基于矩阵模型的软件测试流程示意图 ; 0028 图 2 为本发明测试功能点分级提取示意图 ; 0029 图 3 为本发明利用 PCG 图来设计两两组合覆盖的测试用例集示意图 ; 0030 图 4 为本发明利用 PTC 图来设计两两组合覆盖的测试用例集示意图 ; 0031 图 5 为本发明带权值计算及测试用例优选级的测试框架示意图 ; 0032 图 6 为本发明基于矩阵模型对电信业务系统。
18、的测试功能点分级示意图 ; 0033 图7为本发明根据图6的分级示意图对某一测试功能利用正交拉丁方生成测试用 例集示意图 ; 0034 图 8 为图 7 中测试用例按优先级排序示意图。 具体实施方式 0035 下面结合附图和实施例对本发明作进一步的描述。 0036 图 1 为本发明基于矩阵模型的软件测试流程示意图。 0037 请参见图 1, 本发明提供的基于矩阵模型的软件测试方法包括如下步骤 : 0038 步骤 S1 : 先将软件系统按功能模块进行划分 ; 0039 步骤 S2 : 接着对所述功能模块进行拆分组合形成层级功能测试点 ; 0040 步骤 S3 : 对所有层级功能测试点通过构造覆盖。
19、矩阵生成测试用例集, 使得每个层 级功能测试点的任何一对输入参数的每个有效值至少被一个测试用例所覆盖。 0041 现有的测试设计方法都是直接从功能点入手, 然后针对输入输出进行测试设计, 忽略了组合关系的分析和核心功能提取。本发明则是从功能测试点的提取开始, 将功能测 试点按照级层进行提取, 然后对每个级层中的测试点还可按照其对系统的影响程度进行权 值划分, 利用组合关系来进行测试设计, 基于矩阵的测试设计, 实现了覆盖率和测试效率以 及测试精准度的全面提高, 能够满足大型软件系统的测试需要, 降低了测试成本。 下面详细 介绍本发明的软件测试方法的各个主要步骤。 0042 1、 软件系统分析及。
20、功能模块划分 0043 整个系统的功能都是由不同的功能模块组合而成的, 将整个系统拆分成为解耦的 功能模块, 能够实现测试任务的分解, 也能使测试设计过程中实现解耦测试。通过对系统 说 明 书 CN 104346278 A 5 4/8 页 6 的分析, 按照功能的不同, 将系统分解成为若干个功能模块, 按照功能模块的重要性设定权 值, 识别核心功能模块, 排定模块的测试优先级。 划分功能模块可以使测试设计者和项目决 策人员清晰的了解软件架构, 给后续的测试设计和决策发布提供指导。 0044 2、 测试功能点分级提取 0045 在功能模块划分的基础上, 更进一步进行细分, 将功能模块拆分成为不同。
21、级层的 功能点, 并按照组合关系将其分层, 如此以来就可以完全覆盖测试的功能点, 避免遗漏, 从 而提高测试覆盖率。 提取所有功能点后, 分析各个功能点的参数和取值, 抽取获得所有参数 取值, 如图 2 所示。 0046 从软件系统设计的角度出发, 本发明只需要将功能点分为两级即可, 就可以满足 对系统的分级分析, 也能够覆盖到90以上的功能分支, 因此不需要再细分下去。 将细分功 能点的输入参数按照组合关系拆分出来, 以备后续用例设计时进行矩阵建模和分析。 0047 3、 对层级功能测试点加权值分析判定 0048 层级功能测试点提取之后, 可以按照功能测试点的重要程度, 对每级功能测试点 赋。
22、予权值, 权值的定义如下 : 0049 s0 级 : 功能点对系统不重要, 实现需求不强烈, 可以不实现, 赋权值为 1 ; 0050 s1 级 : 功能点不影响系统的正常使用, 是某项功能的必要补充, 赋权值为 2 ; 0051 s2 级 : 功能点对系统影响较大, 是必不可少的, 赋权值为 3 ; 0052 s3 级 : 系统的核心功能, 一旦损坏, 软件将出现大面积瘫痪, 赋权值为 4 ; 0053 s4 级 : 影响整个系统, 一旦损坏, 系统将全面瘫痪, 赋权值为 5 ; 0054 将功能模块和功能测试点按照上述的等级和权值进行划分, 然后逐级加权相乘, 计算得到最终的功能点权值, 。
23、便可以分析得到软件系统核心功能点, 进行最终测试用例的 优先级划分, 为后续测试执行做指导, 按照实际操作的结果, 优选分为上述五级的分级方 式。 0055 4、 测试用例组合设计 0056 提取了功能测试点及其参数后, 就可以进行测试用例的组合覆盖测试设计, 构造 覆盖矩阵, 这种设计可以使系统中的任何一对输入参数的每个有效值至少被一个测试用例 所覆盖。 0057 4.1 配对组合设计的图解分析 0058 对于较为简单的输入参数组合, 本发明可以利用 PCG 图和 PTC 图来设计两两组合 覆盖的测试用例集, 而且利用此种图解方式所获取的测试集将是功能点最优的测试组合 集。 0059 对于 。
24、PCG 图, 在水平线上的每一层都代表功能点的一个参数, 并且这一层中的每 个顶点都是这个参数的有效取值, 在竖直方向上, 每条边代表参数值的一个需要被覆盖的 两两组合, 那么 G 就被称为此功能点的 PCG 图。假设某个功能点有三个参数 A、 B、 C, 并且 A、 B 的取值各为三个, C 的取值有效取值为两个, 记为 A(a1、 a2、 a3)、 B(b1、 b2、 b3)、 C(c1、 c2), 则可以获得如图 3 所示的 PCG 图 : 0060 PTC图 : 在PCG图中, 对于在每一层中只有一个顶点的子图, 记为G, 则称其为两两 组合测试覆盖用例图, 即 PTC 图。可以看出此。
25、图的特点是连同边和顶点, 正好能够构成一个 三角形, 如图 4 所示。由此可知, 每一个 PTC 图都是一个测试用例, 那么对于一个功能点而 说 明 书 CN 104346278 A 6 5/8 页 7 言, 所有的 PTC 图的集合就组成了两两组合覆盖的测试用例集。 0061 4.2 正交矩阵策略生成测试集 0062 对于复杂的系统, 很显然上述图解方式无法实现, 因此就需要寻求更加有效的方 法, 本发明利用正交矩阵的策略, 来完成测试用例集的设计。 0063 正交矩阵设计策略是利用正交拉丁方的特殊性质来构造两两组合覆盖测试用例 集, 其优点在于构造简单, 存在现成的数学模型, 并且在已知参。
26、数个数和取值的情况下, 就 可以计算出测试集的大小。此种方法可以无限的逼近最优的测试用例集, 因此可以减少测 试开销。 0064 拉丁方 : 在一个 nn 方阵中, n 为自然数, 每个元素在各行各列中均出现且只出现 一次, 则称此方阵为拉丁方。对于参数和参数取值不超过 3 个的功能点, 可以直接用拉丁方 构造两两覆盖的测试用例集。 0065 对于一个 3 参数且取值数为 3 的功能点, 通过构造拉丁方来获得测试用例集。在 方阵中每个位置的元素代表一个参数的取值, 该位置的行号和列号代表测试案例另外两个 参数的取值, 由此构成的三元素组合就构成了一个测试案例, 而整个方阵的这种三元素组 合就构。
27、成了整个测试案例集。如下的 3 阶拉丁方 : 0066 0067 第 1 行第 1 列的取值为 1, 则第一个测试案例为 (1,1,1) ; 第 1 行第 2 列的取值 为 2, 则第二个测试案例为 (1,2,2)。由此可获得整个测试案例集为 (1,1,1), (1,2,2), (1,3,3), (2,1,2), (2,2,3), (2,3,1), (3,1,3), (3,2,1), (3,3,2), 并且覆盖了所有的组 合。对于较为复杂的功能点, 则需要通过构建正交拉丁方的方法来获取测试用例集。 0068 正交拉丁方 : 由 S 个拉丁方组成的复合方阵里面, 没有重复的 S 元组 ( 元素组。
28、合, 每个方阵中提取出来的元素组合成一个元组), 则称这S个方正是相互正交的。 如拉丁方阵 aij 和 bij 组成的复合方阵 cij, 其中 cij (aij, bij), 若在 i、 j 取值范围内, 对于任 意的 r i, p j 都有 crp cij, 则称方阵 aij 和 bij 是相互正交的。 0069 对于有 k 个参数的功能测试点, k 为整数, k3, 则需要 k-2 个正交拉丁方, 拉丁方 的阶数是由参数的取值个数来决定的, 由此构成的组合方阵中, 每个元组为 k-2 个参数的 取值, 另外两个参数的取值为方阵中该元组的行列值, 由此就可以构建覆盖 k 个参数的两 两配对测。
29、试集。假设待测功能点有 4 个参数, 每个参数有三种取值 ( 设为 1、 2、 3), 则需要 2 个正交拉丁方阵 : 0070 0071 由此获得的复合方阵为 : 说 明 书 CN 104346278 A 7 6/8 页 8 0072 0073 复合方阵中划线的元组位于第 2 行第 2 列, 取值为 (3, 1), 所组成的测试用例为 (2,2,3,1), 因此就可以得到如下表所示的整个测试用例集 : 0074 0075 0076 在理想情况下, 有k个参数且每个参数有n种取值的功能点, 其测试用例个数为n2 个。 0077 正交拉丁方的构造 : 设 p 为一个素数, 则集合 F 0,1,.。
30、,p-1 是以 p 求余运算 意义下关于 “+” 、“.” 运算构成的有限域, 记做 GF(p)。 0078 多项式 P(x) a0+a1x+.+akxk, ai F, i 0,1,.,k。如果集合 F 的元素个 数为 p, 则多项式 P(x) 的个数为 pk+1个, 则将系数在 GF(p) 中的所有多项式组成的集合表 示为 GF(p,x)。若多项式 m(x) 是系数在 GF(p) 中的、 在 GF(p,x) 上不可约化的 n 次多项 式, 则 GF(p,x) 在以 m(x) 求余运算的意义下分成若干个同余类, 这些同余类的全体记做 GFp,m(x)。由此可知在 “+” 、“.”运算意义下, 。
31、GFp,m(x) 构成一个元素个数为 pn的 Galois 域, 记做 GF(pn)。 0079 当 n pa时, 可构造 n-1 个相互正交的 n 阶拉丁方, 设 x0,x1,x2.xn是 GF(pn) 的 元素, 其中 x0 0, x1 1, 构造 n 阶矩阵 A1A2.An-1如下所示 : 0080 Ak aij(k), aij(k) xkxi+xj, i,j 0,1,.n-1 ; k 1,2,.n-1 0081 从而可知 Ak是一个拉丁方, 且 A1A2.An-1是相互正交的。 0082 下面本发明通过构建 3 个 4 阶的拉丁方来说明该算法, 首先生成 Galois 域 GF(4) 。
32、0,1,x,x+1, 取 m(x) x2+x+1, 则构造 A1、 A2、 A3: 0083 由 x1 1, aij(1) xi+xj, 可得 A1 0084 说 明 书 CN 104346278 A 8 7/8 页 9 0085 由 x2 x, aij(2) xxi+xj, 其中在 GF(4) 下 x2的取余运算 m(x) x+1, 可得 A2 0086 0087 由 x3 x+1, aij(3) (x+1)xi+xj, 可得 A3 0088 0089 然后用 1,2,3,4 分别代替方阵中的元素 0,1,x,x+1, 并合并这三个正交的拉 丁方, 便可得到整个测试用例集, 如下表所示 : 。
33、0090 0091 由上面的描述可知, 正交矩阵设计方法只适合于参数的取值相同的功能点的测试 用例设计, 对于参数取值不同的功能点, 就需要对取值少的参数添加无效值, 在排列的时候 将有效值排在前面(优选按权值优先级排序), 无效值排在后面(无效值的权值优先级肯定 是最低的)。 在得到测试用例集后, 则可快速从优先级靠后的测试用例中将含有无效参数值 的测试用例剔除掉, 从而获得完全有效的测试用例集。 0092 5、 测试用例权值计算 0093 如果想要更进一步, 获得每个测试用例的重要性分析, 可以对每种参数的测试组 合赋予一定的权值, 然后结合前面功能点的权值, 就可以计算获得测试用例的权值。
34、, 对以后 的测试执行作出指导。 0094 6、 测试用例优先级排序 0095 在前面已经获得了测试用例的在整个系统中的权值, 因此本发明就可以确定测试 用例的执行优先级, 提取重点测试用例, 在版本迭代过程中优先执行, 确保软件核心功能的 良好运行。同时对于敏捷开发, 可以在有限的测试时间中, 执行最为核心的测试用例, 能够 大幅降低测试成本。 0096 7、 案例效果 0097 通过前面所述的内容已经详细说明了本发明两两组合覆盖测试用例的设计方法, 以下通过一个案例来做说明。 某电信系统的业务开通测试设计, 基于上述矩阵模型, 本发明 说 明 书 CN 104346278 A 9 8/8 。
35、页 10 可以做如下的分析和设计。 0098 7.1 功能点提取及权值计算 0099 基于矩阵模型, 通过分析和模块划分, 本发明可以提取功能点, 并分析参数后得到 如图 5 所示的测试矩阵表格。表中, 功能点等后面括弧中的值为其权值, 由此本发明可以获 得所有功能点最终的权值, 如功能点 “CRM 操作与统一开通业务同步” 的最终权值为 : 5*5*5 125。 由功能点的最终权值, 本发明就可以确定功能点的优先等级。 每个参数后面括弧中 的值, 即为参数的权值, 在测试用例集生成后, 就可以计算某个测试用例的最终权值, 从而 区分测试用例的优先级。 0100 7.2 测试集生成 0101 。
36、下面本发明以 “CRM 操作与统一开通业务同步” 功能点为例, 生成测试用例集。根 据正交拉丁方, 可以看到此功能点是3参数4值的功能点, 依据前面已经创建好的正交拉丁 方, 可以得到图 6 所示的测试用例集。 0102 7.3 测试用例优先级排序 0103 由上述的测试用例集及其权值, 就可以对测试用例的优先级进行排序, 在后续的 测试中, 就可以按照优先级进行测试执行, 从而使测试更加合理。 按照优先级排序结果如图 7 所示。根据前面的功能点优先级排序, 再结合测试用例的优先级排序, 就可以确定重点功 能点下的重点测试用例, 从而获得全方位的优先级排序测试用例, 指导测试执行, 降低测试 。
37、成本。 0104 综上所述, 本发明提供的基于矩阵模型的软件测试方法, 能够全面提高覆盖率、 测 试效率以及测试精准度的, 满足大型软件系统的测试需要, 并降低测试成本。具有优点如 下 : 1) 功能点分析过程明确。以功能模块为单位, 逐级提取功能点, 可以清晰的分析和解剖 整个软件架构, 提取重点功能点, 从而判断软件版本更新后的测试重点。 2)测试用例设计过 程清晰。 参数个数及其取值明确后, 就可以完全两两配对矩阵的设计思路进行分析设计, 然 后对构建好的复合矩阵赋予参数值, 就可以获得测试用例集。3) 测试用例优先级明确。参 数取值的权值明确后, 就可以轻松获得测试用例的权值, 然后根。
38、据权值进行测试用例的优 先级排序, 就可获得功能点的重点用例。 4)对测试设计人员能力的依赖性降低。 本发明中, 通过矩阵模型的数学计算, 就可以获得测试用例, 而不会出现漏测或者用例不完善的现象, 降低了测试设计的难度, 对测试人员的能力依赖性降低。5) 本发明对测试执行的指导作用 明显。 通过功能点的权值和测试用例的权值, 可以明确的掌握测试重点, 对测试执行具有重 要的指导意义。 0105 虽然本发明已以较佳实施例揭示如上, 然其并非用以限定本发明, 任何本领域技 术人员, 在不脱离本发明的精神和范围内, 当可作些许的修改和完善, 因此本发明的保护范 围当以权利要求书所界定的为准。 说 明 书 CN 104346278 A 10 1/4 页 11 图 1 图 2 说 明 书 附 图 CN 104346278 A 11 2/4 页 12 图 3 图 4 图 5 说 明 书 附 图 CN 104346278 A 12 3/4 页 13 图 6 图 7 说 明 书 附 图 CN 104346278 A 13 4/4 页 14 图 8 说 明 书 附 图 CN 104346278 A 14 。