三个输入框的测试报告

 

三个输入框的测试报告

规格要求:

设计输入三个输入框,每个输入框中只能输入长度为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

 

设计测试

  对inputValid()的单元测试

      利用JUnit框架可以生成测试代码。

  

 1 public class InputTest {
 2 
 3     @Before
 4     public void setUp() throws Exception {
 5     }
 6 
 7     @Test
 8     public void testInputValid_1() {
 9         assertEquals(false, Input.inputValid(null));
10     }
11 
12     @Test
13     public void testInputValid_2() {
14         assertEquals(false, Input.inputValid(""));
15     }
16 
17     @Test
18     public void testInputValid_3() {
19         assertEquals(true, Input.inputValid("1"));
20     }
21 
22     @Test
23     public void testInputValid_4() {
24         assertEquals(true, Input.inputValid("asdf"));
25     }
26 
27     @Test
28     public void testInputValid_5() {
29         assertEquals(true, Input.inputValid("2el"));
30     }
31 
32     @Test
33     public void testInputValid_6() {
34         assertEquals(false, Input.inputValid("sdf "));
35     }
36 
37     @Test
38     public void testInputValid_7() {
39         assertEquals(false, Input.inputValid(".sf"));
40     }
41 
42     @Test
43     public void testInputValid_8() {
44         assertEquals(false, Input.inputValid("asfasdfasdf"));
45     }
46 
47     @Test
48     public void testInputValid_9() {
49         assertEquals(false, Input.inputValid("3*"));
50     }
51 
52 }
View InputTest.java

  运行测试,测试全部通过。截图如下:

  对GUI界面的黑盒测试

      先划分边界,对单个输入框,可将要求分为两条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)

 

posted @ 2015-03-29 16:08  12218064-测试技术  阅读(581)  评论(4编辑  收藏  举报