• 测试用例设计方法之正交法


    概念:

    正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

    为什么使用正交法?

    • 对于单因素或两因素实验,因其因素少,实验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的实验因素,若进行全面实验,实验的规模很大,由于时间和成本的限制我们不可能进行全面实验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心遗漏了未挑选的测试用例从而造成一些严重缺陷;
    • 为了有效的、合理地减少测试的工作量与和成本,我们利用正交实验法来设计测试用例。正交实验法就是为多因素实验、寻求最优水平组合的一种高效率的实验设计方法。
    • 在实际应用中,对于多因素多水平的试验,安排全面试验是不现实的。我们选择其中一部分组合,利用正交表安排试验,试验次数不多,也能得到比较满意的效果。

    使用场景:

    • 输入的参数之间是独立的,不存在相互依赖的关系;
    • 功能测试,配置测试。

    优点:

    能在很多试验方案中挑选出代表性强的少数几个试验方案,并且通过这些试验方案的结果的分析,推断出最优方案,同时还可以作进一步的分析,得到比试验结果本身给出的还要多的有关各因素的信息。

    直接套用,经济高效。根据正交性,从全面实验中挑选出部分有代表性的点进行实验。通过使用正交实验法减少了测试用例,合理地减少测试的工时与费用,提高测试用例的有效性。是一种高效率、快速、经济的实验设计方法;(也就是说,有些不重要的因素,直接给忽略了,这样测试用例会减少。)

    缺点:

    对每个状态点同等对待,重点不突出,容易造成在用户不常用的功能或场景中,花费不少时间进行测试设计与执行,而在重要路径上反而没有重点测试。

    正交表的知识点:

    因素:在一项试验中,凡欲考察的变量称为因素(变量)
    水平:在试验范围内,因素被考察的值称为水平(变量的取值)
     

    行数:正交表中的行的个数,即试验的次数。
    因素数:正交表中列的个数。
    水平数:任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”
    从1到“水平数”。

    (这里的公式,和下边的图不一样,计算的是下图N的值,仔细阅读)

    正交表计算实验次数:        (水平数-1)*因素数+1        (混合正交表不适用于这样的计算方式)

    所以后续我们使用allpairs软件来解决复杂难算的问题(前人栽树,后人乘凉)

     

     

    L8(2^7)有 8行7列,表中由数字1,2组成; L9(3^4)有9行4列,表中由数字1,2,3组成;

    正交法设计测试用例的步骤:

    1. 找到因素数和水平数
    2. 用allparis工具来生成正交表
    3. 根据正交表编写测试用例
    4. 补充测试用例
       

    举个例子:

    需求:用户信息填写,姓名,电子邮箱,密码,确认密码,验证码

    1.找到因素数和水平数

    因素数:姓名,电子邮箱,密码,确认密码,验证码 (总共有5个因素)

    水平数:填写,不填写                                                (各因素的水平数都相等,都是2)

    2.用allparis工具来生成正交表

    a.首先使用Excel把因素数和水平数写上去(格式一定要正确)

     

     b.复制粘贴到        1125.txt        里面

     

    c.将        1125.txt         移动到此目录

    d. win+r        cmd

     

    注意命令框的路径

     

    结果生成了!

     

    注意:使用allparis生成的正交表和实际的正交表有出入,但是仍然不影响我们使用allpairs来设计测试用例! 

    3.根据正交表编写测试用例:

     4.补充测试用例

     

  • 相关阅读:
    如何快速从Oracle迁移到Mysql?
    使用Python采集京东商品评论并保存至本地
    快速入手node.js
    SpringBoot MyBatisPlus Oracle
    现在都这么狂吗?今天面试了一个工作4年的测试工程师,一问连自动化基础都不知道,还反过来怼我..
    覆盖接入2w+交通监测设备,EMQ为深圳市打造交通全要素数字化新引擎
    【全】【ES集群安装+配置教程】装ElasticSearch到CentOS 8中liunx
    【C语言】每日一题(半月斩)——day2
    Linux系统开发(1):IO多路复用
    数据一致性离不开的checkpoint机制
  • 原文地址:https://blog.csdn.net/qq_56444564/article/details/128039695