第9回 驗證和確認 缺一不可

2021-04-14 02:24:21 字數 1391 閱讀 8557

軟體測試中不僅要檢查程式是否出錯、程式是否和軟體產品的設計規格說明書一致,而且還要檢驗所實現的正確功能是否就是客戶或使用者所需要的功能,兩者缺一不可,這兩部分活動構成了乙個完整的測試活動。這就是軟體測試中有名的v&v,即verification和validation。實際上,在整個軟體開發生命週期,verification和validation每時每刻都存在著。

1. 驗證——verification

verification,翻譯為「驗證」,也可以譯為「檢驗」,即驗證或檢驗軟體是否已正確地實現了產品規格書所定義的系統功能和特性。驗證過程提供證據表明,軟體相關產品與所有生命週期活動(需求分析、設計、程式設計、測試等)的要求(如正確性、完整性、一致性、準確性等)相一致。

驗證是否滿足生命週期過程中的標準、實踐和約定;驗證為判斷每乙個生命週期活動是否已經完成,以及是否可以啟動其他生命週期活動建立乙個新的基準。

在 iso9000 中,「驗證」的嚴格定義是:驗證是通過檢查和提供客觀證據,表明規定要求已經滿足的認可。「驗證」強調的是「規定規格要求」

2. 有效性確認——validation

validation,翻譯為「確認」,但更準確地翻譯,應該是「有效性確認」,這種有效性確認要求更高,要能保證所生產的軟體可追溯到使用者需求的一系列活動。確認過程提供證據,表明軟體是否滿足客戶需求(指分配給軟體的系統需求),並解決了相應問題。

在 iso9000 中,「確認」的嚴格定義是: 確認:是通過檢查和提供客觀證據,表明一些針對某一特定預期用途的要求已經滿足的認可。「確認」強調的是「預期用途的要求」

3. 兩者的區別和聯絡

為了更好地理解這兩個測試活動的區別,可以概括地說,驗證(verification)是檢驗開發出來的軟體產品和設計規格書的一致性,即是否滿足軟體廠商的生產要求。但設計規格書本身就可能有問題、存在錯誤,所以即使軟體產品中某個功能實現的結果和設計規格書完全一致,但所設計的功能不是使用者所需要的,依然是軟體嚴重的缺陷。因為設計規格書很有可能一開始就對使用者的某個需求理解錯了,所以僅僅進行驗證(verification)測試還是不充分的,所以還需要進行性確認(validation)測試。確認(validation)就是檢驗產品功能的有效性,即是否滿足使用者的真正需求。

這就是boehm對v&v的最著名又最簡單的解釋是

我們還可以給出在目的、物件、參與人員和時機等各個方面的區別和聯絡。

目的:

物件:

參與人員:

時機:預知後事如何,請讀下回分解:

第10回 

在軟體開發各個階段的測試任務

®

——系列討論的目錄,見:

軟體測試演義——中高階系列(序)

第9章 Python標準庫概覽(缺3解答)

0901.使用turtle庫繪製乙個蜂窩狀六邊形。0901 from turtle import def hexagon x,y,r hideturtle speed 10 penup goto x,y pendown begin fill color red yellow circle r,ste...

驗證密碼和確認密碼一致性

需要jquery 密碼需要6 16位 要求 不含有空格就行 機制 1.第一次密碼輸入有不合規密碼時,第二次密碼提示字型變黃色警告,並永遠是黃色。邊框和提示字型顏色一致,以下用提示字型代表 2.第一次密碼輸入不到6位,第二次密碼提示字型變黃色警告,並永遠是黃色。3.第一次密碼輸入正確 密碼在6 16且...

第9章 多型和抽象

多型 polymorphism 定義 相同的行為,不同的實現,使用動態繫結和重寫實現 靜態多型 使用過載實現 動態多型 轉型條件 只能發生在父子之間 轉型技術 向上轉型 向下轉型。向上轉型 定義 當從低精度資料型別向高精度資料型別轉換時實行自動轉換,這種型別轉換技術稱為向上轉型 或乙個父類的引用變數...