- 第一章 軟件測(cè)試概述
- 第二章 軟件測(cè)試基本知識(shí)
- 第三章 黑盒測(cè)試
- 第四章 白盒測(cè)試
- 第五章 軟件測(cè)試流程
- 第六章 性能測(cè)試
- 第七章 自動(dòng)化測(cè)試
- Android自動(dòng)化測(cè)試技術(shù)——Espresso的使用
- 各種測(cè)試技術(shù)的區(qū)別
軟件測(cè)試流程
軟件測(cè)試流程如下:
- 測(cè)試計(jì)劃
- 測(cè)試設(shè)計(jì)
- 測(cè)試執(zhí)行
- 單元測(cè)試
- 集成測(cè)試
- 確認(rèn)測(cè)試
- 系統(tǒng)測(cè)試
- 驗(yàn)收測(cè)試
- 回歸測(cè)試
- 驗(yàn)證活動(dòng)
測(cè)試計(jì)劃
測(cè)試計(jì)劃由測(cè)試負(fù)責(zé)人來(lái)編寫(xiě)懂鸵,用于確定各個(gè)測(cè)試階段的目標(biāo)和策略罢猪。這個(gè)過(guò)程將輸出測(cè)試計(jì)劃,明確要完成的測(cè)試活動(dòng),評(píng)估完成活動(dòng)所需的額時(shí)間和資源章鲤,進(jìn)行活動(dòng)的安排和資源分配辞居。
測(cè)試依據(jù)主要是項(xiàng)目開(kāi)發(fā)計(jì)劃和測(cè)試需求分析結(jié)果而制定。
測(cè)試設(shè)計(jì)
根據(jù)測(cè)試計(jì)劃設(shè)計(jì)測(cè)試方案炼蹦,測(cè)試設(shè)計(jì)過(guò)程輸出的是各測(cè)試階段使用的測(cè)試用例掀虎,為每一個(gè)測(cè)試需求確定測(cè)試用例集凌盯,并且確定執(zhí)行測(cè)試用例的測(cè)試過(guò)程。
根據(jù)軟件測(cè)試計(jì)劃烹玉、軟件需求驰怎、軟件構(gòu)架設(shè)計(jì)、軟件詳細(xì)設(shè)計(jì)等文檔內(nèi)容二打,設(shè)計(jì)測(cè)試用例具體如下:
- 對(duì)每一個(gè)測(cè)試需求县忌,確定其需要的測(cè)試用例。
- 對(duì)每一個(gè)測(cè)試用例,確定其輸入及預(yù)期結(jié)果症杏。
- 確定測(cè)試用例的測(cè)試環(huán)境配置装获、需要的驅(qū)動(dòng)程序。
- 編寫(xiě)測(cè)試用例文檔
- 對(duì)測(cè)試用例進(jìn)行同行評(píng)審(peer review)
測(cè)試執(zhí)行
如圖所示厉颤,測(cè)試執(zhí)行過(guò)程分為以下測(cè)試階段:?jiǎn)卧獪y(cè)試穴豫、集成測(cè)試、確認(rèn)測(cè)試逼友、系統(tǒng)測(cè)試绩郎、驗(yàn)收測(cè)試等。
單元測(cè)試
單元測(cè)試是在軟件開(kāi)發(fā)過(guò)程中進(jìn)行的最低級(jí)別的測(cè)試活動(dòng)翁逞,其測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位,單元測(cè)試又稱(chēng)為模塊測(cè)試
很多人將單元的概念誤解為一個(gè)具體函數(shù)或一個(gè)類(lèi)的方法溉仑,這種理解并不準(zhǔn)確挖函。作為一個(gè)最小的單元應(yīng)該有明確的功能定義、性能定義和接口定義浊竟,而且可以清晰地與其他單元區(qū)分開(kāi)來(lái)怨喘。一個(gè)菜單、一個(gè)顯示界面或者能夠獨(dú)立完成的具體功能都可以是一個(gè)單元振定。從某種意義上單元的概念已經(jīng)擴(kuò)展為組件(component)必怜。
單元測(cè)試的環(huán)境:
由于每個(gè)模塊在整個(gè)軟件中并不是孤立的,在對(duì)
每個(gè)模塊進(jìn)行單元測(cè)試時(shí)后频,需要考慮它和周?chē)K的
相互聯(lián)系梳庆。為模擬這一聯(lián)系,在進(jìn)行單元測(cè)試時(shí)卑惜,必
須設(shè)置若干個(gè)輔助測(cè)試模塊膏执。這些輔助模塊分為兩種:
- 驅(qū)動(dòng)模塊(driver): 用以模擬被測(cè)模塊上級(jí)模塊,相當(dāng)于被測(cè)模塊的主程序露久。
- 樁模塊(stub): 用以模擬被測(cè)模塊的下級(jí)模塊更米,相當(dāng)于被測(cè)模塊調(diào)用的子模塊。
單元測(cè)試完成方式
單元測(cè)試可以由兩種方式完成:
單元測(cè)試的不足:
- 模塊相互調(diào)用時(shí)引入了新的問(wèn)題毫痕;
- 幾個(gè)子功能組合起來(lái)不能實(shí)現(xiàn)主功能征峦;
- 誤差不斷積累達(dá)到不可接受的程度;
- 全局?jǐn)?shù)據(jù)結(jié)構(gòu)出現(xiàn)錯(cuò)誤等消请。
集成測(cè)試
確定測(cè)試
集成測(cè)試完成以后栏笆,分散開(kāi)發(fā)的模塊被聯(lián)接起來(lái),構(gòu)成一個(gè)完整的程序臊泰。其中各模塊之間接口存在的種種問(wèn)題都已消除竖伯。于是進(jìn)入了確認(rèn)測(cè)試階段。
確認(rèn)測(cè)試,是對(duì)照軟件需求規(guī)格說(shuō)明書(shū)七婴,對(duì)軟件產(chǎn)品進(jìn)行評(píng)估以確定其是否滿(mǎn)足需求規(guī)格的過(guò)程祟偷。 它決定最后的軟件產(chǎn)品是否正確無(wú)誤。
確定測(cè)試的策略:
- 基于需求的測(cè)試:采用黑盒測(cè)試策略打厘,在不知道詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明或代碼的情況下對(duì)用戶(hù)需求進(jìn)行測(cè)試修肠。基于需求的測(cè)試根據(jù)功能設(shè)計(jì)規(guī)格說(shuō)明設(shè)計(jì)測(cè)試用例户盯。
- 基于功能的測(cè)試:采用黑盒策略嵌施,根據(jù)功能設(shè)計(jì)規(guī)格說(shuō)明,采用等價(jià)類(lèi)劃分莽鸭、邊界值分析和故障猜測(cè)等方法設(shè)計(jì)測(cè)試用例吗伤。
- 基于內(nèi)部的測(cè)試:只能采用白盒測(cè)試策略,但可采用功能設(shè)計(jì)規(guī)格說(shuō)明制訂測(cè)試計(jì)劃硫眨。一但采用白盒測(cè)試足淆,便可通過(guò)一系列的技術(shù)確保系統(tǒng)的內(nèi)部各部分獲得充分的測(cè)試并且達(dá)到足夠的邏輯覆蓋。
系統(tǒng)測(cè)試
系統(tǒng)測(cè)試實(shí)際上是針對(duì)系統(tǒng)中各個(gè)組成部進(jìn)行的綜合性檢驗(yàn)礁阁,很接近我們的日常測(cè)試實(shí)踐巧号。
系統(tǒng)測(cè)試的目標(biāo)不是要找出軟件故障,而是要證明系統(tǒng)的性能姥闭。
注意:系統(tǒng)開(kāi)發(fā)人員和組織不能負(fù)責(zé)系統(tǒng)測(cè)試丹鸿,系統(tǒng)測(cè)試最好由獨(dú)立的測(cè)試機(jī)構(gòu)完成。
驗(yàn)收測(cè)試
驗(yàn)收測(cè)試是將最終產(chǎn)品與最終用戶(hù)的當(dāng)前需求進(jìn)行比較的過(guò)程棚品,是軟件開(kāi)發(fā)結(jié)束后靠欢,軟件產(chǎn)品向用戶(hù)交付之前進(jìn)行的最后一次質(zhì)量檢驗(yàn)活動(dòng),回答開(kāi)發(fā)的軟件產(chǎn)品是否符合預(yù)期的各項(xiàng)要求铜跑,用戶(hù)是否接受等問(wèn)題掺涛。
驗(yàn)收測(cè)試不只檢驗(yàn)軟件某方面的質(zhì)量,還要進(jìn)行全面的質(zhì)量檢驗(yàn)并決定軟件是否合格疼进。因此驗(yàn)收測(cè)試是一項(xiàng)嚴(yán)格的正規(guī)的測(cè)試活動(dòng)薪缆,并且應(yīng)該在生產(chǎn)環(huán)境中而不是開(kāi)發(fā)環(huán)境中進(jìn)行。
回歸測(cè)試
回歸測(cè)試則是對(duì)程序進(jìn)行測(cè)試以確定是否因故障修復(fù)而引入了新的故障伞广。
回歸測(cè)試不是一種新的測(cè)試活動(dòng)拣帽,它是為檢查是否因修復(fù)故障引入了新的故障而重新執(zhí)行某些或所有測(cè)試用例的過(guò)程。
驗(yàn)證活動(dòng)
驗(yàn)證活動(dòng)存在測(cè)試生存周期中的每一個(gè)階段嚼锄,包括需求驗(yàn)證减拭、功能設(shè)計(jì)驗(yàn)證、詳細(xì)設(shè)計(jì)驗(yàn)證和代碼驗(yàn)證区丑。在每個(gè)驗(yàn)證活動(dòng)中拧粪,測(cè)試的目的都是為了發(fā)現(xiàn)盡可能多的故障修陡,測(cè)試人員應(yīng)積極參與軟件審查和走查工作,并開(kāi)展驗(yàn)證工作可霎。