软件测试作业三

此次作业的题目为书上第49页第7题的a-d四小问。

a.控制流图

b.设计简单的错误,使测试用例t2 = (n=5)比t1 = (n=3)更容易被发现。

将if( isDivisible( primes[i], curPrime){

  isPrime = false;

  break; }中的primes[i],改为primes[0]

当n=3时,所判断的被除数只有2,没有影响。

n = 5时,被除数的数量也随之增大不止为2,因此会产生错误。

c.测试用例t = (n=1)时,测试路径访问链接while语句开始到for语句的边,而不通过while循环体。

d.节点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14}

边覆盖:{(1,2),(2,3),(2,11),(3,4),(4,5),(5,6),(5,8),(6,7),(6,9),(7,8),(8,2),(8,10),(9,5),(10,2),(11,12),(11,14),(12,13),(13,11)}

主路径覆盖:{ [1,2,3,4,5,6,7,8,10],

       [1,2,3,4,5,8,10],

       [1,2,3,4,5,6,9],

       [1,2,11,12,13],

       [1,2,11,14],

       [2,3,4,5,6,7,8,2],

       [2,3,4,5,6,7,8,10,2],

       [2,3,4,5,8,2],

       [2,3,4,5,8,10,2],

       [3,4,5,6,7,8,10,2,11,12,13],

       [3,4,5,6,7,8,10,2,11,14],

       [3,4,5,6,9],

       [3,4,5,6,7,8,2,11,12,13],

       [3,4,5,6,7,8,2,11,14],

       [3,4,5,8,2,11,12,13],

       [3,4,5,8,2,11,14],

       [3,4,5,8,10,2,11,12,13],

       [3,4,5,8,10,2,11,14],

       [5,6,9,5],

       [6,9,5,8,2,11,12,13],

       [6,9,5,8,2,11,14],

       [6,9,5,8,10,2,11,12,13],

       [6,9,5,8,10,2,11,14],

       [11,12,13,11],

       [12,13,11,14] }

 用这道题做测试用例,发现当n>=3时即可完成100%覆盖率。

测试用例为:

下面为n=0,n=1,n=2,n=3时的覆盖率。分别为29.5%,65.9%,96.5%,100%。

对其他程序设计主路径测试用例:

用上机实验的判断三角形形状的程序,程序本身为:

是if-return型,画出控制流图为:

主路径覆盖为:{(1,2,3),

        (1,2,4,5,6),

        (1,2,3,5,7),

        (1,2,4,8),

        (1,9)}

测试用例为:{[3,4,5],

        [3,3,3],

        [3,4,4],

        [3,4,6],

        [3,4,1]}

得出覆盖率为100%。

原文地址:https://www.cnblogs.com/Veronica226/p/5326708.html