软件测试作业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:{1、2、3、4、5、6、7、8、9、10、11、12}

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);
    }
}

结果:

时间: 2024-10-16 16:11:12

软件测试作业3 printPrimes()的测试覆盖的相关文章

软件测试作业三-printPrimes()

作业内容: private static void printPrimes(int n) { int curPrime; int numPrimes; boolean isPrime; int MAXPRIMES=50; int [] primes = new int [MAXPRIMES]; primes [0] = 2; numPrimes = 1; curPrime = 2; while (numPrimes < n) { curPrime++; isPrime = true; for (

软件测试作业——Junit使用

软件测试作业--Junit使用 [TOC] 题目要求 Install Junit(4.12),Hamcrest(1.3) with Eclipse Install Eclemma with Eclipse Write a javaprogram for the triangle problem and test the program with Junit. Description oftriangle problem:Functiontriangle takes three integers

软件测试作业——三

作业见<软件测试基础>中文版49页第7题.英文版63页 a) b) 令MAXPRIMES = 4,t1不能检查出错误,t2发生数组越界,使得t2比t1更容易发现. c)t3=(n=1) d)节点覆盖:TR={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} 边覆盖:TR={(1,2),(2,3),(2,12),(3,4),(4,5),(5,6),(6,8),(8,5),(6,7),(7,9), (5,9),(9,10),(10,11),(9,11),(12,13)

软件测试--作业四

<软件测试>第四次作业 1.某公司网站的后台管理有一个用户注册的功能需要测试,该测试为黑盒测试,请用表格的方式给出该功能的测试用例(参考课本P107页).用户注册功能描述如下: (1)       管理员必须先登录,方可进入网站后台管理,进入后台管理界面后可以进行用户注册(假设用户注册的URL地址为http://www.fengt.com/Admin/UserRegister.jsp) (2)       用户注册要求输入用户名.密码.密码确认.邮箱,这4项内容均不能为空 (3)      

软件测试作业三

作业内容: Use the following method printPrimes() for questions a–f below. 代码如下: 1. /** ***************************************************** 2. * Finds and prints n prime integers 3. * Jeff Offutt, Spring 2003 4. *****************************************

第五次软件测试作业

构建指法心得体会 这是一次很特别的作业,对一本书做出的自己的心得体会,这是一本什么样的书本,对我而言,我也不太清楚,毕竟从开学到现在我大概就打开它两三次,也说不出这本书哪里好,但是所先,我拿起这本书,我习惯性看了这本书的目录,一览目录,觉得都是知识.都是新鲜的IT软件知识,关键我对IT感兴趣吗?如果我可以不打代码,我相信我会对IT之类的书本很感兴趣,有的人可以从打代码,做工程中得到成功的兴趣,而有的人只会这样说,总算好了,这个项目,这样就决定我自己是如何看待这本书了,不过知识毕竟是无价之宝,多一

软件测试作业四

<软件测试>第四次作业 软金3班      陈小燕       3137102311 1.某公司网站的后台管理有一个用户注册的功能需要测试,该测试为黑盒测试,请用表格的方式给出该功能的测试用例(参考课本P107页).用户注册功能描述如下: (1)       管理员必须先登录,方可进入网站后台管理,进入后台管理界面后可以进行用户注册(假设用户注册的URL地址为http://www.fengt.com/Admin/UserRegister.jsp) (2)       用户注册要求输入用户名.密

软件测试作业3

Question1: Use the following method printPrimes() for questions a–d. 1 /******************************************************* 2 * Finds and prints n prime integers 3 * Jeff Offutt, Spring 2003 4 *****************************************************

软件测试作业1--描述Error

记忆犹新的错误: 上个学期选修了可视化这门课程,最后大作业用d3实现,在使用d3读取csv数据的时候出现了以下Error: 我先是在代码中读取了某csv格式的数据,并且将其存入变量root中,然后对root进行遍历,然后进行统计,最后将一些统计得来的结果存入了另一个变量temp.而且这个temp声明是在读取csv数据之前的.最后我在读取csv数据这段后面又输出了temp.发现temp居然是空的,也就是没有被赋值. 很郁闷的是我先声明变量,读取文件,进行处理,将结果存入了事先声明的变量中去,最后输