軟件測試基礎(chǔ)筆記一 軟件測試基本概念

第一章 軟件測試的基本概念

(本章是對于mooc上課程的筆記基于個人理解的總結(jié))

1.1 軟件測試基礎(chǔ)

(此小節(jié)了解即可 指數(shù) *)

1.1.1軟件測試的定義

定義1:在特定條件下運行系統(tǒng)或構(gòu)件,觀察或記錄結(jié)果,對系統(tǒng)的某方面做出評價。

定義2:分析某個軟件項以發(fā)現(xiàn)和現(xiàn)存的和要求的條件之差別并評價此軟件項的特征。

即:軟件測試=評錯+度量

1.1.2軟件測試特征

  • 可以從需求開始,而不僅僅是代碼。

  • 既是靜態(tài)活動也是動態(tài)活動。

  • 用來預(yù)防失效。

  • 有助于在軟件生命周期中盡早發(fā)現(xiàn)問題,降低修復(fù)缺陷所需的成本。

  • 創(chuàng)建可重用的測試件。

1.1.3 軟件測試的目的:

  • 以最少人力、物力、時間找出軟件中錯誤和缺陷,通過修正提高軟件質(zhì)量回避風(fēng)險。

  • 通過分析測試過程可以發(fā)現(xiàn)當(dāng)前開發(fā)所采用的軟件過程的缺陷,修正軟件開發(fā)規(guī)則。

  • 對軟件質(zhì)量進(jìn)行度量和評估。(軟件測試的目的是工程性的)

1.1.4 軟件測試的一些關(guān)鍵問題

  • 軟件測試證偽而非證真

  • 今早和不斷地進(jìn)行軟件測試

  • 重視無效數(shù)據(jù)和非預(yù)期使用習(xí)慣的測試

  • 避免檢查自己的程序

  • 充分注意測試中的群集現(xiàn)象

  • 用例要定期評審(用例:一組測試輸入、執(zhí)行條件以級預(yù)期結(jié)果)

  • 應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查

  • 測試現(xiàn)場保護(hù)和資料歸檔

  • 經(jīng)濟(jì)性原則

1.2 軟件測試的分類

(此小節(jié)要大概知道每種測試是什么 指數(shù)**)

1.按開發(fā)過程分類

單元測試:在編譯通過后由白盒工程師或開發(fā)工程師依據(jù)源程序和詳細(xì)設(shè)計文檔進(jìn)行測試。主要用白盒測試,先靜態(tài)檢查代碼是否符合規(guī)范,然后動態(tài)運行代碼,檢查其實際運行結(jié)果,關(guān)注容錯處理和邊界值等問題。

集成測試:由白盒工程師或開發(fā)工程師依據(jù)源程序和概要設(shè)計文檔測試。主要測試個單元測試模塊之間的接口。

系統(tǒng)測試:對軟件系統(tǒng)的功能、性能以及軟件所運行的軟硬件環(huán)境進(jìn)行整體測試,主要由黑盒工程師在系統(tǒng)集成完畢后進(jìn)行測試。前期主要滿足功能后期主要滿足性能以及兼容性。

驗收測試:按項目任務(wù)合同書等對整個系統(tǒng)進(jìn)行測試與評審,由以用戶為主的測試人員或質(zhì)量保證人員參與覺得是否接受或拒收系統(tǒng)。包括α測試(用戶、開發(fā)測試人員共同參與)和β測試(內(nèi)測后完全交給用戶公測)。

2.按是否運行進(jìn)行分類

靜態(tài)測試:是指不是及運行被測軟件,而只是靜態(tài)地檢查程序代碼、界面或文檔中可能存在的錯誤過程。

動態(tài)測試:運行程序,輸入相應(yīng)的測試數(shù)據(jù)檢查是否符合預(yù)期。

3.按是否查看代碼分類:

黑盒測試:不關(guān)心是什么,只關(guān)心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。

白盒測試:研究代碼和程序結(jié)構(gòu)。包括:

  • 功能測試:檢查實際軟件功能是否符合用戶需求。

    • 邏輯功能測試

    • 界面測試

    • 易用性測試

    • 安裝測試

    • 兼容性測試

  • 性能測試:比較高級,后面介紹。

    • 壓力測試

    • 負(fù)載測試

    • 一般性測試

    • 穩(wěn)定性測試

4.其他分類

回歸測試:軟件修改后重新進(jìn)行的測試。(降級bug:修改原來的bug后帶來的bug)

冒煙測試:大規(guī)模測試前先驗證下基本功能是否實現(xiàn),是夠具備可測試性。(如果基本功能都實現(xiàn)不了大規(guī)模測試意義不大)。

隨機(jī)測試:隨機(jī)輸入數(shù)據(jù)模擬用戶操作。

1.3 軟件缺陷管理

(此小節(jié)了解 指數(shù) *)

目的:確保每個發(fā)現(xiàn)的缺陷都可以得到解決。

軟件缺陷定義:

  • 軟件未達(dá)到說明書中表明的功能

  • 軟件出現(xiàn)了產(chǎn)品說明書中指明不會出現(xiàn)的功能

  • 軟件功能超出產(chǎn)品說明書中指明的范圍

  • 軟件未達(dá)到茶品說明書中指明應(yīng)達(dá)到的目標(biāo)。

  • 軟件測試人員或用戶認(rèn)為難以理解和使用、運行慢或不好

軟件缺陷單通常包括:


image-20211227114310129.png

軟件缺陷嚴(yán)重程度:


image-20211227114522431.png

軟件缺陷的類別:
image-20211227114806106.png

軟件缺陷生命周期(這個可以多了解一點):


image-20211227120405955.png

1.4 軟件質(zhì)量特性與軟件測試特性

(此小節(jié)了解 指數(shù) *)

1.4.1 軟件質(zhì)量特性

靜態(tài)質(zhì)量特性:包括結(jié)構(gòu)化的、可維護(hù)的、可測試的代碼以及正確而又完整的文檔。

動態(tài)質(zhì)量特性:包括正確性、可靠性、完整性、一致性、易用性、性能等。

正確性:軟件輸入域(所有可能輸入的集合)種每個元素都能得到預(yù)期結(jié)果。

正確性是一個良好的愿望,但不是軟件測試的目標(biāo)

可靠性:給定時間間隔和條件 下無故障運行概率。

1.4.2 軟件的測試特性

測試的復(fù)雜性:

黑盒測試的復(fù)雜性:輸入量太大、輸出結(jié)果太多、軟件實現(xiàn)途徑太多、軟件規(guī)格說明沒有一個客觀標(biāo)準(zhǔn)。

白盒測試的復(fù)雜性:如途徑窮舉測試,十分復(fù)雜。

測試的經(jīng)濟(jì)性:要經(jīng)濟(jì)合理.

1.5 軟件測試充分性與停止分析

1.5.1 軟件測試的充分性:充分性是用來度量一個給定的測試集T是否能驗證軟件P滿足其需求R。充分性度量是相對于具體的測試充分性準(zhǔn)則C的。

覆蓋域:對于每一個測試準(zhǔn)則C,我們都可以得到一個有限集(測試需求或軟件代碼),稱之為覆蓋域Ce。

如果覆蓋域Ce僅依賴于被測軟件的代碼,則稱準(zhǔn)則Ce為一個白盒測試充分性準(zhǔn)則

如果覆蓋域Ce僅依賴于被測軟件的需求,則稱準(zhǔn)則C是一個黑盒測試的充分性準(zhǔn)則。

其他的測試充分性準(zhǔn)則都是二者的混合

測試覆蓋率:執(zhí)行測試集,覆蓋域中被滿足需求所占比例。

測試充分性準(zhǔn)則C2

如果軟件P中的每一條路徑都被遍歷至少一次,則認(rèn)為測試集T針對(P,R)是充分的。

1.5.2軟件測試終止準(zhǔn)則

1.基于測試階段的原則:每個測試階段制定具體的測試結(jié)束標(biāo)準(zhǔn)。

2.基于測試用例的原則:測試用例經(jīng)過評審后可以作為測試結(jié)束的參考標(biāo)準(zhǔn)。

3.基于缺陷收斂趨勢及缺陷修復(fù)率原則:通過缺陷的趨勢圖走向來判斷測試是否可以結(jié)束。

4.基于驗收測試的原則:被驗收就結(jié)束。

5.基于覆蓋率的原則:達(dá)到一定覆蓋率即可。

6.軟件項目終止,測試終止。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容