软件测试作业随笔之三:printPrime( )课后问题(a)(b)(c)(d)

(a)为printPrime( )方法画控制流图。

       此图我用的Word完成,非常累,后来想起我还有OmniGraffle但是为时已晚,图如下:

(b)考虑测试用例t1=(n=3)和t2=(n=5)。即使这些测试用例游历printPrimes()方法中相同的主路径,他们不一定找出相同的错误。设计一个简单的错误,使得t2比t1更容易发现。

       答:如果n值大,t2=(n=5)就容易出现数据越界的错误。

(c)针对printPrimes(),找到一个测试用例,使得响应的测试路径访问连接while语句开始到for语句的边,而不用通过while循环体。

       答:找到测试用例  n = 1,不满足numPrimes < n的条件,使得响应的测试路径访问连接while语句开始到for语句的边,而不用通过while循环体。

(d) 针对printPrimes()的图例列举每个节点覆盖,边覆盖和主路径覆盖的测试需求。

       答:1)节点覆盖:    TR = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

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

             3)主路径覆盖:

  TR = {(1,2,3,4,5,6,7),

(1,2,3,4,5,6,8,9,10,11),

(1,2,3,4,5,6,8,9,11),

(1,2,3,4,5,9,10,11),

(1,2,3,4,5,9,11),

(1,2,12,13,14,15),

(1,2,12,16),

(2,3,4,5,6,8,9,10,11,2),

(2,3,4,5,6,8,9,11,2),

(2,3,4,5,9,10,11,2),

(2,3,4,5,9,11,2),

(3,4,5,6,8,9,10,11,2,12,13,14,15),

(3,4,5,6,8,9,11,2,12,13,14,15),

(3,4,5,6,8,9,10,11,2,12,13,16),

(3,4,5,6,8,9,11,2,12,13,16),

(3,4,5,9,10,11,2,12,13,14,15),

(3,4,5,9,11,2,12,13,14,15),

(3,4,5,9,10,11,2,12,13,16),

(3,4,5,9,11,2,12,13,16),

(5,6,7,5),

(6,7,5,9,10,11,2,12,13,14,15),

(6,7,5,9,11,2,12,13,14,15),

(6,7,5,9,10,11,2,12,13,16),

(6,7,5,9,11,2,12,13,16),

(13,14,15,13),

(14,15,13,16),

}

原文地址:https://www.cnblogs.com/MelodyWang/p/5337039.html