博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试(四)主路径覆盖hw3
阅读量:7023 次
发布时间:2019-06-28

本文共 3940 字,大约阅读时间需要 13 分钟。

 

原题中代码

/*******************************************************      * Finds and prints n prime integers      * Jeff Offutt, Spring 2003      ******************************************************/     public static void printPrimes (int n)     {         int curPrime; // Value currently considered for primeness         int numPrimes; // Number of primes found so far.         boolean isPrime; // Is curPrime prime?         int [] primes = new int [MAXPRIMES]; // The list of prime numbers.                 // Initialize 2 into the list of primes.         primes [0] = 2;         numPrimes = 1;         curPrime = 2;         while (numPrimes < n)         {             curPrime++; // next number to consider ...             isPrime = true;             for (int i = 0; i <= numPrimes-1; i++)             { // for each previous prime.                 if (isDivisible(primes[i], curPrime))                 { // Found a divisor, curPrime is not prime.                     isPrime = false;                     break; // out of loop through primes.                 }             }             if (isPrime)             { // save it!                 primes[numPrimes] = curPrime;                 numPrimes++;             }         } // End while                 // Print all the primes out.         for (int i = 0; i <= numPrimes-1; i++)         {             System.out.println ("Prime: " + primes[i]);         }     } // end printPrimes

控制流图

b:数组越界即可,当MAXPRIMES == 4时,n=5会引发越界

c:

n= 1时,不满足numPrimes<n,所以指向12

d:

点覆盖{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}

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

主路径覆盖{(1,2,3,4,5,6,7),  (1,2,3,4,5,6,8,9,11),   (1,2,3,4,5,6,8,9,10,11),   (1,2,3,4,5,9,11),   (1,2,3,4,5,9,10,11),   (1,2,12,13,14,15),   (1,2,12,13,16),   (3,4,5,6,8,9,11,2,12,13,14,15), (3,4,5,6,8,9,10,11,2,12,13,14,15),   (3,4,5,6,8,9,11,2,12,13,16),   (3,4,5,6,8,9,10,11,2,12,13,16),   (3,4,5,9,11,2,12,13,14,15),   (3,4,5,9,10,11,2,12,13,14,15), (3,4,5,9,11,2,12,13,16),   (3,4,5,9,10,11,2,12,13,16),   (6,7,5,9,11,2,12,13,14,15),   (6,7,5,9,10,11,2,12,13,14,15),  (6,7,5,9,11,2,12,13,16),  (6,7,5,9,10,11,2,12,13,16), (14,15,13,16),  (13,14,15,13),   (5,6,7,5),   (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)

}

 

设计主路径覆盖

第一次试验中的三角形已完成完全覆盖

Tri类

package stlab1;public class Tri {    public static String isTri(double a,double b,double c)    {        if (b >= a && b >= c)        {            double temp = b;            b = a;            a = temp;                    }        if (c >= a && c >= b)        {            double temp = c;            c = a;            a = temp;                    }        if (b + c <= a)            return "不是三角形";        if (a == b && b == c)            return "等边三角形";        if (a == b || b == c || a == c)        {            return "等腰三角形";        }                    if (a * a == b * b + c * c)            return "直角三角形";        return "一般三角形";    }}

test类

package stlab1;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class TriTest {    @BeforeClass    public static void setUpBeforeClass() throws Exception {    }    @AfterClass    public static void tearDownAfterClass() throws Exception {    }    @Before    public void setUp() throws Exception {    }    @After    public void tearDown() throws Exception {    }    @Test    public void test() {        Tri tri = new Tri();        assertEquals("等边三角形",tri.isTri(1, 1, 1));        assertEquals("不是三角形",tri.isTri(0, 1, 2));        assertEquals("直角三角形",tri.isTri(3, 4, 5));        assertEquals("等腰三角形",tri.isTri(3, 3, 5));        assertEquals("一般三角形",tri.isTri(4, 6, 7));        assertEquals("等腰三角形",tri.isTri(4, 4, 2));        assertEquals("等腰三角形",tri.isTri(3, 2, 2));            }}

转载于:https://www.cnblogs.com/Durandal/p/5339726.html

你可能感兴趣的文章
seq的一些用法示例
查看>>
Java中xml与json的相互转换
查看>>
GNS3综合实验_0130
查看>>
Python模块filecmp 文件比较
查看>>
查看mysql读和写的量
查看>>
Python 使用 Xlrd/xlwt 操作 Excel
查看>>
python将日志导入数据库代码案例
查看>>
MySQL二进制包安装实例 ( 5.5 、5.6 共存 )
查看>>
zabbix 之 安装配置手册(全)
查看>>
算法学习之路|万绿丛中一点红
查看>>
Zabbix低级发现结合jstat命令自动监控Java进程(jdk 1.8版本)
查看>>
zabbix3.4.4集成graphtrees图文笔记
查看>>
国家网络安全产业园区落户北京
查看>>
算法学习之路|wifi密码
查看>>
V-4-3 访问vCenter与操作
查看>>
运维DBA的4大纪律9项注意【转】
查看>>
写python的常用工具及设置
查看>>
PLSQL Developer软件使用大全
查看>>
PHP5.3.3添加安装mcrypt模块
查看>>
salt-minion自动化安装脚本
查看>>