一、正交实验法概述

正交实验法是研究多因素多水平的一种方法,它是通过正交表挑选部分有代表性的水平组合试验替代全面试验。这些有代表性的组合试验具备了“均匀分散,整齐可比”的特点。正交表一般用Ln(mk)表示,L 代表是正交表,n 代表试验次数或正交表的行数,k 代表最多可安排影响指标因素的个数或正交表的列数,m 表示每个因素水平数,且有 n=k*(m-1)+1。

二、正交实验法应用

例如三因素二水平的实验:某公司想通过“性别”、“单身”和“年龄”这三个查询条件对公司男女比例情况进行查询:

根据“性别”=“男,女”查询

根据“单身”=“是,否”查询

根据“年龄”=“30 岁以下、30 岁以上”查询

按全面实验要求,须进行23=8种组合的实验。每一行为一条测试用例。

若按L4​(23)正交表实验,正交表获取路径:https://www.york.ac.uk/depts/maths/tables/orthogonal.htm

把每一行转成测试用例,只需测试 4 次,极大地减少了工作量。

但对于缺少设计经验且被测功能的因素、水平多的情况下,手动去设计正交表是有一定困难的。基于此,给大家推荐一款 Allpairs 工具,自动生成组合测试用例。

三、Allpairs 下载安装

  1. 可直接百度 Allpairs 或者通过以下链接 https://www.softpedia.com/get/Programming/Other-Programming-Files/Allpairs.shtml 完成下载。

2.下载完成后将下载压缩包解压到对应文件夹。

四、Allpairs 正交实验法使用

举例:商品筛选(手机)页面

  1. 分析所有条件及取值,整理到一个 Excel 文档中

  1. 在 allpairs 目中中新建记事本 1.txt(文件名自定义),并复制 Excel 表中的数据,保存到记事本 txt 中。

  1. 在当前安装目录中打开命令行窗口,并执行 allpairs.exe t1.txt > testdata.xls

  1. 查看生成的 testdata.xls。TEST CASES 就是我们需要的测试用例,PAIRING DETAILS 配对详情内容可忽略。

五、总结

利用因果图法、判定表法可以帮助我们对于输入数据的组合情况进行用例设计,但当输入数据的组合数量巨大时,由于不太可能覆盖到每个输入组合的测试情况,因果图法或判定表法可能就不太适用了,可以采用正交实验法、来合理地减少测试人力跟时间成本。这种方法比较多地应用在软件产品的搜索、查询等场景中。之前咨询我这种方法的童鞋,是时候收藏学习一波了~

正交实验法之 Allpairs电商项目用例设计实战的更多相关文章

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计

    笔记 4.微服务下电商项目基础模块设计     简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习             小而精的方式学习微服务 1.用户服务       ...

  2. python-django电商项目-需求分析架构设计数据库设计_20191115

    python-django电商项目需求分析 1.用户模块 1)注册页 注册时校验用户名是否已被注册. 完成用户信息的注册. 给用户的注册邮箱发送邮件,用户点击邮件中的激活链接完成用户账户的激活. 2) ...

  3. 从头开始 启动开源电商项目jShop

    1. 引言 干了三年C#, 有了转Java 的念想,所以尝试学习一下java web,java语法本身和C#没有太多的差别,所以打算看看开源的java项目,开源的Java项目还是非常非常多的,曾经看了 ...

  4. Python实现正交实验法自动设计测试用例

    1.简介 正交试验法是研究多因素.多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的.有代表性的点进行试验,这些有代表性的点具备了 ...

  5. 用SpringBoot搭建简单电商项目 01

    前几节呢,我们已经简单介绍了SpringBoot框架的使用,从这一节开始,我们尝试着使用SpringBoot框架来一步一步搭建一个简单电商项目.当然了,这不是真正的电商项目,你可以看成是一个CRUD案 ...

  6. Python Django(WEB电商项目构建)

    (坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...

  7. Spark大型电商项目实战-及其改良之番外(1)-将spark前端页面效果高效拷贝至博客

    Spark大型电商项目实战-及其改良这个系列的时间轴展示图一直在变....1-3篇是用图直接表示时间轴,用一段简陋的html代码表示时间表.第4篇开始才是用比较完整的前端效果,能移动.缩放时间轴,鼠标 ...

  8. C#大型电商项目优化(二)——嫌弃EF与抛弃EF

    上一篇博文中讲述了使用EF开发电商项目的代码基础篇,提到EF后,一语激起千层浪.不少园友纷纷表示:EF不适合增长速度飞快的互联网项目,EF只适合企业级应用等等. 也有部分高手提到了分布式,确实,性能优 ...

  9. C# 大型电商项目性能优化(一)

    经过几个月的忙碌,我厂最近的电商平台项目终于上线,期间遇到的问题以及解决方案,也可以拿来和大家多做交流了. 我厂的项目大多采用C#.net,使用逐渐发展并流行起来的EF(Entity Framewor ...

随机推荐

  1. 协程实现socket并发编程

    在python中多线程其实是被弱化了,因为由于GIL的原因,同一时间只有一个线程能访问CPU,即使你的CPU是多核的在python中因为多线程被弱化了,所以协程显的重要,能够在一个线程中提高CPU的利 ...

  2. 【SpringCloud】consul注册中心注册的服务为内网(局域网)IP

    一.前因 最近在做公司的一个微服务项目,技术架构为spring cloud + consul + SSM. 当我写完一个功能要在本地测试时,发现服务运行成功,但是前后端联调报500错误. 当时的第一个 ...

  3. ASP.NET Core管道详解[2]: HttpContext本质论

    ASP.NET Core请求处理管道由一个服务器和一组有序排列的中间件构成,所有中间件针对请求的处理都在通过HttpContext对象表示的上下文中进行.由于应用程序总是利用服务器来完成对请求的接收和 ...

  4. 使用思维导图MindManager能否增强记忆?

    学生时代,每当面对冗杂的需要背诵的课业时,有很多人都会发出"这么多内容怎么背啊"."我讨厌死记硬背"."昨天背完今天就忘了"的呐喊.那么,如 ...

  5. 记录一下Comparator的用法

    Collections.sort(res, new Comparator<ArrayList<Integer>>() {             @Override       ...

  6. PHP 统计目录下文件数和文件大小

    1 /** 2 * 统计文件数和文件大小 3 */ 4 private function getFileCacheCount($pathName) 5 { 6 $data = [ 7 'num' =& ...

  7. python ddt实现数据驱动

    首先安装ddt模块,命令:pip install ddt 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或 ...

  8. go特性-数组与切片

    数组: 复制传递(不要按照c/c++的方式去理解,c/c++中数组是引用传递),定长 切片: 引用传递,底层实现是3个字段 array(数组) + len(长度) +cap(容量) type slic ...

  9. 终于有人把鸿蒙OS讲明白了,大佬讲解!快收藏!

    来自 | GitHub科技 本文面向的是开发人员,主要想通过科普让大家了解一下鸿蒙开发.接下来,我想给大家科普一下这个这么火的鸿蒙系统. 到底什么是鸿蒙 OS 在官网上看到鸿蒙 OS 的简介是,分布式 ...

  10. Golang性能分析与优化

    在公司的分享,去除了相关的敏感信息.