等价类划分法测试用例_如何划分黑盒测试等价类

c4b399d8b8f6b326c568a059f5a7dff4.png

简述:

在黑盒测试中一个常用的测试方法就是等价类划分。等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。

常用的等价类划分原则:

1、按区间划分

2、按数值划分

3、按数值集合划分

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

5、按处理方式划分。

一、有效等价类

有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。

二、无效等价类

无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。

建立等价类表,设计测试用例:

1、在分析需求规格说明的基础上划分等价类,列出等价类表,为每一个等价类规定一个唯一的编号。

2、将程序可能的输入数据分成若干个子集,从每个子集中选取一个有代表性的数据作为测试用例。

3、设计新的测试用例,使其尽可能多地覆盖未覆盖的有效等价类,按照这一步骤重复进行,直到所有的有效等价类都被覆盖为止。

4、设计新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,按照这一步骤重复进行,直到所有的无效等价类都被覆盖为止。

三、等价类划分方法应用测试实例:

1、按照限制条件或者规则划分等价类举例:

文本框的非法输入测试: 允许1到6个英文字符或数字,按OK结束。

4069f92287c97cef14d0670bd77ccb45.png

测试用例:

c2cbe2feff3cac7a89db72b983026348.png

测试结果:

92485fb2e51b94e0fd742236d981cbcf.png

33e64cc866762cd113701c5a721c3ea2.png

fc7092e8f0d4c5bbc4c325c3b17e0b19.png

90a4b931ba6f9c4a17fad1b0943bcfce.png

程序源代码:

 1 import javafx.application.Application;
 2 import javafx.event.EventHandler;
 3 import javafx.geometry.Pos;
 4 import javafx.scene.Scene;
 5 import javafx.scene.control.Button;
 6 import javafx.scene.control.Label;
 7 import javafx.scene.control.TextField;
 8 import javafx.scene.input.MouseEvent;
 9 import javafx.scene.layout.AnchorPane;
10 import javafx.scene.layout.HBox;
11 import javafx.scene.text.Text;
12 import javafx.stage.Stage;
13 
14 public class test1 extends Application{
15 public static void main(String[ ] args) {
16 test1.launch(args);
17 }
18 public void start(Stage primaryStage) {
19 primaryStage.setTitle("UserForm1");
20 AnchorPane root = new AnchorPane();
21 HBox hbox1 = new HBox(8);
22 final TextField textfield = new TextField();
23 textfield.setPrefColumnCount(25);
24 textfield.setPrefWidth(180);
25 hbox1.setAlignment(Pos.CENTER_LEFT);
26 hbox1.getChildren().addAll(new Label("Name"),textfield);
27 HBox hbox2 = new HBox(20);
28 Button btn = new Button();
29 btn.setText("OK");
30 final Text text = new Text();
31 btn.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>(){
32 public void handle(MouseEvent event){
33 String textString = textfield.getText().toString();
34 char[] textChar = textString.toCharArray();
35 System.out.println(textString);
36 if(textString==null||textString.length()<=0)
37 text.setText("请输入您的名字");
38 else if(textString.length()>6)
39 text.setText("输入字符长度应小于6");
40 else{
41 for(int i=0;i<textString.length();i++)
42 {
43 if((textChar[i]>='0'&&textChar[i]<='9')||
44 (textChar[i]>='a'&&textChar[i]<='z')||
45 (textChar[i]>='A'&&textChar[i]<='Z'))
46 text.setText("OK!");
47 else{
48 text.setText("请输入合法字符");
49 break;
50 }
51 }
52 }
53 }
54 });
55 hbox2.getChildren().addAll(btn,text);
56 AnchorPane.setTopAnchor(hbox1, 40.0);
57 AnchorPane.setLeftAnchor(hbox1, 10.0);
58 AnchorPane.setTopAnchor(hbox2, 90.0);
59 AnchorPane.setLeftAnchor(hbox2, 70.0);
60 root.getChildren().addAll(hbox1,hbox2);
61 primaryStage.setScene(new Scene(root, 250, 150));
62 primaryStage.show();
63 }
64 } // end of program

创建了一个测试交流群,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加测试交流群(文章开头文章),还会有同行一起技术交流(欢迎大家进群)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值