正交试验法使用前提

利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到

往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交试验设计方法进行测试用例的设计。

 

研究多因素多水平的一种设计方法。它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

 

正交实验设计方法:从大量的测试案例中挑选适量的、有代表性的例子,从而合理地安排测试的一种科学实验设计方法。

 

测试步骤

 1、有哪些因素(变量)

 2、每个因素有哪几个水平(变量的取值)

 3、选择一个合适的正交表

 4、选择一个合适的正交表

 5、把每一行的各因素水平的组合作为一个测试用例

 6、加上你认为可疑且没有在表中出现的组合

 

 

如何选择正交表

 --考虑因素(变量)的个数

 --考虑因素水平(变量的取值)的个数

 --考虑正交表的行数

 --取行数最少的一个

 

设计测试用例的三种情况

 --因素数(变量)、水平数(变量值)相符

 --因素数不相同

 --水平数不相同 

 

 

例子:因素数与水平数刚好符合正交表

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

 

因素有: 

    1、姓名

    2、身份证号码

    3、手机号码

每个因素有两个情况:1、填    2、不填

 

测试用例如下:

 --1、填写姓名、(填写)身份证、填写手机号码

 --2、填写姓名、(不填)写身份证、不填写手机号码

 --3、不填姓名、(填身)份证、不填手机号码

 --4、不填姓名、(不填)身份证、填写手机号码

 --5、不填姓名、、不填身份证、不填手机号码

 

通过测试可以看出:如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交试验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。

 

 

使用注意事项

1、如果因素数不同的话,可以采用包含的方法,在正交表公式中找到包含该情况的公式,如果有N个符合条件的公式,那么选取行数最少的公式。

2、水平数不相同,采用包含和组合的方法选取合适的正交表公式。

常用于平台参数配置或兼容性测试中。

 

 

例1:旅馆住宿系统兼容性测试用例设计

需求:某旅馆住宿系统Web站点,该站点有大量的服务器和操作系统,并且可供许多具有插件的浏览器浏览,具体情况如下:

Web浏览器: Chrome45, IE6.0, Opera4.0

插件:无,Realplayer, MediaPlayer

应用服务器:IIS, Apche(web服务器),Netscape Enterprise

操作系统:windows2000,windows NT ,Linux

问题:采用正交试验法进行测试用例 设计

 

题目包含了4个因素数分别是:1、Web浏览器    2、插件    3、应用服务器     4、操作系统  所以因素数>=4

题目中的因素数的水平数>=3

从正交表公式中开始查找,结果是3的4次方,         

 

测试用例如下:

Python实现正交实验法自动设计测试用例 测试正交试验法_取值_02

Python实现正交实验法自动设计测试用例 测试正交试验法_取值_03