饶文通的软件测试学习笔记-第二周

在软件测试上学习了黑盒测试,下面是对黑盒测试中的一种方法--等价类划分的应用

 

等价类划分即是我们按照一定的划分原则,将输入域划分为有效等价类和无效等类。

等价类的概念有:

                 

       输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。

  1、有效等价类

  检验程序是否实现了规格说明预先规定的功能和性能。

  2、无效等价类

  检查软件功能和性能的实现是否有不符合规格说明要求的地方。

常用的等价类划分方法:

       

      1、按区间划分

  2、按数值划分

  3、按数值集合划分

  4、按限制条件或规则划分

  5、细分等

测试题目:EDITBOX    文本框的非法输入测试:  允许1到6个英文字符或数字,按OK检测合法性并反馈。

测试UI:

                                                       

按限制条件或规则的等价类划分方法划分等价类                                                      

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

测试用例设计,根据有效和无效等价类可以设计出4个测试用例

                                                                    

编号 输入 预期输出 实际输出
Test1   请输入1-6位字母或数字 请输入1-6位字母或数字
Test2 1352468 输入字符长度应小于6 输入字符长度应小于6
Test3 ./147 请输入合法字符 请输入合法字符
Test4 cpp111 OK! OK!

测试结果:

Test1:

                                                                    

Test2: 

                                                                    

Test3: 

                                                                    

Test4:

                                                                    

EventHandler部分代码如下:

 1 btn.addEventHandler(MouseEvent.MOUSE_CLICKED,
 2                 new EventHandler<MouseEvent>() {
 3                     public void handle(MouseEvent event) {
 4                         String textString = textfield.getText().toString();
 5                         char[] textChar = textString.toCharArray();
 6                         System.out.println(textString);
 7                         if (textString == null || textString.length() <= 0)
 8                             text.setText("请输入1-6位字母或数字");
 9                         else if (textString.length() > 6)
10                             text.setText("输入字符长度应小于6");
11                         else {
12                             for (int i = 0; i < textString.length(); i++) {
13                                 if ((textChar[i] >= '0' && textChar[i] <= '9')
14                                         || (textChar[i] >= 'a' && textChar[i] <= 'z')
15                                         || (textChar[i] >= 'A' && textChar[i] <= 'Z'))
16                                     text.setText("OK!");
17                                 else{
18                                     text.setText("请输入合法字符");
19                                     break;
20                                 }
21                             }
22                         }
23                     }
24                 });
SoftwareTestHomework
原文地址:https://www.cnblogs.com/rickierao/p/4357054.html