多输入的等价类划分以及测试
2015-03-29 21:17 二班&张振宇 阅读(475) 评论(0) 编辑 收藏 举报一、问题描述:
将上一次的等价类划分的应用程序拓展成为三个输入框,并设计测试用例进行测试。
二、等价类划分:
有效等价类:
(1)长度:1到6
(2)字符:a-z,A-Z,0-9
无效等价类
(1)长度:0,7
(2)字符:英文/数字以外字符,控制字符,标点符号
编号 | 有效等价类 | 编号 | 无效等价类 |
1 | 长度为1-6 | 5 | 长度为0 |
2 | 字符a-z | 6 | 长度为7 |
3 | 字符A-Z | 7 | 字符:英文/数字以外字符,控制字符,标点符号 |
4 | 字符0-9 |
三、设计测试用例
编号 | 测试用例 | 预计输出 |
1 | “” “” “” | 输入为空 输入为空 输入为空 |
2 | “” “123” “1234567” | 输入为空 输入正确 输入字符长度超出 |
3 | “” “1234¥%” “12345” | 输入为空 输入非法字符 输入正确 |
4 |
“12341” “123q4 ” “A12345” |
输入正确 输入正确 输入正确 |
5 |
“123ac” “ZZZZZ” “aaaZZ$%” |
输入正确 输入正确 输入长度超出 |
6 | “1234*(” “AAA9a” “” | 输入非法字符 输入正确 输入为空 |
7 | “¥%?????” “123ASD” “@!%¥” | 输入长度超出 输入正确 输入非法字符 |
8 | “&()” “()” “o9)” | 输入非法字符 输入非法字符 输入非法字符 |
9 | “123457” “aaaaaaa” “ZZZZZZZZZZZZZZZZ” | 输入长度超出 输入长度超出 输入长度超出 |
四 代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Input; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_TextChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { String text1 = textBox1.Text; String text2 = textBox2.Text; String text3 = textBox3.Text; String str = null; if (test(text1) == 1) { str += "第一行输入为空\r\n"; } else if (test(text1) == 3) { str += "第一行输入长度超出\r\n"; } else if (test(text1) == 2){ str += "第一行输入正确\r\n"; } else if (test(text1) == 0) { str += "第一行输入特殊字符\r\n"; } if (test(text2) == 1) { str += "第二行输入为空\r\n"; } else if (test(text2) == 3) { str += "第二行输入长度超出\r\n"; } else if (test(text2) == 2) { str += "第二行输入正确\r\n"; } else if (test(text2) == 0) { str += "第二行输入特殊字符\r\n"; } if (test(text3) == 1) { str += "第三行输入为空\r\n"; } else if (test(text3) == 3) { str += "第三行输入长度超出\r\n"; } else if (test(text3) == 2) { str += "第三行输入正确\r\n"; } else if (test(text3) == 0) { str += "第三行输入特殊字符\r\n"; } MessageBox.Show(str); } private int test(string str) { int temp=0; if(str.Length == 0){ temp = 1; } else if (str.Length >= 7) { temp = 3; } else { for (int i = 0; i < str.Length; i++) { if (!(isatoz(str[i]) || isAtoZ(str[i]) || isnum(str[i]))){ temp = 0; break; } temp = 2; } } return temp; } private Boolean isatoz(char s) { Boolean temp = false; if (s >= 'a' && s <= 'z') { temp = true; } return temp; } private Boolean isAtoZ(char s) { Boolean temp1 = false; if (s >= 'A' && s <= 'Z') { temp1 = true; } return temp1; } private Boolean isnum(char s) { Boolean temp2 = false; if (s >= '0' && s <= '9') { temp2 = true; } return temp2; } } }
五 测试截图