什么是軟件測(cè)試?

軟件測(cè)試是一種檢查實(shí)際軟件產(chǎn)品是否符合預(yù)期并確保軟件系統(tǒng)盡可能少缺陷的活動(dòng) 。 它涉及使用手動(dòng)或自動(dòng)工具執(zhí)行軟件/系統(tǒng)組件,以評(píng)估屬性。軟件測(cè)試的目的是基于需求,找出錯(cuò)誤、差距或缺失的需求。
簡(jiǎn)單來(lái)說(shuō),軟件測(cè)試就是指對(duì)被測(cè)應(yīng)用(Application Under Test AUT)的驗(yàn)證。
為什么軟件測(cè)試很重要?

軟件的BUG可以通過(guò)軟件測(cè)試早期識(shí)別,在軟件產(chǎn)品交付之前解決。經(jīng)過(guò)適當(dāng)測(cè)試的軟件產(chǎn)品可以確保可靠性、安全性和高性能,從而進(jìn)一步節(jié)省時(shí)間,提高成本效益和客戶滿意度。
軟件bug可能是昂貴的,甚至是危險(xiǎn)的。軟件bug有可能造成金錢和人員的損失,歷史上有很多這樣的例子。
2015年4月,倫敦的彭博終端因軟件故障崩潰,影響了金融市場(chǎng)上30多萬(wàn)名交易員。這迫使政府推遲了30億英鎊的債務(wù)出售。
日產(chǎn)汽車因安全氣囊感測(cè)器軟件故障,從市場(chǎng)上召回100多萬(wàn)輛汽車。據(jù)報(bào)道,已經(jīng)有兩起事故是由于這個(gè)軟件故障造成的。
星巴克因POS系統(tǒng)軟件故障,被迫關(guān)閉美國(guó)和加拿大約60%的門店。由于無(wú)法處理交易,一度只能免費(fèi)提供咖啡。
亞馬遜的一些第三方零售商由于軟件故障,產(chǎn)品價(jià)格被降至1便士,損失慘重。
Windows 10的漏洞。這個(gè)漏洞能夠讓用戶通過(guò)win32k系統(tǒng)的漏洞逃出安全沙盒。
2015年,戰(zhàn)斗機(jī)F-35成為軟件漏洞的受害者,使其無(wú)法正確探測(cè)目標(biāo)。
1994年4月26日華航空客A300因軟件BUG墜毀,264名無(wú)辜者現(xiàn)場(chǎng)死亡
1985年,加拿大的Therac-25放射治療機(jī)因軟件bug發(fā)生故障,向患者輸送致命的輻射劑量,造成3人死亡,3人重傷。
1999年4月,軟件bug導(dǎo)致價(jià)值12億美元的軍事衛(wèi)星發(fā)射失敗,這是歷史上代價(jià)最大的事故。
1996年5月,軟件錯(cuò)誤導(dǎo)致美國(guó)一家大銀行823名客戶的銀行賬戶被打入9.2億美元。
軟件測(cè)試的好處。
- 成本效益高。
這是軟件測(cè)試的重要優(yōu)勢(shì)之一。如果在軟件測(cè)試的早期階段捕獲的錯(cuò)誤,可以成本較低的修復(fù)。
- 安全性
人們需要值得信賴的產(chǎn)品。軟件測(cè)試有助于提前消除風(fēng)險(xiǎn)和問(wèn)題。
- 產(chǎn)品質(zhì)量
軟件產(chǎn)品是軟件測(cè)試的基本要求,確保向客戶交付高質(zhì)量的產(chǎn)品。
- 客戶滿意度
UI/UX測(cè)試確保了最佳的用戶體驗(yàn)。
軟件工程測(cè)試
根據(jù)ANSI/IEEE 1059,軟件工程測(cè)試是一個(gè)評(píng)估軟件產(chǎn)品的過(guò)程,以發(fā)現(xiàn)當(dāng)前的軟件產(chǎn)品是否滿足所需條件。測(cè)試過(guò)程基于需求評(píng)估軟件產(chǎn)品的功能,檢查缺陷或錯(cuò)誤、安全性、可靠性和性能方面的要求。
軟件測(cè)試初學(xué)者請(qǐng)先了解ISO25010、IEEE829等重要國(guó)際標(biāo)準(zhǔn),《google測(cè)試之道》是一本很好的入門書(shū)。國(guó)內(nèi)的《軟件評(píng)測(cè)師教程》也是一本比較完整的參考書(shū),但是部分內(nèi)容有點(diǎn)過(guò)時(shí)。
軟件測(cè)試的類型
通常,測(cè)試分為三類。


軟件工程中的重要測(cè)試
- 單元測(cè)試
通常是由程序員來(lái)測(cè)試程序的單元。它可以幫助開(kāi)發(fā)人員了解代碼的各個(gè)單元是否正常工作。
- 集成測(cè)試
它的重點(diǎn)是軟件的構(gòu)造和設(shè)計(jì)。
- 系統(tǒng)測(cè)試
軟件部署后作為一個(gè)整體進(jìn)行測(cè)試。這種測(cè)試策略可以檢查軟件的功能、安全性、可移植性等。