軟體測試學習筆記:主路徑測試

來源:互聯網
上載者:User

標籤:

(a)

(b)當將MAXPRIMES設定2到5直接時。t2=(n=5)會出現越界錯誤而t1=(n=3)不會

(c)當n=0或1時,程式不會經過while迴圈。

(d)

節點覆蓋

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

邊覆蓋

TR= {(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,5),(6,8),(8,9),(5,9),

    (9,10),(9,11),(10,11),(11,12),(2,12),(12,13),(13,16),(13,14),(14,15),(15,13)}

主路徑覆蓋

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

[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],

[3,4,5,6,8,9,10,11,2,12,13,16],[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,11,12,13,14,15],[3,4,5,9,10,11,2,12,13,16],[3,4,5,9,10,11,2,12,13,14,15],[3,4,5,9,11,2,12,13,16],[3,4,5,9,11,2,12,13,14,15],[3,4,5,6,8,9,10,11,2,3],[3,4,5,6,8,9,11,2,3],[3,4,5,9,10,11,2,3],[3,4,5,9,11,2,3],

[4,5,6,8,9,10,11,2,3,4],[4,5,6,8,9,11,2,3,4],[4,5,9,10,11,2,3,4],[4,5,9,11,2,3,4],

[5,6,8,9,10,11,2,3,4,5],[5,6,8,9,11,2,3,4,5],[5,9,10,11,2,3,4,5],[5,9,11,2,3,4,5],[5,6,7,5],

[6,8,9,10,11,2,3,4,5,6],[6,8,9,11,2,3,4,5,6],[6,7,5,6],[6,7,5,9,10,11,2,3,4,5,6],[6,7,5,9,11,2,3,4,5,6],[6,7,5,9,10,11,2,12,13,16],[6,7,5,9,10,11,2,14,15],[6,7,5,9,11,2,12,13,16],[6,7,5,9,11,2,14,15],

[7,5,6,7],[7,5,6,8,9,10,11,2,3,4],[7,5,6,8,9,11,2,3,4],[7,5,6,8,9,10,11,2,12,13,16],[7,5,6,8,9,11,2,12,13,16],[7,5,6,8,9,10,11,2,12,13,14,15],[7,5,6,8,9,11,2,12,13,14,15],

[8,9,10,11,2,3,4,5,6,8],[8,9,11,2,3,4,5,6,8],

[9,10,11,2,3,4,5,6,8,9],[9,11,2,3,4,5,6,8,9],

[10,11,2,3,4,5,6,8,9,10],[10,11,2,3,4,5,9,10],

[11,2,3,4,5,6,8,9,10,11],[11,2,3,4,5,9,10,11],[11,2,3,4,5,6,8,9,11],[11,2,3,4,5,9,11],

[13,14,15,13],[14,15,13,14],[14,15,13,16],[15,13,14,13],[15,13,16]}

主路徑覆蓋測試:

First add the isDivisable() method and alter the printPrimes() method. Put the output into an int array :

首先加入isDivisable()並修改printsPrimes函數,輸出結果到數組

public class Primes {    private static final int MAXPRIMES = 100;    /*******************************************************      * Finds and prints n prime integers      * Jeff Offutt, Spring 2003      ******************************************************/     public static int[] 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 (isDivisable(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]);         }         return primes;    } // end printPrime        static boolean isDivisable (int primes,int curPrime){        boolean result = false;            int mod = curPrime % primes;            if (mod== 0){                result = true;            }        return result;    }}

測試類別代碼如下:

import static org.junit.Assert.*;import org.junit.Before;import org.junit.Test;public class PrimesTest {    private static Primes prime = null;    private static int[] primeArray = new int[100];    @Before    public void setUp() throws Exception {        prime = new Primes();        primeArray[0] = 2;        primeArray[1] = 3;        primeArray[2] = 5;        primeArray[3] = 7;        primeArray[4] = 11;    }    @Test    public void testPrintPrimes() {        assertArrayEquals(primeArray, prime.printPrimes(5));    }}

運行結果如下:

軟體測試學習筆記:主路徑測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.