在上一篇博客中使用了一个例子来说明等价类划分的方法,今天将在这篇博客中对这个程序的改进版进行测试。首先先来看一下改进版的截图:
在原来一个输入框的基础上增加了为三个输入框,每个输入框的输入要求和原来的一样,即允许输入1-6个英文字符或数字。然后我们将对它进行测试
等价类划分如下:
有效 | 无效 | |
长度 | 等价类无效等价类长度1-6 | 0,>6 |
字符 | 6字符英文字符或数字 | 英文,数字以外的控制字符,标点符号 |
测试用例为
编号 | NAME1 | NAME2 | NAME3 | 预期输出 |
1 | aa | a+a |
: length short aa: right a+a: character false |
|
2 | aa | a+a | aaaaaaaa |
aa: right a+a: character false aaaaaaaa: length long |
3 | a+a | aaaaaaaa |
a+a: character false aaaaaaaa: length long : length short |
|
4 | aaaaaaaa | aa |
aaaaaaaa: length long : length short aa: right |
程序的实际输入如下:
1.
2.
3和4就不截图测试了。
这就是改良后的软件测试。
代码如下(这是简单的js代码,可能对学习JavaScript的同学有所帮助):
1 <html> 2 <head> 3 <title>Software Testing</title> 4 </head> 5 <body> 6 7 <form> 8 <p>NAME1: </p><input type="text" value = "" name = "input1" id = "i1"/> 9 <p>NAME2: </p><input type="text" value = "" name = "input1" id = "i2"/> 10 <p>NAME3: </p><input type="text" value = "" name = "input1" id = "i3"/> 11 <p><input type="submit" onclick="getText();"/></p> 12 </form> 13 14 <script language="JavaScript" Type="text/javascript"> 15 function getText(){ 16 var b = document.getElementsByName("input1"); 17 var string = ""; 18 for(var k = 0; k < b.length;k++){ 19 var a = b[k].value; 20 var len = a.length; 21 if(len > 6){ 22 //alert(a +" : length long"); 23 string += a; 24 string += " : length long " 25 } 26 else if(len <= 0){ 27 //alert(a +" : length short "); 28 string += a; 29 string += " : length short " 30 } 31 else{ 32 var t = 1; 33 for(var i = 0;i<len;i++){ 34 if((a.charCodeAt(i)>='48'&&a.charCodeAt(i)<='57')|| 35 (a.charCodeAt(i)>='97'&&a.charCodeAt(i)<='122')|| 36 (a.charCodeAt(i)>='65'&&a.charCodeAt(i)<='90')){ 37 } 38 else{ 39 t = 0; 40 } 41 } 42 if(t==1){ 43 //alert(a +" : right"); 44 string += a; 45 string += " : right " 46 } 47 else{ 48 //alert(a +" : character false"); 49 string += a; 50 string += " : character false " 51 } 52 53 } 54 55 } 56 alert(string); 57 58 59 } 60 </script> 61 </body> 62 </html>