软件测试第三周之测试多个输入的合法性

C#正则表达式验证
本文介绍了一个使用C#正则表达式进行用户输入验证的简单应用案例,包括等价类型划分、测试用例生成及具体实现代码。

这一次我主要用的是C#中的正则表达式来测试用户输入的字符串是否合法。

这是我的UI界面:

  1.   三个输入框允许用户同时进行输入
  2.   输入后摁确定键即可输出测试结果,摁下取消键即可重新进行输入
  3.   输出的测试信息显示在右侧的输出文本框中

测试用例:

第一步:等价类型的划分

有效等价类无效等价类
长度:1到6长度:0或者大于7
字符:a-z,A-Z,0-9 字符:英文/数字以外字符,控制字符,标点符号

第二步:测试用例的生成

 
 
编号输入字符期望输出
1A有效输入
2Z有效输入
355136s有效输入
4zAGsdf有效输入
5null无效输入
6@无效输入
7空格无效数入
8*@#$%^无效输入
9@123无效输入
1012345#无效输入
11uyueiuwy无效输入

测试结果截图:

下面是代码部分:

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;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            String[] str = new String[3];
            
            str[0] = textBox1.Text;
            str[1] = textBox2.Text;
            str[2] = textBox3.Text;

            Boolean res1=System.Text.RegularExpressions.Regex.IsMatch(str[0], @"^[a-zA-Z\d]{1,6}$");
            Boolean res2 = System.Text.RegularExpressions.Regex.IsMatch(str[1], @"^[a-zA-Z\d]{1,6}$");
            Boolean res3 = System.Text.RegularExpressions.Regex.IsMatch(str[2], @"^[a-zA-Z\d]{1,6}$");
            if (res1 && res2 && res3)
            {
                label4.Text = "输入正确!";
            }
            else
            {
                label4.Text = "输入不合法,请重新输入!";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            label4.Text = "请先输入";
        }

        private void label4_Click(object sender, EventArgs e)
        {

        }
    }
}

代码中的核心部分就是正则表达式判段输入字符串是否合法的部分,我使用的正则表达式是:

@"^[a-zA-Z\d]{1,6}$"

即判断每一位是否为字母或者数字,且出现的次数为1-6次。

 

转载于:https://www.cnblogs.com/blogcd/p/4375470.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值