軟體測試 HW4

來源:互聯網
上載者:User

標籤:

  本周的作業,是“軟體測試基礎”教材 ExerciseSection2.3 的課後習題。

  題目要求,用下面的方法printPrimes()完成相應問題。 代碼如下:

/*******************************************************      * Finds and prints n prime integers      * Jeff Offutt, Spring 2003      ******************************************************/     public static void 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 (curPrime%primes[i]==0)                 { // 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]);         }     } // end printPrimes

(a) 為printPrimes()方法畫控制流程圖。

(b) 考慮測試案例t1=(n=3)和t2=(n=5)。即使這些測試案例遊歷printPrimes()方法中相同的路徑,它們不一定找出相同的錯誤。設計一個簡單的錯誤,使得t2t1更容易發現。

(c) 針對printPrimes(),找到一個測試案例,使得相應的測試路徑訪問串連while語句開始到for語句的邊,而不用通過while迴圈體。

(d) 針對printPrimes()的圖列舉每個節點覆蓋、邊覆蓋和主路徑覆蓋的測試需求。

 

首先,求解(a)。通過processon做出控制流程圖如下:

 

(b) 針對“數組越界”的錯誤,t2比t1更容易發現。

(c) 測試案例: n = 0 或 n = 1

(d) 點覆蓋:   {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}

  邊覆蓋:   {(1,2),(2,3),(2,12),(3,4),(4,5),(5,6),(6,7),(6,8),(7,9),(8,5),(9,10),(9,11),(10,11),(11,2),(12,13),(13,14),(13,15),(14,13)}

  主路徑覆蓋: {(1,2,3,4,5,6,7,9,10,11),

          (1,2,3,4,5,6,7,9,11),

          (1,2,3,4,5,6,8),

          (1,2,3,4,5,9,10,11),

          (1,2,3,4,5,9,11),

          (1,2,12,13,14),

          (1,2,12,13,15),

        

          (2,3,4,5,6,7,9,10,11,2),

          (2,3,4,5,6,7,9,11,2),

          (2,3,4,5,9,10,11,2),

          (2,3,4,5,9,11.2), 

 

            (3,4,5,6,7,9,10,11,2,12,13,14),

            (3,4,5,6,7,9,11,2,12,13,14),

          (3,4,5,6,7,9,10,11,2,12,13,15),

          (3,4,5,6,7,9,11,2,12,13,15), 

          (3,4,5,9,10,11,2,12,13,14),

          (3,4,5,9,11,2,12,13,14),

          (3,4,5,9,10,11,2,12,13,15),

          (3,4,5,9,11,2,12,13,15), 

          

          (5,6,8,5), 

 

          (6,8,5,9,10,11,2,12,13,14),

          (6,8,5,9,10,11,2,12,13,15),

          (6,8,5,9,11,2,12,13,14),

          (6,8,5,9,11,2,12,13,15), 

        

          (13,14,13),

          (14,13,15)}

 

 

現在,對具體代碼進行分析。代碼選擇上次測試三角形實驗的代碼。

 

 

該例子中,測試案例為:

  (1.0, 1.0, 4.0), (10.0, 10.0, 10.0), (5.0, 5.0, 6.0), (3.0, 4.0, 5.0)

程式碼涵蓋範圍為100%,。

 

具體代碼已上傳github,連結:https://github.com/CindyZJT/lab1

軟體測試 HW4

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.