正交实验法
在软件测试过程中,我们会遇到一些可能的输入数据或者这些输入数据的组合数量很大的情况,由于不可能为每个输入组合都创建测试用例,而使用一般的测试方法会产生大量的冗余测试,因此我们想到了一种新的测试用例设计方法——正交试验法。 正交表测试策略是一种成对测试交互的系统的统计的方法。它提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。
正交表是由行数、因素数、水平数构成的。 行数(Runs):正交表中的行的个数,即试验的次数。 因素数(Factors):正交表中列的个数。 水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”。 正交表的表示形式:
正交表具有以下特性: 整齐可比性在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件。 均衡分散性在同一张正交表中,在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,因而具有很强的代表性,容易得到好的试验条件。
用正交表设计测试用例的步骤: 1 确定交互测试中有多少个相互独立的变量,这映射到表中的因素数(Factors) 2 确定每个变量可以取值的的个数的最大数,这映射到表中的水平数(Levels) 3 选择一个次数(Run)数最少的最适合的正交表。一个最合适的正交表是至少满足第一步说明的因素数且至少满足第二步说明的水平数 4 把因素和值映射到表中 5 为剩下的水平数选取值 6 把次数中所描述的组合转化成测试用例,再增加一些没有生成的但可疑的测试用例
如何选择正交表: 考虑因素(变量)的个数 考虑因素水平(变量的取值)的个数 考虑正交表的行数 取行数最少的一个 查询正交表 http://support.sas.com/techsup/technote/ts723_Designs.txt
一个简单的例子:水平数(变量的取值)相同、因素数(变量)刚好符合正交表 假设查询某个人时有三个查询条件:根据“姓名”、“身份证号码”、“手机号码”查询
考虑查询条件要么不填写,要么填写,此时可用正交表进行设计 有三个因素: 姓名、身份证号、手机号码 每个因素有两个水平 姓名:填、不填 身份证号:填、不填 手机号码:填、不填
表中的因素数>=3 表中至少有三个因素的水平数>=2 行数取最少的一个 结果:? 姓名:0 填写,1 不填写 身份证号:0 填写,1 不填写 手机号码: 0 填写,1 不填写
????????
测试用例如下: 1:填写姓名、填写身份证号、填写手机号 2:填写姓名、不填身份证号、不填手机号 3:不填姓名、填写身份证号、不填手机号 4:不填姓名、不填身份证号、填写手机号 增补测试用例 5:不填姓名、不填身份证号、不填手机号 测试用例减少数: 8→5
|