等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集

便是整个输入域。目的在于测试用例的无冗余性。

划分等价类

(1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。

(2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。

常用的等价类划分原则

(1)按区间划分

(2)按数值划分

(3)按数值集合划分

(4)按限制条件或规则划分

(5)细分等价类

例:

要求:输入允许1到6个英文字符或数字,按OK结束。

有效等价类为 :长度1-6,字符A-Z,a-z,0-9

无效等价类为 :英文/数字以外字符,控制字符,标点符号

 

测试用例如下

编号 输入 预期结果 结果
test1 Aa3456 OK! 符合
test2 @12测试 ilegal input! 符合
test3   length wrong! 符合
test4 1234567 length wrong! 符合

 

 

 

 

 

 

test3为无输入。

主要代码如下

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.Text.RegularExpressions; 

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

        private void button1_Click(object sender, EventArgs e) 
{
Regex regex = new Regex(@"^[A-Za-z0-9]+$");
String text = textBox1.Text;
String result; 
if (text.Length 6 || text.Length 1)
{ result="length wrong!"; } 
else if(!regex.IsMatch(text))
{ result="ilegal input!"; } 
else 
{ result="OK!"; }
label2.Text = result; } } }
屏幕截图如下