軟體測試中的測不準原理

來源:互聯網
上載者:User

軟體測試中的測不準原理
1.測不準原理 1927年,德國物理學家海森堡,首先提出了量子力學中的不確定性。即在一個量子力學系統中,一個粒子的位置和它的動量不可被同時確定。這就是著名的測不準原理。 基于海森堡的測不準原理,推廣之,對任何系統,加入了觀測後,必然會對系統產生或多或少的影響。或者說,如果你要觀測一個系統,嚴格意義上說,它就不是原來的系統了。 如何既要對系統進行觀測,又要對系統影響最小? 2.軟體測試方法 軟體的測試方法有黑箱測試和白盒測試。 黑箱測試,這種測試不需要瞭解軟體的內部構造,是從使用者的角度對程式進行的測試,只知道程式的輸入、輸出和系統的功能就可以。包括功能測試、系統測試、極限測試和效能測試。 白盒測試,也稱結構測試、邏輯驅動測試或基於程式本身的測試。測試者需要瞭解待測試程式的內部結構、演算法等資訊,這是從程式設計者的角度對程式進行的測試。 傳統的白盒測試方法: 單步測試方法 也就是用整合式開發環境(IDE,如VC,Eclipse等)進行單步調試,可以在語句級、函數級、對象級進行單步調試。使用JUnit也屬於單步調試的範疇,只是粒度在函數級,屬於單元測試,本質並沒有太大的變化。 這種方法中,代碼並不是“真實”地運行,代碼總是要走走停停,運行一段程式或一條代碼,之後停止下來觀察運行結果。這個測試方法對系統影響很大,不適合系統效能的測試,適合功能級的測試。 日誌測試方法 也就是在關鍵代碼中大量嵌入printf語句,輸出日誌或直接顯示,之後分析日誌。在linux中總是用種方法。這種測試,代碼是在真實地運行,不僅能調試功能,也能測試軟體的效能,但是在代碼中要大量嵌入printf語句,影響了軟體的效能,但這種測試,與單步調試相比,對系統效能影響較小。 在日誌測試方法中,代碼不用停止,代碼在運行到有printf語句的地方會列印日誌,事後我們要分析日誌,以瞭解代碼的健全狀態,如從日誌中可以知道發生了什麼錯誤、程式健全狀態等。這種方法,有點類似飛機的黑盒子,是事後的分析與處理。這是一種被動的對系統的觀測方式。 斷言測試方法 還有一種叫斷言測試方法,也叫基於DBC的測試,程式員對函數或變數進行預測,並插入Assert 陳述式來判斷是否符合你的預測,但要加入大量的Assert 陳述式,斷言的輸出可以顯示或記入日誌中。這是一種主動的對系統的觀測方法。可以測試軟體系統的效能。 3.QS測試方法 QP(Quantum Platform量子平台)【1】中的QS(Quantum Spy)是斷言方法和日誌方法兩者的結合。 QS測試方法是,在目標板中進行事件記錄,記錄內容放到RAM中緩衝,之後,在目標板程式啟動並執行空閑時間,通過串口或UDP協議,把RAM緩衝的內容傳送到上位機(PC機) ,上位機事後對事件進行分析,檢查程式的運行正確與否。QS把記錄事件與傳送事件分離,並且,傳送的資料是壓縮格式的。 QS的軟體測試方法不用單步調試方法,也不用printf語句,但嚴格地說它是屬於斷言測試和日誌測試兩者的結合,需要在關鍵區段嵌入測試代碼宏,但是QS實現的測試結構性更好,不像printf語句那麼零碎和任意放置。 QS是基於QP架構的,在關鍵代碼中加入測試代碼模組,對事件的監測是動態可變的,可以通過兩層事件過濾機制對需要監測的事件進行動態變更,屏蔽不需要觀測的事件。 新版的QS加入了事件注入機制,可以主動發起特定的事件,觀測系統對這個事件的反應結果。這是一種主動的測試方式,對系統影響也比較小。 QS不僅可以測試程式的功能,而且能很好地測試程式的效能,很好地實現了對系統進行測試,並對系統影響最小。

聯繫我們

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