White-Box Testing (白箱測試)

又稱為結構測試,其測試方法是根據程式內的結構設計案例,分別驗證其行為的正確性。

通常使用Path testing進行,遍歷所有path。

 

Black-Box Testing (黑箱測試)

又稱為功能測試,其目的是驗證系統的功能是否與預期相符。

黑箱測試主要針對以下類型的缺陷:

●  功能不對或遺漏。

●  有瑕疵的程式介面。

●  資料結構或外部資料存取的缺陷。

●  初始化和終止條件錯誤等各類型可由行為觀察到的缺陷。

 

Path Testing (路徑測試)

確保程式所有路徑都測試過一遍,通常使用dynamic analyzer tooltest coverage analyser來檢查程式中的所有程式碼是否都被執行。

 

Integration Testing (整合測試)

整合測試的目的,是驗證單元之間的介面是否正確,彼此間的訊息傳遞是否無誤。整合的方法可以是漸進的,或者是一次性整合。

 

Regression Testing (回歸測試)

指修改了舊程式碼後,重新進行測試以確認修改沒有出現新的bug或導致其他code產生error。 

時機:Release testing,釋出新版給客戶/user時。

範圍:整個系統(第一版時)、更動影響範圍(更新版)

目標:通常是測performance、reliability。

 

Stress Testing (壓力測試)

屬於效能測試(Performance testing)的一種,其中有一樣屬於故意超載(deliberately overloaded)去測試其故障行為,目標在於測試系統的穩定性以及敏感度。

 

Performance Testing (效能測試)

指確定系統在特定工作負載下所表現的響應性和穩定性而進行的測試。另外還可以用於調查、測量、驗證系統的其他屬性,如延展性,可靠性等。

 

Alpha Testing

Alpha測試是由一群與開發者一起工作的客戶在開發環境下進行的受控測試,Alpha測試不能由開發人員或測試員完成。Alpha測試發現的錯誤,可以在測試現場立刻反饋給開發人員,由開發人員及時分析和處理。

 

Beta Testing

Beta測試是將軟體散佈給一般的使用者在實際使用環境下做測試,開發者通常不會在測試現場,測試的對象也不做特別的限定,Beta測試不能由開發人員或測試員完成。在Beta測試發現的錯誤,由使用者記下遇到的所有問題定期向開發者報告,開發者在綜合用戶的報告後,做出修改,最後將產品交付給全體用戶使用。

 

Acceptance Testing (驗收測試)

是系統行為與功能面的規範,用來說明某一個user story,系統在特定情況下應該完成什麼樣功能,以及針對某一些輸入,應該具備怎樣的輸出結果。更重要的是,是從使用者的角度來檢視,系統是否能正常運作(是否符合使用者的期望)。

 

Sandwich Integration(三明治整合測試)

結合top-down and bottom-up測試策略,從頂層與底層模組向中間整合。

top down integration 優點:

●  好發現error(提早驗證major control與decision points)

●  可以早點看到系統的完整功能(如果有用到depth-first integration的話)

 

top down integration 缺點:

●  可能會有logistical problem(後續會有問題要處理)

●  需要花時間寫test stubs

 

bottom up integration 優點:

●  易於設計test case,不需寫test stubs

●  可以在早期階段就能開始做,不用等整個系統的架構設計完才能開始做。

●  可重複使用的module會被充分的測試

 

bottom up integration 缺點:

●  UI 元件最後才會被測試

●  program的實體還不存在直到最後一個module加入才會存在

●  主要的設計錯誤會發現得比較晚

 





arrow
arrow
    全站熱搜
    創作者介紹

    橘子亂說話 發表在 痞客邦 留言(0) 人氣()