博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试作业3 printPrimes()的测试覆盖
阅读量:6125 次
发布时间:2019-06-21

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

printPrimes():

public static String printPrimes(int n){

        int max=100;
        int curPrime;
        int numPrimes;
        boolean isPrime;
        String result = "";
        int [] primes = new int [max];      
        primes[0] = 2;
        numPrimes = 1;
        curPrime = 2;
        while (numPrimes < n){
           curPrime++;
           isPrime = true;
           for (int i = 0; i <= numPrimes-1; i++)
           {
               if (curPrime%primes[i]==0)
               {
                   isPrime = false;
                   break;
               }
           }
           if (isPrime)
           {
               primes[numPrimes] = curPrime;
               numPrimes++;
           }
        }
        for (int i = 0; i <= numPrimes-1; i++) {
           result += primes[i]+" ";
        }
        return result;
   }

控制流图:

覆盖:

Node coverage{123456789101112}

Edge coverage{ (1,2),(1,8),(2,3),(3,4),(3,5),(4,5),(4,6),(5,7),(5,8),(6,3),(7,1),(8,9),(9,10),(9,12),(10,11),(11,9) }

Prime path coverage{(1,2,3,4,6),(1,2,3,5,7),(1,8,9,10,11),(1,8,9,12)}

程序:

Main.java

package primes;public class Main {    /*public static void main(String[] args){        System.out.println(printPrimes(20));    }*/    public static String printPrimes(int n){         int max=100;        int curPrime;         int numPrimes;         boolean isPrime;         String result = "";        int [] primes = new int [max];              primes[0] = 2;         numPrimes = 1;         curPrime = 2;         while (numPrimes < n){            curPrime++;            isPrime = true;            for (int i = 0; i <= numPrimes-1; i++)            {                if (curPrime%primes[i]==0)                {                    isPrime = false;                    break;                }            }            if (isPrime)            {               primes[numPrimes] = curPrime;                numPrimes++;            }         }        for (int i = 0; i <= numPrimes-1; i++) {            result += primes[i]+" ";         }        return result;   }}

Maintest.java

package primes;import static org.junit.Assert.assertEquals;import org.junit.Test;public class Maintest {    String result;        @Test    public void test1(){        result = Main.printPrimes(10);        assertEquals("2 3 5 7 11 13 17 19 23 29 ",result);    }    @Test    public void test2(){        result = Main.printPrimes(20);        assertEquals("2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 ",result);    }}

结果:

 

转载于:https://www.cnblogs.com/lxtao/p/6551304.html

你可能感兴趣的文章
致远推出全分销A6+,走协同OA差异化竞争路
查看>>
MVVM 框架解析之双向绑定
查看>>
Vue项目使用eslint + prettier规范代码风格
查看>>
如何基于迁移学习快速识别出讲话的人是谁?
查看>>
理解javascript的call 、 apply 、 bind
查看>>
【iOS 开发】iOS 10.3 如何更换 app 图标
查看>>
自动「脑补」3D环境!DeepMind最新Science论文提出生成查询网络GQN
查看>>
比特币的标准是什么
查看>>
使用即构ZEGO视频直播SDK巧妙地实现直播答题方案
查看>>
Android解析ClassLoader(二)Android中的ClassLoader
查看>>
LRUCache原理的简单分析
查看>>
联网对战游戏开源实例分享之《斗兽棋》
查看>>
从零到壹,快速产品设计流程步骤
查看>>
人人都会设计模式---装饰模式--Decorator
查看>>
iOS 运行时之 Associative(关联)
查看>>
关于判断是不是电话号码
查看>>
初探验证码识别
查看>>
逆向基础(九)
查看>>
[代码审计]web程序对客户端数据加解密带来的安全问题
查看>>
浅析 <路印协议--Loopring> 及整体分析 Relay 源码
查看>>