您的位置:首页 > 其它

等价类划分方法的应用(二)

2015-03-29 16:17 330 查看

等价类划分方法的应用(二)

题目:

个EditBox,全部值允许输入1-6个英文字符或数字,按OK结束。

以输入条件划分等价类:

输入的字符串必须满足以下条件:

条件1:第一行长度1-6

条件2:第一行字符为'0'-'9'或'a'-'z'或'A'-'Z'

条件3:第二行长度1-6

条件4:第二行字符为'0'-'9'或'a'-'z'或'A'-'Z'

条件5:第三行长度1-6

条件6:第三行字符为'0'-'9'或'a'-'z'或'A'-'Z'

编号有效等价类编号无效等价类
1第一行长度1-67第一行长度为0
2第一行字符为'0'-'9'或'a'-'z'或'A'-'Z'8第一行长度大于等于7
3第二行长度1-69第一行含有英文/数字以外字符
4第二行字符为'0'-'9'或'a'-'z'或'A'-'Z'10第二行长度为0
5第三行长度1-611第二行长度大于等于7
6第三行字符为'0'-'9'或'a'-'z'或'A'-'Z'12第二行含有英文/数字以外字符
13第三行长度为0
14第三行长度大于等于7
15第三行含有英文/数字以外字符
测试用例:

编号输入覆盖等价类期望输出
第一行第二行第三行
1Fks143Fks143Fks1431,2,3,4,5,6输入全部正确
2Fks143Fks1437第一行输入为空
3Fks1431Fks143Fks1438第一行长度不合法
4Fks.Fks143Fks1439第一行含有非法字符
5Fks143Fks14310第二行输入为空
6Fks143Fks1431Fks14311第二行长度不合法
7Fks143Fks.Fks14312第二行含有非法字符
8Fks143Fks14313第三行输入为空
9Fks143Fks143Fks143114第三行长度不合法
10Fks143Fks143Fks.15第三行含有非法字符
测试结果图:





















代码:

namespace SoftwareTest1
{
public partial class Form1 : Form
{
private string result;
private int r;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
r = 0;
string input1 = textBox1.Text;
string input2 = textBox2.Text;
string input3 = textBox3.Text;
result = "Name1: ";
checkInput(input1);
result += "\nName2: ";
checkInput(input2);
result += "\nName3: ";
checkInput(input3);
if (r == 3)
{
result = "输入全部正确";
}
else
{
result += "\n请重新输入";
}
MessageBox.Show(result);
}

private bool legalStr(string str)
{
for (int i = 0; i < str.Length; i++)
{
if ((str[i] < 'a' || str[i] > 'z') && (str[i] < 'A' || str[i] > 'Z') && (str[i] < '0' || str[i] > '9'))
return false;
}
return true;
}

private void checkInput(string input)
{
if (input.Length == 0)
{
result += "输入为空";
return;
}
if (input.Length > 6)
{
result += "长度不合法";
return;
}
else if (!legalStr(input))
{
result += "含有非法字符";
return;
}
else
{
r += 1;
result += "输入正确";
return;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: