当前位置: 首页 > article >正文

【多样化的思想】均匀设计

正交设计的一个问题是,为了保证综合可比性,每个因素的每个水平都必须有重复。比如在L_{25}5^{6}这张正交表里:

每个因素的每个水平都会重复出现5次,一共需要25个用例。要是因素数和水平数继续增加,用例数也会快速飙升。

如果我们不考虑综合可比性,只考虑均衡分散性,就可以进一步缩减用例数。这就是均匀设计的出发点。所以说,均匀设计是一种更纯粹的体现多样化思想的方法。对于三因素五水平的测试,采用正交设计需要25个用例,采用均匀设计只需要5个用例。这5个用例在测试输入空间里的分布情况如下图所示:

可以看到,3个维度一共有15个剖面,虽然只有5个点,但是每一个剖面上都恰好有一个点,均匀性还是相当不错的。

均匀设计这种方法,由我国学者方开泰教授和王元院士提出,实用效果非常好,特别是在导弹试射这样成本极高的试验里,发挥了重要作用,为我国的国防事业做出了很大贡献。

据说,均匀设计的灵感来自“洛书”。传说在上古时期,大禹治水的时候,有一天,大禹在洛河里看到一只很可疑的大乌龟,乌龟背上有这样的图案:

这就是“洛书”。靠着洛书的启示,大禹才完成了治水的伟业,划定了天下九州。

我们在正交设计里需要用到正交表。类似的,在均匀设计里就需要用到均匀设计表,比如U^{*}_{6}6^{4}​:

这张均匀设计表能安排4个因素,每个因素可以有6个水平,需要6个用例。表名U^{*}_{6}6^{4}中*号的意思是这张表的均匀性比较好(相对于不带*号的表而言)。所以我们做测试设计的时候,应该优先用带*号的表。

均匀设计表有几个特点:

  ① 首先,任一列中各个可能的取值都出现,且只出现一次。也就是说,均匀设计需要的用例数,跟因素的水平数相同。如果水平数从7变成8,均匀设计的用例数也是从7变成8,而正交设计的用例数会从49变成64;

  ② 其次,如果将任意两列的取值组合画在平面网格里,每行每列恰好有一个点。比如把U^{*}_{6}6^{4}第1/3列的水平组合画出来,是这样样子:

把第1/4列的水平组合画出来,则是这个样子:

确实,每行每列都恰好有一个点。

  ③ 但是很明显,1/3列水平组合这6个点的分布,比1/4列要更均匀。所以如果我们要从这张表里选择两列来安排因素,选1/3列比选1/4列要好。这是跟正交表不一样的。正交表可以随便选,均匀性都是一致的。所以在做均匀设计的时候,为了方便我们选出均匀性最好的列,均匀设计表都附带了这样的“使用表”:

这张“使用表”的意思是,如果有两个测试输入变量,那就选第1/3列,如果有3个测试输入变量,就选第1/2/3列。


http://www.kler.cn/news/359741.html

相关文章:

  • 在使用 RabbitMQ 作为消息代理时,多个 Celery 实例(或应用)可以共享同一个 RabbitMQ 实例
  • Race Track Generator Ultimate:Race Track Generator(赛车场赛道看台场景创建工具)
  • 数据仓库中缓慢变化维的所有可用方案及对比
  • Java消息摘要:SHA验证数据完整性、密码的加密
  • JDBC——(2)
  • 026_net基于Net的鲜花销售系统2024_97irnin0
  • MySQL优化方法总结
  • Docker 搭建 Doris
  • iOS 回到主线程刷新UI
  • 网关Gateway作用介绍和快速入门
  • JAVA安全之命令执行研究分析
  • AWS 实现CI/CD
  • 「iOS」——AFNetworking的简单使用
  • 基于微博评论的自然语言处理情感分析
  • 《IDE 巧用法宝:使用技巧全解析与优质插件推荐》
  • Windows PowerShell 有没有类似conda的虚拟环境功能?
  • 速盾:直播cdn加速原理是什么?
  • 传奇架设GEE引擎数据库服务器提示:拒绝未授权ip连接服务器的解决办法
  • 配置websocket消息代理类AbstractBrokerRegistration
  • LeetCode 每日一题 最小差值 II