软件测试作业三-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 (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++)
         {
             System.out.println ("Prime: " + primes[i]);
         }
     }

a)控制流图:

b)令MAXPRIMES=50

c)测试用例r=(n=1)

d)节点覆盖

TR={1,2,3,4,5,6,7,8,9,10,11,12,13}

边覆盖

TR={(1,2),(2,3),(2,4),(3,5),(4,11),(5,6),(6,7),(6,8),(7,9),(7,10),(8,5),(9,10),(10,2),(11,12),(11,13),(12,11)}

主路径覆盖

TR={[1,2,4,11,12],[1,2,4,11,13],[1,2,3,5,6,8],[1,2,3,5,6,7,10],[1,2,3,5,6,7,9,10],[11,12,11],[12,11,12],[5,6,8,5],[6,8,5,6],[8,5,6,8]}

e)Juint

完整代码

package printPrimes;

public class prime {

     public static String 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 (int i = 0; i <= numPrimes-1; i++)
             {
                 if (curPrime%primes[i]==0)
                 {
                     isPrime = false;
                     break;
                 }
             }
             if (isPrime)
             {
                 primes[numPrimes] = curPrime;
                 numPrimes++;
             }
         }
         String re="";
         for (int i = 0; i <= numPrimes-1; i++)
         {
             re=re+primes[i];
             System.out.print(primes[i]);
         }

         return re;
     }
}

生成测试类

package printPrimes;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class primeTest {
    prime p;
    @Before
    public void setUp() throws Exception {
        p=new prime();
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void testPrintPrimes() {
        String rel=p.printPrimes(8);
        assertEquals("wrong",rel,"235711131719");
    }

}

f)Eclemma

时间: 2024-10-11 17:25:53

软件测试作业三-printPrimes()的相关文章

软件测试作业——三

作业见<软件测试基础>中文版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)

软件测试作业三

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

软件测试作业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;      

Software Testing (软件测试作业三) HW3 prin

The source code: 源代码: /******************************************************* * Finds and prints n prime integers * Jeff Offutt, Spring 2003 ******************************************************/ public static void printPrimes (int n) { int curPrim

软件测试 作业三 《软件测试基础》2.3节第7题

Use the following method printPrimes() for questions a–d. 原书:<Introduction to Software Testing>BY Paul Ammann and Jeff Offutt 题目为书中2.3小节第7题. 题目代码如下: /** ***************************************************** * Finds and prints n prime integers * Jeff

软件测试作业三 尝试使用JUnit

写一个判断三角形种类的代码,对其进行测试. 判断三角形代码: package 测试1; public class sjx { public String f(int a,int b,int c) { if(a<=0||b<=0||c<=0||a+b<=c||a+c<=b||b+c<=a) return "不是三角形"; if(a == b&&b == c) return "等边三角形"; else if(a ==

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现

大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三 Q18-20的C++实现.虽然有很多大神已经在很多博客中给出了Phython的实现,但是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码虽然能够得到正确答案,但是其中可能有某些思想或者细节是错误的,如果各位博友发现,请及时留言纠正,谢谢!再次声明,博主提供实现代码的原因不是为了让各位通过测试,而是为学习有困难的同学提供

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q13-15 C++实现

大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三 Q6-10的C++实现.虽然有很多大神已经在很多博客中给出了Phython的实现,但是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码虽然能够得到正确答案,但是其中可能有某些思想或者细节是错误的,如果各位博友发现,请及时留言纠正,谢谢!再次声明,博主提供实现代码的原因不是为了让各位通过测试,而是为学习有困难的同学提供一

機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径!希望我的博客对您的学习有所帮助! 本文出处:http://blog