三个输入框的测试报告
规格要求:
设计输入三个输入框,每个输入框中只能输入长度为1-6的字幕或数字。
实现功能
使用java实现功能。代码如下:
1 public class Input extends Application { 2 3 public static void main(String[] args) { 4 launch(); 5 } 6 7 @Override 8 public void start(Stage stage) throws Exception { 9 // draw UI and set evnetListenners 10 VBox root = new VBox(10); 11 TextField[] inputField = new TextField[3]; 12 for (int i = 0; i < 3; i++) { 13 inputField[i] = new TextField(); 14 } 15 Button btn = new Button("OK!"); 16 btn.setOnAction(new CheackInputsListenner(inputField)); 17 root.getChildren().addAll(inputField[0], inputField[1], inputField[2], 18 btn); 19 root.setAlignment(Pos.CENTER); 20 Scene scene = new Scene(root, 200, 150); 21 stage.setTitle("输入测试"); 22 stage.setScene(scene); 23 stage.show(); 24 } 25 } 26 27 class CheackInputsListenner implements EventHandler<ActionEvent> { 28 private TextField[] textFields; 29 30 CheackInputsListenner(TextField[] tFields) { 31 textFields = tFields; 32 } 33 34 private boolean inputValid(String input) { 35 if (input == null || input.equals("") || input.length() > 6) { 36 return false; 37 } 38 for (int i = 0; i < input.length(); i++) { 39 if (!Character.isAlphabetic(input.charAt(i)) 40 && !Character.isDigit(input.charAt(i))) { 41 return false; 42 } 43 } 44 return true; 45 } 46 47 @Override 48 public void handle(ActionEvent ae) { 49 for (int i = 0; i < textFields.length; i++) { 50 String input = new String(textFields[i].getText()); 51 if (!inputValid(input)) { 52 JOptionPane.showMessageDialog(null, "输入不符合长度为1-6的数字和字母的规则\n" 53 + "第一个出错的是输入框" + (i + 1), "输入不符合规则", 54 JOptionPane.ERROR_MESSAGE); 55 return; 56 } 57 } 58 JOptionPane.showMessageDialog(null, "输入符合规则!", "输入符合规", 1); 59 } 60 }
View JavaFX Code
设计测试
先划分边界,对单个输入框,可将要求分为两条1) 长度1-6. 2)字母或数字。会有如下的等价类划分。
长度小于1-6 |
1 |
长度小于1 |
4 |
长度大于6 |
5 |
||
输入字母 |
2 |
输入既不是数字也不是字母 |
6 |
输入数字 |
3 |
对应上面的等价类划分,可以设计单个输入框的测试用例。
测试用例编号 |
测试用例输入 |
所覆盖的等价类 |
1 |
a |
1,2 |
2 |
adedfs |
1,2 |
3 |
2 |
1,3 |
4 |
235212 |
1,3 |
5 |
2n34AD |
1,2,3 |
6 |
无输入 |
4 |
7 |
asdfghj |
5,2 |
8 |
1234567 |
5,3 |
9 |
3qojlwkej23i4oj |
5,2,3 |
10 |
sd./a |
1,6 |
对应到三个输入框上面,除了全都正确的输入以外,还有每个输入框哟一个错误的情况,所以有4种类情况
|
1 |
2 |
3 |
4 |
输入框1 |
F |
T |
T |
T |
输入框2 |
T |
F |
T |
T |
输入框3 |
T |
T |
F |
T |
预计输出 |
不符合规则 |
不符合规则 |
不符合规则 |
符合规则 |
可以设计出具体的测试用例如下
对应编号 |
A |
B |
C |
D |
测试用例组合 |
9,3,5 |
1,7,4 |
1,2,6 |
1,1,1 |
1,2,7 |
1,1,2 |
|||
1,2,8 |
1,1,3 |
|||
1,2,9 |
1,1,4 |
|||
1,2,10 |
1,1,10 |
|||
预计输出 |
不符合规则 |
不符合规则 |
不符合规则 |
符合规则 |
运行测试
测试结果如下
测试用例 |
期望输出 |
实际输出 |
是否符合期望 |
1,1,1 |
符合规则 |
符合规则 |
是 |
1,1,2 |
符合规则 |
符合规则 |
是 |
1,1,3 |
符合规则 |
符合规则 |
是 |
1,1,4 |
符合规则 |
符合规则 |
是 |
1,1,10 |
符合规则 |
符合规则 |
是 |
1,2,6 |
不符合规则 |
不符合规则 |
是 |
1,2,7 |
不符合规则 |
不符合规则 |
是 |
1,2,8 |
不符合规则 |
不符合规则 |
是 |
1,2,9 |
不符合规则 |
不符合规则 |
是 |
1,2,10 |
不符合规则 |
不符合规则 |
是 |
1,7,4 |
不符合规则 |
不符合规则 |
是 |
9,3,5 |
不符合规则 |
不符合规则 |
是 |
部分测试截图
(1,1,5) |
(1,2,6) |
|
|
(1,7,4) |
(9,3,5) |
|
|
时间: 2024-10-30 21:29:25