1.軟件測試? 經(jīng)典定義: 軟件測試(Software Testing),在規(guī)定的條件下對程序進(jìn)行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進(jìn)行評估的過程。
標(biāo)準(zhǔn)定義(IEEE): 軟件測試是使用人工或自動的手段來運(yùn)行或測定某個軟件系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。
測試目的: 軟件測試的目的是發(fā)現(xiàn)問題,發(fā)現(xiàn)至今未發(fā)現(xiàn)的問題。檢查系統(tǒng)是否滿足需求。
2.軟件測試的分類:
2.1按階段劃分
單元測試(Unit Testing)
單元測試是對軟件組成單元進(jìn)行測試。其目的是檢驗(yàn)軟件基本組成單位的正確性。測試的對象是軟件設(shè)計的最小單位:模塊。Findyou又稱為模塊測試
測試階段:編碼后
測試對象:最小模塊
測試人員:白盒測試工程師或開發(fā)工程師
測試依據(jù):代碼和注釋+詳細(xì)設(shè)計文檔
測試方法:白盒測試
測試內(nèi)容:模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、路徑測試、錯誤處理測試、邊界測試
集成測試(Integration Testing)
集成測試也稱聯(lián)合測試、組裝測試,將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測的測試工作。阿旺主要目的是檢查軟件單位之間的接口是否正確。
測試階段:一般單元測試之后進(jìn)行
測試對象:模塊間的接口
測試人員:白盒測試工程師或開發(fā)工程師
測試依據(jù):單元測試的模塊+概要設(shè)計文檔
測試方法:黑盒測試與白盒測試相結(jié)合
測試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突、模塊組裝功能正確性、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單模塊缺陷對系統(tǒng)的影響
系統(tǒng)測試(System Testing)
將軟件系統(tǒng)看成是一個系統(tǒng)的測試。包括對功能、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測試。時間大部分在系統(tǒng)測試執(zhí)行階段
測試階段:集成測試通過之后
測試對象:整個系統(tǒng)(軟、硬件)
測試人員:黑盒測試工程師
測試依據(jù):需求規(guī)格說明文檔
測試方法:黑盒測試
測試內(nèi)容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
驗(yàn)收測試(Acceptance Testing)
驗(yàn)收測試是部署軟件之前的最后一個測試操作。它是技術(shù)測試的最后一個階段,也稱為交付測試。阿旺總結(jié)驗(yàn)收測試的目的是確保軟件準(zhǔn)備就緒,按照項(xiàng)目合同、任務(wù)書、雙方約定的驗(yàn)收依據(jù)文檔,向軟件購買都展示該軟件系統(tǒng)滿足原始需求。
測試階段:系統(tǒng)測試通過之后
測試對象:整個系統(tǒng)(包括軟硬件)。
測試人員:主要是最終用戶或者需求方。
測試依據(jù):用戶需求、驗(yàn)收標(biāo)準(zhǔn)
測試方法:黑盒測試
測試內(nèi)容:同系統(tǒng)測試(功能...各類文檔等)
2.2按是否查看代碼劃分
黑盒測試(Black-box Testing)
黑盒測試也稱功能測試,測試中把被測的軟件當(dāng)成一個黑盒子,不關(guān)心盒子的內(nèi)部結(jié)構(gòu)是什么,只關(guān)心軟件的輸入數(shù)據(jù)與輸出數(shù)據(jù)。
白盒測試(White-box Testing)
白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒指的打開盒子,去研究里面的源代碼和程序結(jié)果。
灰盒測試(Gray-Box Testing)
灰盒測試,是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關(guān)注輸出、輸入的正確性,同時也關(guān)注程序內(nèi)部的情況。
2.3按是否執(zhí)行程序劃分 靜態(tài)測試(Static testing)
靜態(tài)方法是指不運(yùn)行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行來找錯。阿旺分析如下
檢查項(xiàng):代碼風(fēng)格和規(guī)則審核;程序設(shè)計和結(jié)構(gòu)的審核;業(yè)務(wù)邏輯的審核;走查、審查與技術(shù)復(fù)審手冊。
靜態(tài)質(zhì)量:度量所依據(jù)的標(biāo)準(zhǔn)是ISO9126。在該標(biāo)準(zhǔn)中,軟件的質(zhì)量用以下幾個方面來衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可維護(hù)性(Maintainability)、可移植性(Portability)。 動態(tài)測試(Dynamic testing)
動態(tài)測試方法是指通過運(yùn)行被測程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等性能。這種方法由三部分組成: 構(gòu)造測試用例、執(zhí)行程序、分析程序的輸出結(jié)果。
|