软件测试技术(二)——使用等价类划分的方法进行的UI测试

时间:2022-10-10 04:52:17

测试的目标程序

软件测试技术(二)——使用等价类划分的方法进行的UI测试

程序代码

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Orientation;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollBar;
import javafx.scene.control.TextField;
import javafx.scene.layout.Background;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Name extends Application {

public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
Group root = new Group();

Label label1 = new Label("Name:");
TextField Name = new TextField();
Name.setMaxWidth(100);
HBox hb = new HBox();
hb.getChildren().add(label1);
hb.getChildren().add(Name);
hb.setSpacing(10);
VBox vb = new VBox();
Button confirm = new Button("confirm");
vb.getChildren().add(hb);
vb.getChildren().add(confirm);
vb.setSpacing(20);
vb.setLayoutX(20);
vb.setLayoutY(40);
root.getStylesheets().add("ad.css");
File file = new File("xiaoshuo/ad.css");
System.out.println(file.exists());
confirm.setOnAction(new EventHandler(){

public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
//if(Name)
BorderPane al = new BorderPane();
Text t = new Text("success");
StringBuffer s = new StringBuffer(Name.getText());
if(s.length()==0){
t.setText("请输入1-6个英文字母或数字");
}
else if(s.length()>=7){
t.setText("请输入1-6个英文字母或数字");
}
int count=0;

for(int i=0; i<s.length(); i++){
if(s.charAt(i)>='0' && s.charAt(i)<='9'){
System.out.println(s.charAt(0));
count++;
}
else if(s.charAt(i)>='a' && s.charAt(i)<='z'){
System.out.println(s.charAt(0));
count++;
}
else if(s.charAt(i)>='A' && s.charAt(i)<='Z'){

count++;
}
}
if(count!=s.length()){
System.out.println(count);
t.setText("请输入1-6个英文字母或数字");
}
Button back = new Button("confirm");
al.setTop(t);
al.setAlignment(t, Pos.CENTER);
al.setAlignment(back, Pos.CENTER);
al.setCenter(back);
al.setLayoutX(70);
al.setLayoutY(70);
root.getChildren().add(al);
//al.getStyleClass().add("ba");
vb.setOpacity(0.3);
back.setOnAction(new EventHandler(){

@Override
public void handle(ActionEvent arg0) {
// TODO Auto-generated method stub
root.getChildren().remove(al);
vb.setOpacity(1.0);
}});
}
});

root.getChildren().add(vb);
Scene scene = new Scene(root, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}

}

 

软件测试技术(二)——使用等价类划分的方法进行的UI测试

划分出的等价类

划分方法

编号

有效等价类

编号

无效等价类

长度

1

长度1-6

5

长度0

6

长度>=7

字符

2

含有字符a-z

7

含有中文字符

3

含有字符A-Z

8

含有特殊字符

4

含有字符0-9

测试用例

编号

输入

覆盖的等价类

期望输出

实际输出

1

aA0

1,2,3,4

success

 success

2

5

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

3

aA01234

6

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

4

7

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

5

T_T

8

请输入1-6个英文字母或数字

请输入1-6个英文字母或数字

测试截图

软件测试技术(二)——使用等价类划分的方法进行的UI测试软件测试技术(二)——使用等价类划分的方法进行的UI测试软件测试技术(二)——使用等价类划分的方法进行的UI测试软件测试技术(二)——使用等价类划分的方法进行的UI测试