軟體測試要學什麼(3)軟體測試流程詳解

千鋒教育官方發表於2019-03-28

       軟體測試主要工作內容是驗證(verification)和確認(validation),下面分別給出其概念:

  驗證(verification)是保證軟體正確地實現了一些特定功能的一系列活動, 即保證軟體以正確的方式來做了這個事件(Do it right)

  1.確定軟體生存週期中的一個給定階段的產品是否達到前階段確立的需求的過程。

  2.程式正確性的形式證明,即採用形式理論證明程式符合設計規約規定的過程。

  3.評審、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或檔案等是否和規定的需求相一致進行判斷和提出報告。

  確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環境中軟體的邏輯正確性。即保證軟體做了你所期望的事情。(Do the right thing)

  1.靜態確認,不在計算機上實際執行程式,透過人工或程式分析來證明軟體的正確性。

  2.動態確認,透過執行程式做分析,測試程式的動態行為,以證實軟體是否存在問題。

  軟體測試的物件不僅僅是程式測試,軟體測試應該包括整個軟體開發期間各個階段所產生的文件,如需求規格說明、概要設計文件、詳細設計文件,當然軟體測試的主要物件還是源程式。

   測試方法

   等價類

   1.定義

  是把所有可能的輸入資料,即程式的輸入域劃分成若干部分(子集),然後從每一個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。

   2.劃分等價類

  等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的,併合理地假定:測試某等價類的代表值就等於對這一類其它值的測試,因此,可以把全部輸入資料合理劃分為若干等價類,在每一個等價類中取一個資料作為測試的輸入條件就可以用少量代表性的測試資料取得較好的測試結果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

  1)有效等價類

  是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。

  2)無效等價類

  與有效等價類的定義恰巧相反。無效等價類指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。對於具體的問題,無效等價類至少應有一個,也可能有多個。

  設計測試用例時,要同時考慮這兩種等價類。因為軟體不僅要能接收合理的資料,也要能經受意外的考驗,這樣的測試才能確保軟體具有更高的可靠性。

   3.劃分等價類的標準

  1)完備測試、避免冗餘;

  2)劃分等價類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的並是整個集合;

  3)並是整個集合:完備性;

  4)子集互不相交:保證一種形式的無冗餘性;

  5)同一類中標識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理對映到"相同的執行路徑"。

   4.劃分等價類的方法

  1)在輸入條件規定了取值範圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類。

  如:輸入值是學生成績,範圍是0~100。

  2)在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可確立一個有效等價類和一個無效等價類。

   邊界值

   1. 定義: 邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。

   2. 與等價劃分的區別

  1) 邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。

  2) 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。

   3. 邊界值分析方法的考慮:

  長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。

  使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。

   4. 常見的邊界值

  1) 對16-bit 的整數而言 32767 和 -32768 是邊界

  2) 螢幕上游標在最左上、最右下位置

  3) 報表的第一行和最後一行

  4) 陣列元素的第一個和最後一個

  5) 迴圈的第 0 次、第 1 次和倒數第 2 次、最後一次

   5. 邊界值分析

  1) 邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在於劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。

  例:測試計算平方根的函式

  --輸入:實數

  --輸出:實數

  --規格說明:當輸入一個0或比0大的數的時候,返回其正平方根;當輸入一個小於0的數時,顯示錯誤資訊"平方根非法-輸入值小於0"並返回0;庫函式Print-Line可以用來輸出錯誤資訊。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2639561/,如需轉載,請註明出處,否則將追究法律責任。

相關文章