Page 14 - 《软件学报》2020年第12期
P. 14

3680                                Journal of Software  软件学报 Vol.31, No.12, December 2020

                              Table  3    Statement coverage under different sketching time    (%)
                                    表 3   以不同时长手绘时取得的语句覆盖率                   (%)
                            待测应用     2 分钟   4 分钟  6 分钟  7 分钟   8 分钟  2 分钟反馈后
                            musicnote  58.35  83.37   83.96  84.09  84.12  84.12
                             whohas   45.02  78.22   78.26  78.32  78.35  78.35
                             explorer   61.11  61.19  61.19  61.20  61.28  69.4
                             weight   55.32  55.59  55.68  55.70  55.70  70.06
                              tippy   46.44  76.64   76.8  76.88  76.93  88.97
                            myexpense  7.45  19.15  31.02  53.33  56.17  62.04
                             mininote   37.76  38.04  38.06  38.08  38.09  41.89
                             mileage  24.87  27.05  35.47  47.03  55.52  59.79
                            anymemo   6.73  22.85  33.31  40.91  43.78  51.97
                              sanity  6.02  10.84  16.33  19.54  19.85  31.33
                                Table  4    Branch coverage under different sketching time    (%)
                                    表 4   以不同时长手绘时取得的分支覆盖率                   (%)
                            待测应用     2 分钟   4 分钟  6 分钟  7 分钟   8 分钟  2 分钟反馈后
                            musicnote  52.75  72.73   73.31  73.61  73.63  73.63
                             whohas   25.32  60.83   61.28  61.36  61.39  61.39
                             explorer   45.39  47.30  47.31  47.36  47.37  53.42
                             weight   42.40  42.45  42.48  42.48  42.48  62.02
                              tippy   16.84  41.44   44.30  44.36  44.39  65.82
                            myexpense  6.04  9.83  18.08  36.45  38.64  45.42
                             mininote   25.49  25.68  25.77  25.77  25.80  28.14
                             mileage  16.83  20.07  25.68  32.37  37.05  39.64
                            anymemo   4.95  17.18  23.57  29.79  33.31  41.67
                              sanity  2.17  5.39   9.96  11.45  11.68   18.69
             表 3、表 4 给出了不同时间消耗下的测试覆盖率,在表格中,我们将覆盖率达到稳定值的位置用粗体标出.
         从数据结果来看,表 3 的行覆盖率和表 4 的分支覆盖率能够得到类似的结论,即简单移动应用仅需 2 分钟~4 分
         钟的手绘就可以达到稳定的测试覆盖率,即使较为复杂的移动应用,8 分钟的手绘也足以使测试达到稳定的高
         覆盖率结果.由此可知:由于我们精心设计了具有一定表达能力的手绘测试语言,使得实际用本文框架进行手绘
         制导测试的人力成本大大降低,8 分钟左右的手绘即能满足大多数移动应用的测试需要.
         2.3   研究问题3:测试语言相关机制的作用

             我们设计了一个对照实验来分析本文手绘测试语言的相关机制在测试中的作用.这里,我们主要关注本文
         测试框架所提供的两项特殊机制:1)  手绘测试语言中的逻辑连接符;2)  初步测试后的交互式反馈.在实验过程
         中,我们随机对一半测试人员所用的测试框架关闭了逻辑连接符的识别功能,且有一半的测试人员没有交互式
         反馈的过程.这两个随机因素相互独立,最终获得的实验结果如下.
          Table 5    Compared result of sketch-guided testing with/without logical connector elements and the feedback stage
                          表 5   是否使用逻辑连接符和交互式反馈条件下的覆盖率对照结果
                                 无交互式反馈(语句覆盖率/分支覆盖率)(%)           有交互式反馈(语句覆盖率/分支覆盖率)(%)
            待测应用       分支数量
                                  不使用逻辑连接符        使用逻辑连接符        不使用逻辑连接符          使用逻辑连接符
            musicnote    245        58.10/37.36     84.12/73.63     58.10/37.36     84.12/73.63
             whohas      464        78.35/61.39     78.35/61.39     78.35/61.39     78.35/61.39
             explorer    885        36.74/28.68     61.28/47.37     52.41/30.47     69.40/53.42
             weight      813        51.71/37.22     55.70/42.48     64.73/51.88     70.06/62.02
              tippy      1 090      72.02/40.24     76.93/44.39     83.86/42.35     88.97/65.82
            myexpense    1 948      56.17/38.64     56.17/38.64     62.04/45.42     62.04/45.42
            mininote     2 489      31.68/19.85     38.09/25.80     35.56/22.78     41.89/28.14
             mileage     3 761      55.52/37.05     55.52/37.05     59.79/39.64     59.79/39.64
            anymemo      4 954      39.06/22.18     43.78/33.31     45.79/28.26     51.97/41.67
             sanity      5 723       16.41/8.59     19.85/11.68     27.76/15.35     31.33/18.69

             由表 5 的实验结果可知,大多数应用在采用逻辑连接符和交互式反馈的条件下能得到更高的覆盖率.但也
   9   10   11   12   13   14   15   16   17   18   19