饶文通的软件测试学习笔记-第二周
在软件测试上学习了黑盒测试,下面是对黑盒测试中的一种方法--等价类划分的应用
等价类划分即是我们按照一定的划分原则,将输入域划分为有效等价类和无效等类。
等价类的概念有:
输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。
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 });