總聽人說軟件測試怎樣怎樣。

可是,軟件測試到底是個啥玩意兒?

軟件測試

 

正所謂“知己知彼,百戰不殆”。

就算準備轉行軟件測試,那也得搞清楚軟件測試到底是啥意思對吧?

 

首先,我們打開百度搜索:“軟件測試”。

 

軟件測試(英語:Software Testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出之間的審核或者比較過程。

 

軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。

 

看完這段話,相信很多人都是似懂非懂地“哦”了一聲。更別說還有人根本都沒有看完。

軟件測試到底是個啥?

 

用一句話來概括:

軟件測試,就是在測試這個軟件是不是能夠完全按照我們希望的樣子運行。

 

再簡單點說就是:找BUG。

 

道理我都懂,但是,這個BUG該怎么找呢?

那方法可是太多了。

 

按照測試過程中程序執行狀態可以分為靜態測試和動態測試

 

靜態測試只依靠分析或檢查源程序的語句、結構、過程等來檢查程序是否有錯誤。

 

翻譯一下就是:程序不運行,看看面相哪里有毛病。

軟件測試到底是個啥?

 

動態測試則是通過運行被測試程序,對得到的運行結果與預期的結果進行比較分析,同時分析運行效率和健壯性等。

 

翻譯一下就是:沒病走兩步兒?

軟件測試到底是個啥?

 

而根據具體實現算法細節和系統內部結構的相關情況則分為黑盒測試、白盒測試和灰盒測試。

 

黑盒測試,就是將被測程序當成一個無法打開的黑盒子,測試人員在不考慮內部結構和特性的條件下,檢查程序功能是否能夠按照規范說明準確無誤地運行。

 

簡單來講就是:這是一道填空題,只看結果,不看過程。

 

白盒測試,與黑盒測試相對,主要是借助程序內部的邏輯和相關信息,通過檢測內部動作是否按照設計規格說明書的設定進行,檢查每一條通路是否能夠正常工作。

 

白盒測試更看重程序內部的表現,這道題是要看過程給分的。

 

軟件測試到底是個啥?

 

 

灰盒測試,介于黑盒測試和白盒測試之間,不光重視輸出內容的正確性,也關注內部表現。當然灰盒測試不像白盒測試那樣詳細完整,只需要通過象征性的現象或標志判斷內部的運行情況。

 

這道題就是看關鍵詞和要點給分了。

 

除了以上兩種分類方式,還有一種按照程序執行方式的劃分:手動測試和自動化測試。

 

這個想必就不用多做解釋了。手動測試就是設計好測試用例,然后按照測試用例一步步執行,然后對比結果,耗時耗力。自動化測試就方便多了,在預先設定的條件下運行程序,分析結果,一氣呵成。

當然,目前很多軟件測試工作還達不到自動化測試的程度,就算使用自動化測試也不能完全放棄手動測試。

 

好的,這些東西都清楚了,又該怎么學習軟件測試呢?

 

按部就班來看就是,學習測試基礎(重中之重)、腳本語言(比如Python)、軟件測試工具、計算機硬件知識數據庫測試,然后就是正式踏入軟件測試之前的最后一步——項目實戰

 

看起來,說起來,軟件測試似乎都不是很難。

然而現階段,我國軟件測試基礎人才的缺口還是非常非常大的。

所以,有興趣的小伙伴們不妨來試試~