首页 > 其他 > 详细

软件测试学习随笔(2) 等价类划分

时间:2015-03-22 11:48:43      阅读:223      评论:0      收藏:0      [点我收藏+]

      黑盒测试是软件测试中的一类方法。在进行黑盒测试时,测试员并不知道程序是如何编写的,而是在规格说明指导下,输入一些测试用例,来检测程序的功能是否正确和完善。因而黑盒测试也被称为功能测试或基于规格说明的测试。理论上,如果我们可以输入大量的、足够的测试用例,就可以完美的测试软件的功能。这种近乎纸上谈兵的方法叫做穷举输入测试。而在真正的黑盒测试中,常用的方法有等价类划分边界值分析决策表测试等。接下来我讲谈论一下等价类划分的方法:

      所谓的等价类是指输入域中的某个互不相交的子集集合。其目的是测试用例的无冗余性。等价类划分为有效等价类(满足规格说明)和无效等价类(不满足规格说明)。常用的等价类划分方法有:

    ? 按区间划分

    ? 按数值划分

    ? 按数值集合划分

    ? 按限制条件或规则划分

    ? 细分等价类

具体的内容不在这里陈述。

      等价类的用例设计的步骤如下:  

    1.在确立等价类之后,可列出所有划分出的等价类表;

    2.为每一个等价类规定一个唯一的符号;

    3.设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,指导测试用例覆盖了所有的有效等价类;

           4.设计一个新的测试用例。使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类

 

     接下来,我将使用一个实例对上述方法进行演练:

     下面是我用JS编写的一个输入框,它允许输入1-6个英文字符或数字,按“提交”按钮结束:

              技术分享

      这个简单的程序的等价类划分为:

  有效等价类 无效等价类
长度 1-6 0,>6
字符 英文字符或数字

英文,数字以外的控制字符,标点符号

  测试用例为:

编号 输入 预期输出
1   length short
2 dafddfdf length long
3 dekajkd+ length long
4 de+d4 character false
5 dede right

    程序实际输出截图如下:

       1.

        技术分享

   2.

      技术分享

   3.

      技术分享

 

   4.

      技术分享

   5.

      技术分享

     检验后,尚未发现程序中的bug。

  

     这就是我所理解的等价类划分的测试方法。

 

     下面是测试程序的代码:

 1 <html>
 2 <head>
 3     <title>Software Testing</title>
 4 </head>
 5 <body>
 6     <p>NAME: </p>
 7     <form>
 8         <input type="text"  value = "" id = "input1"/>
 9         <input type="submit" onclick="getText();"/>        
10     </form>
11 
12     <script language="JavaScript" Type="text/javascript">
13         function getText(){
14             var a = document.getElementById("input1").value;
15             var len = a.length;
16             if(len > 6){
17                  alert(a +" :  length long");
18             }
19             else if(len <= 0){
20                  alert(a +" :  length short");
21             }
22             else{
23                 var t = 1;
24                 for(var i = 0;i<len;i++){
25                     if((a.charCodeAt(i)>=48&&a.charCodeAt(i)<=57)||
26                        (a.charCodeAt(i)>=97&&a.charCodeAt(i)<=122)||
27                        (a.charCodeAt(i)>=65&&a.charCodeAt(i)<=90)){
28                            
29                     }
30                     else{
31                         t = 0;
32                         
33                     }    
34                 }
35                 
36                 if(t==1){
37                         alert(a +" :  right");
38                     }
39                     else{
40                         alert(a +" :  character false");
41                     }                
42             }
43                   
44         }
45     </script>
46 </body>
47 </html>

 

软件测试学习随笔(2) 等价类划分

原文:http://www.cnblogs.com/pjk2015/p/4356863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!