等价类划分

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

划分等价类

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

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

常用的等价类划分原则有以下几种:

1、按区间划分。

2、按数值划分。

3、按数值集合划分。

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

5、细分等价类。

例:EditBox测试用例设计

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

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

考虑无效等价类:长度:0,7;字符:英文、数字以外字符,控制字符,标点符号等

有效等价类 无效等价类
l长度:1--6 长度<1 或者 长度>6
字符:a-z A-Z 0-9 英文、数字以外字符,控制字符,标点符号等

测试用例:

编号 输入 预期输出 实际输出
Test1   请输入您的名字 请输入您的名字
Test2 09azAZ5 输入字符长度应小于6 输入字符长度应小于6
Test3 0aA,./ 请输入合法字符 请输入合法字符
Test4 09AZaz OK! OK!

 

 

 

 

 

代码如下:

     import javafx.application.Application;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.control.TextField;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.AnchorPane;
    import javafx.scene.layout.HBox;
    import javafx.scene.text.Text;
    import javafx.stage.Stage;

    public class test1 extends Application{
    public static void main(String[ ] args) {
       test1.launch(args);
     }
     public void start(Stage primaryStage) {
    primaryStage.setTitle("UserForm1");
    AnchorPane root = new AnchorPane();
   HBox hbox1 = new HBox(8); 
   final TextField textfield = new TextField(); 
   textfield.setPrefColumnCount(25); 
    textfield.setPrefWidth(180); 
   hbox1.setAlignment(Pos.CENTER_LEFT); 
    hbox1.getChildren().addAll(new Label("Name"),textfield);
   HBox hbox2 = new HBox(20); 
    Button btn = new Button(); 
    btn.setText("OK"); 
   final Text text =new Text();
    btn.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandlerMouseEvent(){ 
    publicvoid handle(MouseEvent event){ 
    String textString = textfield.getText().toString(); 
    char[] textChar = textString.toCharArray(); 
    System.out.println(textString); 
   if(textString==null||textString.length()=0) 
    text.setText("请输入您的名字"); 
    elseif(textString.length()6) 
   text.setText("输入字符长度应小于6"); 
    else{ 
     for(int i=0;itextString.length();i++) 
      { 
    if((textChar[i]='0'textChar[i]='9')|| (textChar[i]='a'textChar[i]='z')||  (textChar[i]='A'textChar[i]='Z')) 
          text.setText("OK!"); 
   else{ 
       text.setText("请输入合法字符"); 
         break; 
      } 
      } 
      } 
    } 
    }); 
   hbox2.getChildren().addAll(btn,text);
    AnchorPane.setTopAnchor(hbox1, 40.0);
   AnchorPane.setLeftAnchor(hbox1, 10.0);
    AnchorPane.setTopAnchor(hbox2, 90.0); 
   AnchorPane.setLeftAnchor(hbox2, 70.0); 
   root.getChildren().addAll(hbox1,hbox2); 
   primaryStage.setScene(new Scene(root, 250, 150)); 
    primaryStage.show(); 
   } 
   }

 

 

 

 

posted @ 2015-03-22 15:09  四班&高仰焱  阅读(1144)  评论(0编辑  收藏  举报