软件测试作业3 printPrimes()的测试覆盖

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值