目前,軟件測試已經(jīng)形成一個完整的、體系龐大的學(xué)科,不同的測試領(lǐng)域都有不同的測試方法、技術(shù)與名稱,有很多讀者可能也聽過類似的黑盒測試、白盒測試、冒煙測試、單元測試等,其實(shí)它們是按照不同的分類方法而產(chǎn)生的測試名稱。按照不同的分類標(biāo)準(zhǔn),可以將軟件測試分為很多不同的種類,下面我們詳細(xì)介紹這些軟件測試行業(yè)的專業(yè)名詞。
按照測試階段可以將軟件測試分為單元測試、冒煙測試、集成測試、系統(tǒng)測試與驗(yàn)收測試。這種分類方式與軟件開發(fā)過程相契合,是為了檢驗(yàn)軟件開發(fā)各個階段是否符合要求。
(1)?單元測試
單元測試是軟件開發(fā)的第一步測試,目的是為了驗(yàn)證軟件單元是否符合軟件需求與設(shè)計(jì)。單元測試大多是開發(fā)人員進(jìn)行的自測。
(2)?冒煙測試
冒煙測試最初是從電路板測試得來的,當(dāng)電路板做好以后,首先會加電測試,如果電路板沒有冒煙再進(jìn)行其他測試,否則就必須重新設(shè)計(jì)后再次測試。后來這種測試?yán)砟畋灰氲杰浖y試中。在軟件測試中,冒煙測試是指軟件構(gòu)建版本建立后,對系統(tǒng)的基本功能進(jìn)行簡單的測試,這種測試重點(diǎn)驗(yàn)證的是程序的主要功能,而不會對具體功能進(jìn)行深入測試。如果測試未通過,需要返回給開發(fā)人員進(jìn)行修正;如果測試通過則再進(jìn)行其他測試。因此,冒煙測試是對新構(gòu)建版本軟件進(jìn)行的最基本測試。
(3)?集成測試
集成測試是冒煙測試之后進(jìn)行的測試,它是將已經(jīng)測試過的軟件單元組合在一起測試它們之間的接口,用于驗(yàn)證軟件是否滿足設(shè)計(jì)需求。
(4)?系統(tǒng)測試
系統(tǒng)測試是將經(jīng)過測試的軟件在實(shí)際環(huán)境中運(yùn)行,并與其他系統(tǒng)的成分(如數(shù)據(jù)庫、硬件和操作人員等)組合在一起進(jìn)行的測試。
(5)?驗(yàn)收測試
驗(yàn)收測試主要是對軟件產(chǎn)品說明進(jìn)行驗(yàn)證,逐行逐字地按照說明書的描述對軟件產(chǎn)品進(jìn)行測試,確保其符合客戶的各項(xiàng)要求。
按照使用的測試技術(shù)可以將軟件測試分為黑盒測試與白盒測試。
(1)黑盒測試
黑盒測試就是把軟件(程序)當(dāng)作一個有輸入與輸出的黑匣子,它把程序當(dāng)作一個輸入域到輸出域的映射,只要輸入的數(shù)據(jù)能輸出預(yù)期的結(jié)果即可,不必關(guān)心程序內(nèi)部是怎么樣實(shí)現(xiàn)的,下圖所示。
(2)白盒測試
白盒測試又叫透明盒測試,它是指測試人員了解軟件程序的邏輯結(jié)構(gòu)、路徑與運(yùn)行過程,在測試時(shí),按照程序的執(zhí)行路徑得出結(jié)果。白盒測試就是把軟件(程序)當(dāng)作一個透明的盒子,測試人員清楚地知道從輸入到輸出的每一步過程,如下圖所示。
?
相對于黑盒測試來說,白盒測試對測試人員的要求會更高一點(diǎn),他要求測試人員具有一定的編程能力,而且要熟悉各種腳本語言。但是在軟件公司里,黑盒測試與白盒測試并不是界限分明的,在測試一款軟件時(shí)往往是黑盒測試與白盒測試相結(jié)合對軟件進(jìn)行完整全面的測試。
按照軟件質(zhì)量特性可以將軟件測試分為功能測試與性能測試。
(1)功能測試
功能測試就是測試軟件的功能是否滿足客戶的需求,包括準(zhǔn)確性、易用性、適合性、互操作性等。
(2)性能測試
性能測試就是測試軟件的性能是否滿足客戶的需求,性能測試包括負(fù)載測試、壓力測試、兼容性測試、可移植性測試和健壯性測試。
按照自動化程度可以將軟件測試分為手工測試與自動化測試。
(1)手工測試
手工測試是測試人員一條一條地執(zhí)行代碼完成測試工作。手工測試比較耗時(shí)費(fèi)力,而且測試人員如果是在疲憊狀態(tài)下,則很難保證測試的效果。
(2)自動化測試
自動化測試是借助腳本、自動化測試工具等完成相應(yīng)的測試工作,它也需要人工的參與,但是它可以將要執(zhí)行的測試代碼或流程寫成腳本,執(zhí)行腳本完成整個測試工作。
軟件測試類型有多種,包括界面類測試、功能測試、性能測試、安全性測試、文檔測試等,其中功能測試與性能測試前面已經(jīng)介紹,下面主要介紹其他幾種測試。
(1)界面類測試
界面類測試是驗(yàn)證軟件界面是否符合客戶需求,包括界面布局是否美觀、按鈕是否齊全等。
(2)安全性測試
安全性測試是測試軟件在沒有授權(quán)的內(nèi)部或外部用戶的攻擊或惡意破壞時(shí)如何進(jìn)行處理,是否能保證軟件與數(shù)據(jù)的安全。
(3)文檔測試
文檔測試以需求分析、軟件設(shè)計(jì)、用戶手冊、安裝手冊為主,主要驗(yàn)證文檔說明與實(shí)際軟件之間是否存在差異。
還有一些軟件測試無法具體歸到哪一類,但在測試行業(yè)中也會經(jīng)常進(jìn)行這些測試,如α測試、β測試、回歸測試等,具體介紹如下。
(1) α測試
α測試是指對軟件最初版本進(jìn)行測試。軟件最初版本一般不對外發(fā)布,在上線之前,由開發(fā)人員和測試人員或者用戶協(xié)助進(jìn)行測試。測試人員記錄使用過程中出現(xiàn)的錯誤與問題整個測試過程是可控的。
(2) β測試
β測試是指對上線之后的軟件版本進(jìn)行測試,此時(shí)軟件已上線發(fā)布,但發(fā)布的版本中可能會存在較輕微的Bug,由用戶在使用過程中發(fā)現(xiàn)錯誤與問題并進(jìn)行記錄,然后反饋給開發(fā)人員進(jìn)行修復(fù)。
(3)回歸測試
當(dāng)測試人員發(fā)現(xiàn)缺陷以后,會將缺陷提交給開發(fā)人員,開發(fā)人員對程序進(jìn)行修改,修改之后,測試人員會對修改后的程序重新進(jìn)行測試,確認(rèn)原有的缺陷已經(jīng)消除并且沒有引入新的缺陷,這個重新測試的過程就叫作回歸測試?;貧w測試是軟件測試工作中非常重要的一部分,軟件開發(fā)的各個階段都會進(jìn)行多次回歸測試。
(4)隨機(jī)測試
隨機(jī)測試是沒有測試用例、檢查列表、腳本或指令的測試,它主要是根據(jù)測試人員的經(jīng)驗(yàn)對軟件進(jìn)行功能和性能抽查。隨機(jī)測試是根據(jù)測試用例說明書執(zhí)行測試用例的重要補(bǔ)充手段,是保證測試覆蓋完整性的有效方式和過程。
以上就是小編今天為大家分享的關(guān)于“軟件測試分類可分為什么”的文章,希望本篇文章能夠幫到你。云和數(shù)據(jù)?ICT?職業(yè)教育發(fā)揮公司產(chǎn)業(yè)化優(yōu)勢與技術(shù)積淀,整合國內(nèi)外優(yōu)秀師資,累計(jì)自主研發(fā)?230?余項(xiàng)教輔、教材,300?余?項(xiàng)實(shí)踐教學(xué)案例與實(shí)訓(xùn)平臺,采用六位一體項(xiàng)目制教學(xué)模式,年?培養(yǎng)高端?ICT?技術(shù)人才超?10000?人,累計(jì)為企業(yè)輸送高端泛?ICT?技術(shù)人才超?9?萬人,學(xué)員?60%來自于口碑推薦。如果你對目前的生活狀態(tài)不滿意,想提升技能,可以點(diǎn)擊咨詢按鈕獲得幫助。