zoukankan      html  css  js  c++  java
  • 等价类划分应用的扩展

    一、问题描述

      1. 三个编辑框,允许1到6个英文字符或数字,按OK结束。

    二、等价类划分

      1. 有效等价类:

               长度: 1、2、3、4、5、6; 非0 不超过6

               字符: a-z, A-Z, 0-9

      2. 无效等价类:

               长度: 0,7

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

    三、实现方法

      同样的在该例中也是采用javascript来验证输入的字符串,由于是三个文本框,采用循环验证的方法并记录每一个文本框的验证结果,使用条件语句对每种结果进行判断并给出相应的提示。

    四、测试用例

    编号 输入 预期输出
    1

    String 1="123",

    String 2="abc",

    String 3="123abc"

    全部正确
     2

    String 1="",

    String 2="abc",

    String 3="123abc"

     框1格式错误
     3

    String 1="123a!",

    String 2="abc",

    String 3="123abc"

     框1格式错误
     4

    String 1="123",

    String 2="",

    String 3="123abc"

     框2格式错误
     5

    String 1="123",

    String 2="abc!",

    String 3="123abc"

     框2格式错误
     6

    String 1="123",

    String 2="abc",

    String 3=""

     框3格式错误
     7

    String 1="123",

    String 2="abc",

    String 3="123a!"

     框3格式错误
     8

    String 1="123!",

    String 2="",

    String 3="123abc"

     框1和框2格式错误
    9

    String 1="123!",

    String 2="abc",

    String 3="123abcd"

     框1和框3格式错误
    10

    String 1="123",

    String 2="abc!",

    String 3="123abcd"

     框2和框3格式错误
    11

    String 1="",

    String 2="abc!",

    String 3="123abcd"

     全部格式错误

    五、代码如下(C#实现)

    namespace SoftwareTest1
     2 {
     3     public partial class Form1 : Form
     4     {
     5         private string result;
     6         private int r;
     7 
     8         public Form1()
     9         {
    10             InitializeComponent();
    11         }
    12 
    13         private void button1_Click(object sender, EventArgs e)
    14         {
    15             r = 0;
    16             string input1 = textBox1.Text;
    17             string input2 = textBox2.Text;
    18             string input3 = textBox3.Text;
    19             result = "Name1: ";
    20             checkInput(input1);
    21             result += "
    Name2: ";
    22             checkInput(input2);
    23             result += "
    Name3: ";
    24             checkInput(input3);
    25             if (r == 3)
    26             {
    27                 result = "输入全部正确";
    28             }
    29             else
    30             {
    31                 result += "
    请重新输入";
    32             }
    33             MessageBox.Show(result);
    34         }
    35 
    36         private bool legalStr(string str)
    37         {
    38             for (int i = 0; i < str.Length; i++)
    39             {
    40                 if ((str[i] < 'a' || str[i] > 'z') && (str[i] < 'A' || str[i] > 'Z') && (str[i] < '0' || str[i] > '9'))
    41                     return false;
    42             }
    43             return true;
    44         }
    45 
    46         private void checkInput(string input)
    47         {
    48             if (input.Length == 0)
    49             {
    50                 result += "输入为空";
    51                 return;
    52             }
    53             if (input.Length > 6)
    54             {
    55                 result += "长度不合法";
    56                 return;
    57             }
    58             else if (!legalStr(input))
    59             {
    60                 result += "含有非法字符";
    61                 return;
    62             }
    63             else
    64             {
    65                 r += 1;
    66                 result += "输入正确";
    67                 return;
    68             }
    69         }
    70     }
    71 }
  • 相关阅读:
    HTB-靶机-Charon
    第一篇Active Directory疑难解答概述(1)
    Outlook Web App 客户端超时设置
    【Troubleshooting Case】Exchange Server 组件状态应用排错?
    【Troubleshooting Case】Unable to delete Exchange database?
    Exchange Server 2007的即将生命周期,您的计划是?
    "the hypervisor is not running" 故障
    Exchange 2016 体系结构
    USB PE
    10 months then free? 10个月,然后自由
  • 原文地址:https://www.cnblogs.com/PreTang/p/4376645.html
Copyright © 2011-2022 走看看