軟體測試基本原理

2021-09-13 16:31:30 字數 1038 閱讀 7218

在過去的40多年裡,測試工作中有一些原理已經被普遍接受,廣泛應用。在測試中,應當始終牢記7條基本原理。

原理1:測試可以證明缺陷存在,但不能證明缺陷不存在。

測試可以證明產品是失敗的,也就是說產品中有缺陷。但測試不能證明程式中沒有缺陷。適當的測試可以減少測試物件中的隱藏缺陷。即使在測試中沒有發現失效,也不能證明其沒有缺陷。

原理2:窮盡測試是不可能的。

考慮所有可能輸入值和它們的組合,並結合所有不同的測試前置條件進行窮盡測試是不可能的。在實際測試過程中,對軟體進行窮盡測試會產生天文數字的測試用例。所以說,每個測試都只是抽樣測試。因此,必須根據風險和優先順序,控制測試工作量。

原理3:測試活動應當盡早開始。

在軟體生命週期中,測試活動應當盡早開始,而且應當聚焦於定義的目標上。這樣可以盡早發現缺陷。

原理4:缺陷集群性。

通常情況下,大多數的缺陷只存在於測試物件的極小部分中。缺陷並不是平均而是集群分布的。因此,如果在乙個地方發現了很多缺陷,那麼通常在附近會有更多的缺陷。在測試中,應當機動靈活地應用這個原理。

原理5:殺蟲劑悖論。

如果同樣的測試用例被一再重複地執行,會減少其有效性。先前沒有發現的缺陷也不會被發現。因此,為了維持測試的有效性,戰勝這種「抗性藥」,應當對測試用例進行不斷修改和更新。這樣軟體中未被測試過的部分或者先前沒有被使用的輸入組合就會重新執行,從而發現更多的缺陷。

原理6:測試依賴於測試內容。

測試必須與應用程式的執行環境和使用中固有的風險相適應。因此,沒有兩個系統可以以完全相同的方式進行測試。對於每個軟體系統,測試出口準則等等應當根據它們使用的環境分別量體定製。安全關鍵系統與電子商務應用程式要求的測試是不同的。

原理7:沒有失效就是有用系統是一種謬論。

找到失效、修正缺陷並不能保證整個系統可以滿足使用者的預期要求和需要。在開發過程中使用者的早期介入和原型系統的使用就是為了避免問題的預防性措施。

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...

Csocket基本原理

我通過幾個採用 csocket 類編寫並基於 client server 客戶端 服務端 的網路聊天和傳輸檔案的程式 在除錯這些程式的過程中,追蹤深入至 csocket 類核心原始碼 sockcore.cpp 對於csocket 類的執行機制可謂是一覽無遺,並且對於阻塞和非阻塞方式下的 socket...