軟件測(cè)試的概念梳理

  1. 定義
    軟件 不等于 編程,具有自己的生命周期,測(cè)試是其中重要的部分,充分的測(cè)試才能保證軟件的質(zhì)量。
    測(cè)試是為了找出軟件缺陷(Bug)并進(jìn)行修復(fù)(Fix),以保障軟件的質(zhì)量滿足用戶的需求。
    一個(gè)好的測(cè)試可以①在第一時(shí)間發(fā)現(xiàn)程序中存在的錯(cuò)誤,②發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤
  • 產(chǎn)品質(zhì)量
    功能性 Functionality
    可用性 Usability
    可靠性 Reliability
    性能 Performance
    容量 Capacity
    可測(cè)量性 Scalability
    可維護(hù)性 Service manageability
    兼容性 Compatibility
    可擴(kuò)展性 Extensibility

  • 軟件缺陷:軟件和產(chǎn)品設(shè)計(jì)書(shū)(原型)的不一致,不能滿足用戶的需求,在IEEE(1983)729的標(biāo)準(zhǔn)定義:①?gòu)漠a(chǎn)品內(nèi)部:軟件產(chǎn)品開(kāi)發(fā) 或維護(hù)過(guò)程匯中所存在的錯(cuò)誤、毛病等各種問(wèn)題,②從外部:系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。

軟件缺陷(Bug)
缺點(diǎn)(defect) 偏差(variance) 謬誤(fault) 失?。╢ailture) 問(wèn)題(problem)
矛盾(inconsistency) 錯(cuò)誤(error) 毛?。╥ncident) 異常(anomy)
主要類型/現(xiàn)象
功能、特性沒(méi)有實(shí)現(xiàn)或部分實(shí)現(xiàn)
設(shè)計(jì)不合理,存在缺陷
實(shí)際結(jié)果和預(yù)期結(jié)果不一致
運(yùn)行出錯(cuò),包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂
數(shù)據(jù)結(jié)果不正確、精度不夠
用戶不能接受的其他問(wèn)題,如存取時(shí)間過(guò)長(zhǎng)、界面不美觀
原因的分類
技術(shù)問(wèn)題 算法錯(cuò)誤,語(yǔ)法錯(cuò)誤,計(jì)算和精度問(wèn)題,接口參數(shù)傳遞不匹配
團(tuán)隊(duì)工作 誤解、溝通不充分
軟件本身 文檔錯(cuò)誤、用戶使用場(chǎng)合(user scenario)
時(shí)間上不協(xié)調(diào)、或不一致性所帶來(lái)的問(wèn)題
系統(tǒng)的自我恢復(fù)或數(shù)據(jù)的異地備份、災(zāi)難性恢復(fù)等問(wèn)題
產(chǎn)生的階段 成本(100分)
需求 1
設(shè)計(jì) 5
編碼 10
單元測(cè)試 40
測(cè)試 50
發(fā)布 100
  1. 軟件測(cè)試的方法

1)按關(guān)聯(lián)內(nèi)部結(jié)構(gòu)分類

  • 白盒測(cè)試(結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試)
    按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu),設(shè)計(jì)測(cè)試數(shù)據(jù)并完成測(cè)試
  • 黑盒測(cè)試(數(shù)據(jù)驅(qū)動(dòng)測(cè)試)
    把測(cè)試對(duì)象當(dāng)做看不見(jiàn)的黑盒,完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程,依據(jù)功能的需求規(guī)范,確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性,在使用軟件的角度,從輸入數(shù)據(jù)和輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系進(jìn)行測(cè)試
  • 灰盒測(cè)試
    結(jié)合“白盒測(cè)試”和“黑盒測(cè)試”,基于程序運(yùn)行時(shí)的外部表現(xiàn)又結(jié)合內(nèi)部邏輯結(jié)構(gòu)設(shè)計(jì)用例,執(zhí)行程序并采集路徑執(zhí)行信息和外部用戶接口結(jié)果。

2)按是否執(zhí)行代碼分類

  • 靜態(tài)測(cè)試
    不運(yùn)行被測(cè)程序,僅通過(guò)分析或檢查源程序的語(yǔ)法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。
  • 動(dòng)態(tài)測(cè)試
    運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果和預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能指標(biāo)。

3)從開(kāi)發(fā)過(guò)程分類


測(cè)試階段.png
  • 單元測(cè)試(模塊測(cè)試)
    測(cè)試對(duì)象:模塊或組件(程序系統(tǒng)中的最小單元)
    階段:編碼階段,由編程人員和測(cè)試人員共同完成
    目的:①檢查程序模塊或組件的以實(shí)現(xiàn)功能與定義的功能是否一致,②編碼中是否存在錯(cuò)誤。
    方法:主要是白盒測(cè)試方法,從程序內(nèi)部結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立測(cè)試,編寫(xiě)驅(qū)動(dòng)模塊和樁模塊。

  • 集成測(cè)試(也稱組裝測(cè)試、聯(lián)合測(cè)試、子系統(tǒng)測(cè)試)
    測(cè)試對(duì)象:?jiǎn)卧獪y(cè)試的多級(jí)擴(kuò)展,按照設(shè)計(jì)要求組裝集成模塊
    目的:檢查單元之間的接口關(guān)系,發(fā)現(xiàn)單元接口之間存在的問(wèn)題,最終把經(jīng)過(guò)測(cè)試的單元組成符合設(shè)計(jì)要求的軟件。
    方法:一次性集成方式,增殖式集成方式

  • 功能測(cè)試
    測(cè)試對(duì)象:完成集成測(cè)試后的應(yīng)用系統(tǒng)
    目的:從用戶角度來(lái)進(jìn)行功能驗(yàn)證,以確認(rèn)每個(gè)功能是否能正常使用

  • 系統(tǒng)測(cè)試(包括:恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試、性能測(cè)試)
    測(cè)試對(duì)象:將集成好的軟件系統(tǒng),作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、人員、數(shù)據(jù)等其他系統(tǒng)結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試
    目的:判斷系統(tǒng)是否符合要求
    類型:
    (1)功能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)中的功能需求逐項(xiàng)測(cè)試
    (2)性能測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)中的功能需求逐項(xiàng)測(cè)試
    (3)接口測(cè)試:對(duì)軟件需求規(guī)格說(shuō)明書(shū)中的接口需求逐項(xiàng)測(cè)試
    (4)人機(jī)交互界面測(cè)試:對(duì)所有人機(jī)交互界面提供的操作和顯示界面進(jìn)行測(cè)試
    (5)強(qiáng)度測(cè)試:強(qiáng)制軟件運(yùn)行在異常乃至發(fā)生故障的情況下(超出軟件極限),檢查軟件可以運(yùn)行的程度。
    (6)余量測(cè)試:對(duì)軟件是否達(dá)到規(guī)格說(shuō)明中要求的余量測(cè)試
    (7)安全性測(cè)試:檢驗(yàn)軟件中已存在的安全性、安全保密性措施是否有效
    (8)可靠性測(cè)試:在真實(shí)的或仿真的環(huán)境中,為做出軟件可靠性估計(jì)而對(duì)軟件進(jìn)行的功能測(cè)試(其輸入覆蓋和環(huán)境覆蓋一般大于普通的功能測(cè)試
    (9)恢復(fù)性測(cè)試:對(duì)有恢復(fù)或重置功能的軟件的每一類導(dǎo)致恢復(fù)或重置的情況,逐一進(jìn)行的測(cè)試
    (10)邊界測(cè)試:對(duì)軟件處在邊界或端點(diǎn)情況下運(yùn)行狀態(tài)的測(cè)試
    (11)數(shù)據(jù)處理測(cè)試:對(duì)完成專門(mén)數(shù)據(jù)處理功能所進(jìn)行的測(cè)試
    (12)安裝性測(cè)試:對(duì)安裝過(guò)程是否符合安裝規(guī)程的測(cè)試,以發(fā)現(xiàn)安裝過(guò)程中的錯(cuò)誤
    (13)容量測(cè)試:檢驗(yàn)軟件的能力最高能達(dá)到什么程度的測(cè)試
    (14)互操作性測(cè)試:為驗(yàn)證不同軟件之間的互操作能力而進(jìn)行的測(cè)試
    (15)敏感性測(cè)試:為發(fā)現(xiàn)有效輸入中可能引起某種不穩(wěn)定性或不正常處理的數(shù)據(jù)組合
    (16)標(biāo)準(zhǔn)符合性測(cè)試:驗(yàn)證軟件與相關(guān)國(guó)家標(biāo)準(zhǔn)或規(guī)范(如軍用標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)及國(guó)際標(biāo)準(zhǔn))一致性的測(cè)試
    (17)兼容性測(cè)試:驗(yàn)證軟件在規(guī)定條件下與若干個(gè)實(shí)體共同使用或?qū)崿F(xiàn)數(shù)據(jù)格式轉(zhuǎn)換時(shí)能滿足有關(guān)要求能力的測(cè)試
    (18)中文本地化測(cè)試:驗(yàn)證軟件在不降低原有能力的條件下,處理中文能力的測(cè)試

  • 驗(yàn)收測(cè)試
    以用戶為主的測(cè)試,軟件開(kāi)發(fā)人員和質(zhì)量保證人員參加,由用戶設(shè)計(jì)測(cè)試用例。不是對(duì)系統(tǒng)進(jìn)行全覆蓋測(cè)試,而是對(duì)核心業(yè)務(wù)流程進(jìn)行測(cè)試。

  • 安裝測(cè)試
    測(cè)試對(duì)象:已打包軟件
    目的:驗(yàn)證軟件的安裝
    方法:按照軟件產(chǎn)品安裝手冊(cè)或相應(yīng)的文檔,在一個(gè)和用戶使用該產(chǎn)品完全一樣的環(huán)境中或相當(dāng)于用戶使用環(huán)境中,進(jìn)行一步一步的安裝操作性的測(cè)試

  • 回歸測(cè)試
    測(cè)試對(duì)象:已上線的軟件。
    目的:檢測(cè)在維護(hù)階段中,代碼修改而引入的錯(cuò)誤
    方法:根據(jù)代碼的修改情況對(duì)已有測(cè)試用例集進(jìn)行有效的復(fù)用,涉及自動(dòng)化工具,面向?qū)ο蠡貧w測(cè)試,測(cè)試用例優(yōu)先級(jí),回歸測(cè)試用例補(bǔ)充生成等

4)按是否人工干預(yù)分類

  • 手工測(cè)試
    測(cè)試人員按照事先為覆蓋被測(cè)軟件需求而編寫(xiě)的測(cè)試用例,根據(jù)測(cè)試大綱中所描述的測(cè)試步驟和方法,手工地一個(gè)一個(gè)地輸 入執(zhí)行,包括與被測(cè)軟件進(jìn)行交互(如輸入測(cè)試數(shù)據(jù)、記錄測(cè)試結(jié)果等),然后觀察測(cè)試結(jié)果,看被測(cè)程序是否存在問(wèn)題,或在執(zhí)行過(guò)程中是否會(huì)有異常發(fā)生,屬于比較原始但是必須執(zhí)行的一個(gè)步驟
  • 自動(dòng)化測(cè)試
    將大量的重復(fù)性的測(cè)試工作交給計(jì)算機(jī)去完成,通常是使用自動(dòng)化測(cè)試工具來(lái)模擬手動(dòng)測(cè)試步驟,執(zhí)行用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě)的過(guò)程(全自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過(guò)程中,不需要人工干預(yù),由程序自動(dòng)完成測(cè)試的全過(guò)程;半自動(dòng)測(cè)試就是指在自動(dòng)測(cè)試過(guò)程中,需要手動(dòng)輸入測(cè)試用例或選擇測(cè)試路徑,再由自動(dòng)測(cè)試程序按照人工指定的要求完成自動(dòng)測(cè)試)

5)從實(shí)施組織分類

  • 開(kāi)發(fā)測(cè)試:開(kāi)發(fā)中進(jìn)行的測(cè)試(編程人員或測(cè)試人員完成)
  • 用戶測(cè)試:用戶方進(jìn)行的測(cè)試
  • 第三方測(cè)試:專業(yè)的第三方承擔(dān)的測(cè)試,以保證測(cè)試工作的客觀性

6)從測(cè)試環(huán)境分類

  • 阿爾法(Alpha)測(cè)試:一個(gè)用戶在開(kāi)發(fā)環(huán)境下,或公司內(nèi)部用戶在模擬實(shí)際操作環(huán)境下 進(jìn)行的測(cè)試
  • 貝塔(Beta)測(cè)試:用戶組織各方面的典型終端用戶在日常工作日實(shí)際使用貝塔版本,并要求用戶報(bào)告。

7)其他分類

  • 冒煙測(cè)試
    冒煙測(cè)試的對(duì)象是新編譯的每一個(gè)需要正式測(cè)試的軟件版本,測(cè)試系統(tǒng)的主流程是否可用
    ,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測(cè)試工作。冒煙測(cè)試的執(zhí)行者是版本編譯人員。

  • 隨機(jī)測(cè)試
    隨機(jī)測(cè)試沒(méi)有書(shū)面測(cè)試用例、記錄期望結(jié)果、檢查列表、腳本或指令,主要依靠測(cè)試員的經(jīng)驗(yàn),
    對(duì)軟件的一些重要功能進(jìn)行復(fù)測(cè),也包括測(cè)試那些當(dāng)前的測(cè)試樣例(TestCase)沒(méi)有覆蓋到的部分。

  1. 軟件測(cè)試的步驟
階段 內(nèi)容
需求分析階段 閱讀需求,理解需求,主要就是對(duì)業(yè)務(wù)的學(xué)習(xí),分析需求點(diǎn),參與需求評(píng)審會(huì)議
計(jì)劃階段 執(zhí)行測(cè)試計(jì)劃:測(cè)試范圍,測(cè)試策略,風(fēng)險(xiǎn)評(píng)估、規(guī)避措施、進(jìn)入安排
設(shè)計(jì)階段 編寫(xiě)測(cè)試用例:可參考原型圖、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等文檔,并評(píng)審用例
執(zhí)行階段 搭建環(huán)境,執(zhí)行冒煙測(cè)試(預(yù)測(cè)試),然后正式測(cè)試,bug管理,反饋開(kāi)發(fā)修復(fù)直到測(cè)試結(jié)束
評(píng)估階段 輸出測(cè)試報(bào)告,確認(rèn)是否上線
開(kāi)發(fā)測(cè)試流程.png

參考資料:
https://blog.csdn.net/qq_33642117/article/details/73603365
https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/327953
https://www.cnblogs.com/shashe/p/8685799.html

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

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