功能测试数据测试之正交分解

遇到输入组合的问题,可以采用正交分析表法,也称正交试验设计法解决。如果要设计全面的案例覆盖所有可能的因素组合情况,工作量将难以估计,这使全面测试的可能性变得很低。这时就需要考虑采取有代表性的因素组合,选取因素组合点,设计合理的测试案例。
正交设计仅是从全面测试中选取有代表性的组合点设计案例的数学方法。正交分析表法是研究处理多因素、多水平试验的一种科学方法。使试验点分布均匀,整齐可比,又能减少试验次数。
因素:对软件运行结果有影响的软件运行条件。一般指软件的输入以及其他软件运行的环境。这些因素可以通过需求分析说明书、概要设计、详细设计等文档进行分析获得。
水平:每一个因素可以处于不同的状态,即可以采用不同取值,这些取值就是因素的水平。
例如,操作型管理信息系统需要考虑机构级别,需要考虑机构内用户角色分级等。这里有两个因素:机构级别和用户角色。机构级别因素有四个水平:总行、一级分行、二级分行、支行。用户角色因素有三个水平:系统管理员、操作员和主管。
正交表:正交表是一整套规则的设计表格,例如L9(34),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(4×24) 此表的5列中,有1列为4水平,4列为2水平。
正交表具有以下两项性质:
(1)每一列中,不同的数字出现的次数相等。
(2)任意两列中数字的排列方式齐全而且均衡。
即“均匀分散,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
正交试验设计法的基本步骤:
1、确定因素。根据软件需求,找出对系统结果有影响的各种因素,并按照因素的重要性对因素做一个初步的排序。
2、确定因素的取值范围或集合。因素的取值范围指软件输入的取值范围或集合。对于连续变化的因素,要找出其允许变化的范围,对于离散型的因素,找出所有的取值。
3、确定每个因素的水平。对于连续的因素,采用取样的方法从中挑选出一定数量点作为因素的水平,对于离散型的因素,其所有取值就是该因素的水平。根据因素的取值范围或集合,采用等价类划分法、边界值分析以及其他软件测试技术,在每个因素的取值范围或集合内挑选有效等价类、无效等价类、边界值等有代表性的测试点。对于用下拉框进行输入的字段,下拉框的所有取值构成了该因素的水平集合。
4、选择正交表。根据确定的因素和水平个数,选择合适的正交表。合适的正交表必须满足下面的条件:
①正交表的数码数与所确定的水平数完全一致。
②正交表的列数要大于或等于所确定的因素数。
③试验次数在可接受的范围内。
若试验条件允许或试验精度要求很高,则应尽量选择试验次数多的正交表;若试验次数受限制或没有合适的正交表,则应采用一个简便且可行的方法,即适当修改原定的因素和水平个数;对于混合水平的试验,如果有现成的混合水平正交表可用则直接套用,否则,采用拟水平法将其转化为另一个混合水平的正交试验或等水平正交试验。
5、设计测试用例。将所确定的因素与正交表中的列号对应,将所确定的水平与正交表中的数码数对应,填写正交表,增加期望值列。填写完成的正交表即可对应生成测试案例,正交表中每一行生成一个案例。
利用正交表设计测试案例举例:
在某应用系统中,系统登录界面如图所示:
在这里插入图片描述
用户名”、“密码”2个文本输入框,“确定”、“取消”2个按钮。
1、确定因素。4个因素“服务器”、“端口”、“用户名”、“密码”。
2、确定因素的取值范围和组合。本例中需求说明如下:
①“服务器”-北京、上海、广州、沈阳、兰州。
②“端口”-1258、2368、4588、6677、7788
③“用户名”字符型字段,长度(4,10),张三是一个合法用户;“密码”字符型字段,长度(6,10),888888是该用户的初始密码。
3、确定每个因素的水平。服务器和端口这两个因素取值是离散的,其水平值与因素的取值一致。用户名和密码两个字段由用户键盘输入,需要用等价类划分法和边界值法来确定。
在这里插入图片描述
4、选择正交表。根据本例因素水平选择正交表L25(56)中的前4列作为测试用例设计表。
L25(56)
在这里插入图片描述
5、设计测试用例。将因素水平对应正交表中的数码进行替换即可得到测试用例。
在这里插入图片描述
表中所示为替换了每个因素第一个水平的状态,依次替换各个因素的所有水平,最后填写各个组合的预期结果,即可完成测试案例的设计。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EOF(Empirical Orthogonal Function)经验正交分解法是一种常用的气象学数据分析方法,它可以将大气环流场的时空变化分解为一系列正交的空间模态和时间模态。其公式如下: 假设我们有 $n$ 个时空数据场(例如,每个场包含 $m$ 个空间网格点和 $T$ 个时间步长),那么我们可以将这些场表示为 $n$ 个矩阵 $\mathbf{X}_1, \mathbf{X}_2, \dots, \mathbf{X}_n$,其中每个矩阵的大小为 $m \times T$。我们的目标是找到一组正交基 $\mathbf{e}_1, \mathbf{e}_2, \dots, \mathbf{e}_n$,使得每个矩阵 $\mathbf{X}_i$ 可以表示为: $$\mathbf{X}_i = \sum_{j=1}^{n} a_{ij} \mathbf{e}_j$$ 其中 $a_{ij}$ 是矩阵 $\mathbf{X}_i$ 在基 $\mathbf{e}_j$ 上的投影系数,表示第 $i$ 个场在第 $j$ 个空间模态上的贡献。 为了求解这些基和投影系数,我们可以先求出所有场的平均场 $\mathbf{\bar{X}}$: $$\mathbf{\bar{X}} = \frac{1}{n} \sum_{i=1}^{n} \mathbf{X}_i$$ 然后我们可以计算协方差矩阵 $\mathbf{C}$: $$\mathbf{C} = \frac{1}{n} \sum_{i=1}^{n} (\mathbf{X}_i - \mathbf{\bar{X}})(\mathbf{X}_i - \mathbf{\bar{X}})^T$$ 接下来,我们对矩阵 $\mathbf{C}$ 进行特征值分解,得到特征值 $\lambda_1, \lambda_2, \dots, \lambda_n$ 和对应的特征向量 $\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n$。我们可以将这些特征向量组成一个矩阵 $\mathbf{V}$: $$\mathbf{V} = [\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n]$$ 然后我们可以将每个场 $\mathbf{X}_i$ 投影到这些特征向量上,得到投影系数矩阵 $\mathbf{A}$: $$\mathbf{A} = [\mathbf{a}_1, \mathbf{a}_2, \dots, \mathbf{a}_n]$$ 其中第 $i$ 列 $\mathbf{a}_i$ 表示矩阵 $\mathbf{X}_i$ 在特征向量 $\mathbf{v}_i$ 上的投影系数。我们可以将矩阵 $\mathbf{A}$ 乘以矩阵 $\mathbf{V}^T$,得到空间模态矩阵 $\mathbf{E}$: $$\mathbf{E} = \mathbf{A} \mathbf{V}^T$$ 空间模态矩阵 $\mathbf{E}$ 的每一行表示一个空间模态,每一列表示一个空间位置。我们还可以计算时间模态矩阵 $\mathbf{T}$: $$\mathbf{T} = \mathbf{V} \mathbf{A}^T$$ 时间模态矩阵 $\mathbf{T}$ 的每一列表示一个时间模态,每一行表示一个时间步长。通过对空间模态矩阵和时间模态矩阵进行适当的缩放和旋转,我们可以得到一组正交的空间模态和时间模态,用于描述大气环流场的时空变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值