




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試知識(shí)簡(jiǎn)介
王瑞芬軟件測(cè)試知識(shí)簡(jiǎn)介王瑞芬內(nèi)容簡(jiǎn)介軟件測(cè)試發(fā)展簡(jiǎn)史測(cè)試基本概念測(cè)試方法測(cè)試階段測(cè)試設(shè)計(jì)測(cè)試工具簡(jiǎn)介內(nèi)容簡(jiǎn)介軟件測(cè)試發(fā)展簡(jiǎn)史測(cè)試發(fā)展史60年代(軟件工程建立前),為表明程序正確而進(jìn)行測(cè)試1972年,BillHetzel在NORTHCarolina大學(xué)舉行第一次以軟件測(cè)試為主題的正式會(huì)議1979年,GlenfordMyers《Theartofsoftwaretesting》提出測(cè)試的目的是證偽測(cè)試發(fā)展史60年代(軟件工程建立前),為表明程序正確而進(jìn)行測(cè)測(cè)試發(fā)展史1981年,BillHetzel開(kāi)設(shè)“StructuredSoftwareTesting”公共課1988年,DavidGelperin&BillHetzel在“CommunicationsoftheACM”發(fā)表“TheGrowthofsoftwareTesting”70年代后至80年代中期的QA部門1996年提出的測(cè)試能力成熟度TCMM(TestingCapabilityMaturityModel)、測(cè)試支持度TSM(TestingSupportModel)、測(cè)試成熟度TMM(TestingMaturityModel)測(cè)試發(fā)展史1981年,BillHetzel開(kāi)設(shè)“Struc測(cè)試的基本概念軟件測(cè)試定義軟件測(cè)試的目的軟件測(cè)試與軟件開(kāi)發(fā)軟件測(cè)試的分類測(cè)試的原則測(cè)試的基本概念軟件測(cè)試定義測(cè)試基本概念-軟件測(cè)試軟件測(cè)試定義軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說(shuō)明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。測(cè)試:為了發(fā)現(xiàn)軟件中錯(cuò)誤而運(yùn)行軟件的過(guò)程。測(cè)試基本概念-軟件測(cè)試軟件測(cè)試定義測(cè)試基本概念-軟件測(cè)試目的軟件測(cè)試的目的(業(yè)界有兩種權(quán)威定義)評(píng)價(jià)一個(gè)程序和系統(tǒng)的特性或能力,并確定它是否達(dá)到預(yù)期的結(jié)果。是在軟件分發(fā)到最終用戶手中之前,以最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷。測(cè)試基本概念-軟件測(cè)試目的軟件測(cè)試的目的(業(yè)界有兩種權(quán)威定義測(cè)試基本概念-軟件測(cè)試分類軟件測(cè)試的分類按測(cè)試用例設(shè)計(jì)方法:黑盒測(cè)試、白盒測(cè)試、灰盒測(cè)試。按測(cè)試過(guò)程:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等等。測(cè)試基本概念-軟件測(cè)試分類軟件測(cè)試的分類測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試軟件測(cè)試與軟件開(kāi)發(fā)的并行性需求評(píng)審概要設(shè)計(jì)概要設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)設(shè)計(jì)走查編碼走查單元測(cè)試編碼系統(tǒng)測(cè)試集成測(cè)試測(cè)試評(píng)審測(cè)試過(guò)程測(cè)試計(jì)劃…
…
…
…
各子模塊測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試軟件測(cè)試與軟件開(kāi)發(fā)的并行性需測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試包含測(cè)試的完整的開(kāi)發(fā)流程項(xiàng)目規(guī)劃需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)代碼編寫產(chǎn)品發(fā)布系統(tǒng)規(guī)劃集成規(guī)劃單元規(guī)劃測(cè)試代碼編寫測(cè)試需求分析系統(tǒng)測(cè)試計(jì)劃集成測(cè)試計(jì)劃單元測(cè)試計(jì)劃測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試包含測(cè)試的完整的開(kāi)發(fā)流程項(xiàng)目測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試開(kāi)發(fā)各階段的測(cè)試工作需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)/單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試系統(tǒng)測(cè)試確認(rèn)測(cè)試集成測(cè)試單元測(cè)試計(jì)劃計(jì)劃計(jì)劃執(zhí)行執(zhí)行執(zhí)行執(zhí)行計(jì)劃/設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試開(kāi)發(fā)各階段的測(cè)試工作需求分析測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試V模型需求獲取需求分析需求定義概要設(shè)計(jì)需求分析書(shū)詳細(xì)設(shè)計(jì)概要設(shè)計(jì)書(shū)編碼詳細(xì)設(shè)計(jì)書(shū)程序軟件產(chǎn)品系統(tǒng)測(cè)試可交付軟件確認(rèn)測(cè)試已確認(rèn)軟件集成測(cè)試已集成軟件單元測(cè)試已測(cè)試模塊用戶測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試V模型需求獲取需求分析需求定測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試W模型需求概要設(shè)計(jì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試安裝集成構(gòu)建設(shè)計(jì)測(cè)試功能測(cè)試需求測(cè)試測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試W模型需求概要設(shè)計(jì)設(shè)計(jì)編碼單測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試H模型測(cè)試準(zhǔn)備測(cè)試執(zhí)行其他流程(如設(shè)計(jì)流程)測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試H模型測(cè)試準(zhǔn)備測(cè)試執(zhí)行其他流測(cè)試的基本概念-測(cè)試的原則應(yīng)盡早和不斷的進(jìn)行測(cè)試程序員應(yīng)避免檢查自己的程序從用戶和開(kāi)發(fā)者的角度進(jìn)行軟件測(cè)試要站在客戶的角度進(jìn)行測(cè)試測(cè)試的基本概念-測(cè)試的原則應(yīng)盡早和不斷的進(jìn)行測(cè)試測(cè)試方法類程序
測(cè)試
靜態(tài)分析
(程序不執(zhí)行)
動(dòng)態(tài)測(cè)試(程序執(zhí)行)靜態(tài)分析器分析
(自動(dòng)方式)代碼評(píng)審
(人工方式)
黑盒測(cè)試(測(cè)試程序功能)
白盒測(cè)試(測(cè)試程序結(jié)構(gòu))
代碼會(huì)審代碼走查
桌面檢查
測(cè)試方法類程序靜態(tài)分析動(dòng)態(tài)測(cè)試靜態(tài)分析器分析代碼評(píng)測(cè)試方法類白盒測(cè)試黑盒測(cè)試兩種測(cè)試從不同角度出發(fā),反映了不同側(cè)面,也適應(yīng)于不同的開(kāi)發(fā)環(huán)境測(cè)試方法類白盒測(cè)試黑盒測(cè)試兩種測(cè)試從不同角度出發(fā),反映了不同測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。主要應(yīng)用于快速開(kāi)發(fā)環(huán)境。測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)黑測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯(cuò)誤?測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
測(cè)試方法類-白盒測(cè)試白盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。測(cè)試方法類-白盒測(cè)試白盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)打測(cè)試方法類-白盒測(cè)試白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:
1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。
2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。測(cè)試方法類-白盒測(cè)試白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:測(cè)試方法類-灰盒測(cè)試灰盒測(cè)試
是介于黑、白盒測(cè)試之間的,關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)。
灰盒測(cè)試結(jié)合了白盒測(cè)試盒黑盒測(cè)試的要素.它考慮了用戶端、特定的系統(tǒng)知識(shí)和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評(píng)價(jià)應(yīng)用軟件的設(shè)計(jì)。測(cè)試方法類-灰盒測(cè)試灰盒測(cè)試
是介于黑、白盒測(cè)試之間的,關(guān)注測(cè)試方法類-靜、動(dòng)態(tài)分析靜態(tài)分析(Staticanalysis)
就是對(duì)軟件的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),不需要對(duì)代碼進(jìn)行編譯和執(zhí)行動(dòng)態(tài)分析(Dynamicanalysis)
就是通過(guò)觀察軟件運(yùn)行時(shí)的動(dòng)作,來(lái)提供執(zhí)行跟蹤,時(shí)間分析,以及測(cè)試覆蓋度方面的信息。測(cè)試方法類-靜、動(dòng)態(tài)分析靜態(tài)分析(Staticanalys測(cè)試階段類軟件測(cè)試的階段單元測(cè)試單元測(cè)試單元測(cè)試集成測(cè)試被測(cè)模塊被測(cè)模塊被測(cè)模塊…確認(rèn)測(cè)試系統(tǒng)測(cè)試…已確認(rèn)的軟件已集成的軟件可交付的軟件設(shè)計(jì)信息軟件需求系統(tǒng)其他元素測(cè)試階段類軟件測(cè)試的階段單元測(cè)試單元測(cè)試單元測(cè)試集成測(cè)試被測(cè)測(cè)試階段類-單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位—模塊進(jìn)行正確性檢驗(yàn)的測(cè)試工作,測(cè)試模塊在語(yǔ)法、格式和邏輯上的錯(cuò)誤。使用的測(cè)試方法以詳細(xì)設(shè)計(jì)為基礎(chǔ),了解I/O條件和模塊的邏輯結(jié)構(gòu)。先采用白盒測(cè)試法,盡可能達(dá)到窮盡測(cè)試,然后再用黑盒測(cè)試法,使之對(duì)任何合理和不合理的輸入都能夠鑒別和響應(yīng)。測(cè)試階段類-單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位—模塊進(jìn)行測(cè)試階段類-集成測(cè)試用經(jīng)過(guò)單元測(cè)試的模塊組裝成設(shè)計(jì)所規(guī)定的軟件系統(tǒng)的過(guò)程就是“集成”。集成測(cè)試是組裝軟件的系統(tǒng)技術(shù)之一。集成測(cè)試的主要目標(biāo)是要求符合實(shí)際軟件結(jié)構(gòu),解決模塊接口的一致性問(wèn)題。例如,數(shù)據(jù)穿過(guò)模塊接口時(shí)可能丟失;一模塊可能對(duì)另一模塊產(chǎn)生副作用;子功能組裝以后,可能系統(tǒng)總的功能達(dá)不到;單個(gè)模塊看來(lái)是可以接受的誤差,組裝以后積累起來(lái)的軟件誤差可能大到無(wú)法讓人接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有問(wèn)題等,都是集成測(cè)試要解決的問(wèn)題。測(cè)試階段類-集成測(cè)試用經(jīng)過(guò)單元測(cè)試的模塊組裝成設(shè)計(jì)所規(guī)定的軟測(cè)試階段類-確認(rèn)測(cè)試集成測(cè)試通過(guò)以后,軟件已經(jīng)組裝成一個(gè)完整的軟件包,這時(shí)就可以進(jìn)行確認(rèn)測(cè)試,用確認(rèn)測(cè)試用例測(cè)試程序,將結(jié)果與期望值比較,測(cè)試軟件是否滿足需求規(guī)格說(shuō)明的要求,即驗(yàn)證軟件功能與用戶要求的一致性。在軟件需求說(shuō)明書(shū)的有效性標(biāo)準(zhǔn)中,詳細(xì)定義了用戶對(duì)軟件的合理要求,其中包含的信息是有效性測(cè)試的基礎(chǔ)和根據(jù)。測(cè)試計(jì)劃給出了必須進(jìn)行的測(cè)試類型,測(cè)試過(guò)程確定了驗(yàn)證軟件有效性的特殊測(cè)試用例。此外,還必須對(duì)文件資料是否完整正確,軟件的易移植性、兼容性、出錯(cuò)自動(dòng)恢復(fù)功能和易維護(hù)性進(jìn)行確認(rèn)。測(cè)試階段類-確認(rèn)測(cè)試集成測(cè)試通過(guò)以后,軟件已經(jīng)組裝成一個(gè)完整測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與硬件、外設(shè)等等其他元素結(jié)合在一起,對(duì)軟件系統(tǒng)進(jìn)行整體測(cè)試和有效性測(cè)試。一般相當(dāng)大的工作量集中在軟件系統(tǒng)的某些模塊與計(jì)算機(jī)系統(tǒng)中有關(guān)設(shè)備打交道時(shí)的默契配合方面。例如:當(dāng)軟件系統(tǒng)中調(diào)用打印機(jī)這種常見(jiàn)輸出外設(shè)時(shí),軟件系統(tǒng)如何通過(guò)計(jì)算機(jī)系統(tǒng)平臺(tái)的控制去合理驅(qū)動(dòng)、選擇、設(shè)置、使用打印機(jī)。又如,新的軟件系統(tǒng)中的一些文件名和計(jì)算機(jī)系統(tǒng)中別的軟件系統(tǒng)中的一些文件完全同名時(shí),兩種軟件系統(tǒng)之間如何實(shí)現(xiàn)相互協(xié)調(diào)操作。再如,新的軟件系統(tǒng)和別的軟件系統(tǒng)對(duì)系統(tǒng)配置和系統(tǒng)操作環(huán)境有矛盾時(shí)如何相互協(xié)調(diào)。如此等等的問(wèn)題都是系統(tǒng)測(cè)試要解決的問(wèn)題。測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件作為整個(gè)計(jì)測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試的內(nèi)容應(yīng)包括對(duì)各子系統(tǒng)或分系統(tǒng)間的接口正確性的檢查和對(duì)系統(tǒng)的功能、性能的測(cè)試。系統(tǒng)測(cè)試一般通過(guò)以下幾種測(cè)試來(lái)完成:①恢復(fù)測(cè)試?;謴?fù)測(cè)試是要采取各種人工方法使軟件出錯(cuò),而不是能正常工作,進(jìn)而檢驗(yàn)系統(tǒng)的恢復(fù)能力。如果系統(tǒng)本身能夠自動(dòng)地進(jìn)行恢復(fù),則應(yīng)檢驗(yàn):重新初始化、檢驗(yàn)點(diǎn)設(shè)置機(jī)構(gòu)、數(shù)據(jù)以及重新啟動(dòng)是否正確。如果這一恢復(fù)需要人工干預(yù),則應(yīng)考慮平均修復(fù)時(shí)間是否在限定的范圍內(nèi)。結(jié)合起來(lái)進(jìn)行。為記錄性能需要再安裝必要的儀表或度量性能的軟件。②安全測(cè)試。安全測(cè)試就是設(shè)置一些企圖突破系統(tǒng)安全保密措施的測(cè)試用例,檢驗(yàn)系統(tǒng)是否有安全保密的漏洞。對(duì)某些與人身、機(jī)器和環(huán)境的安全有關(guān)的軟件,還需特別測(cè)試其保護(hù)措施和防護(hù)手段的有效性和可靠性。③強(qiáng)度測(cè)試。強(qiáng)度測(cè)試檢驗(yàn)系統(tǒng)的能力最高能達(dá)到什么實(shí)際限度。在強(qiáng)度測(cè)試中程序被強(qiáng)制在它的設(shè)計(jì)能力極限狀態(tài)下運(yùn)行,進(jìn)而超出極限,以驗(yàn)證在超出臨界狀態(tài)下性能降低不是災(zāi)難性的。④性能測(cè)試。性能測(cè)試檢驗(yàn)安裝在系統(tǒng)內(nèi)的軟件運(yùn)行性能,這種測(cè)試需與強(qiáng)度測(cè)試結(jié)合起來(lái)進(jìn)行。為記錄性能需要再安裝必要的儀表或度量性能的軟件。測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試的內(nèi)容應(yīng)包括對(duì)各子系統(tǒng)或分系統(tǒng)間測(cè)試階段類-驗(yàn)收測(cè)試系統(tǒng)測(cè)試完成后,并使系統(tǒng)試運(yùn)行了預(yù)定的時(shí)間,企業(yè)應(yīng)進(jìn)行驗(yàn)收測(cè)試。確認(rèn)已開(kāi)發(fā)的軟件能否達(dá)到驗(yàn)收標(biāo)準(zhǔn),包括對(duì)測(cè)試有關(guān)的文檔資料的審查驗(yàn)收和對(duì)程序測(cè)試驗(yàn)收。對(duì)于一些關(guān)鍵性軟件,還必須按照合同一些嚴(yán)格條款進(jìn)行特殊測(cè)試,如強(qiáng)化測(cè)試和性能降級(jí)執(zhí)行方式測(cè)試等,驗(yàn)收測(cè)試應(yīng)在軟件投入運(yùn)行后所處的實(shí)際生產(chǎn)環(huán)境下進(jìn)行。驗(yàn)收測(cè)試的目的是測(cè)試程序的操作和合同規(guī)定的要求是否一致。通常以用戶為主體來(lái)進(jìn)行,由用戶設(shè)計(jì)測(cè)試用例,確定系統(tǒng)功能和性能的可接受性,按照合同中預(yù)定的驗(yàn)收原則進(jìn)行的測(cè)試,這是一種非常實(shí)用的測(cè)試,實(shí)質(zhì)上就是用戶用大量的真實(shí)數(shù)據(jù)試用軟件系統(tǒng)。測(cè)試階段類-驗(yàn)收測(cè)試系統(tǒng)測(cè)試完成后,并使系統(tǒng)試運(yùn)行了預(yù)定的時(shí)測(cè)試階段類-驗(yàn)收測(cè)試①文檔資料的審查驗(yàn)收。所有與測(cè)試有關(guān)的文檔資料是否編寫齊全,并得到分類編寫,這些文檔資料主要包括各測(cè)試階段的測(cè)試計(jì)劃、測(cè)試申請(qǐng)及測(cè)試報(bào)告等。②余量要求。必須實(shí)際考察計(jì)算機(jī)存儲(chǔ)空間,輸入、輸出通道和批處理間接使用情況,要保持至少有20%的余量。③功能測(cè)試。必須根據(jù)需求規(guī)格說(shuō)明書(shū)中規(guī)定的功能,對(duì)被驗(yàn)收的軟件逐項(xiàng)進(jìn)行測(cè)試,以確認(rèn)軟件是否具備規(guī)定的各項(xiàng)功能。④性能測(cè)試。必須根據(jù)需求規(guī)格說(shuō)明書(shū)中規(guī)定的性能,對(duì)被驗(yàn)收的軟件進(jìn)行測(cè)試,以確認(rèn)該軟件的性能是否得到滿足,開(kāi)發(fā)單位應(yīng)提交開(kāi)發(fā)階段內(nèi)各測(cè)試階段所作的測(cè)試分析報(bào)告,包括測(cè)試中發(fā)現(xiàn)的錯(cuò)誤類型,以及修正活動(dòng)情況。開(kāi)發(fā)單位必須設(shè)計(jì)性能測(cè)試用例,并預(yù)先征得用戶的認(rèn)可。⑤強(qiáng)化測(cè)試。強(qiáng)化測(cè)試必須按照GB8566-88《計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范》中的強(qiáng)化測(cè)試條款進(jìn)行。開(kāi)發(fā)單位必須設(shè)計(jì)強(qiáng)化測(cè)試用例,其中應(yīng)包括典型的運(yùn)行環(huán)境、所有的運(yùn)行方式,以及在系統(tǒng)運(yùn)行期可能發(fā)生的其他情況。⑥性能降級(jí)執(zhí)行方式測(cè)試。在某些設(shè)備或程序發(fā)生故障時(shí),對(duì)于允許降級(jí)運(yùn)行的系統(tǒng),必須確定經(jīng)用戶批準(zhǔn)的能夠安全完成的性能降級(jí)執(zhí)行方式,開(kāi)發(fā)單位必須按照用戶指定的所有性能降級(jí)執(zhí)行方式或性能降級(jí)地方式組合來(lái)設(shè)計(jì)測(cè)試用例,應(yīng)設(shè)定典型的錯(cuò)誤原因和所導(dǎo)致的性能降級(jí)執(zhí)行方式。開(kāi)發(fā)單位必須確保測(cè)試結(jié)果與需求規(guī)格說(shuō)明中包括的所有運(yùn)行性能需求一致。⑦安裝測(cè)試。安裝測(cè)試的目的不是檢查程序的錯(cuò)誤,而是檢查軟件安裝時(shí)產(chǎn)生的問(wèn)題,即程序和庫(kù)、文件系統(tǒng)、配置管理系統(tǒng)的接口有什么問(wèn)題。測(cè)試階段類-驗(yàn)收測(cè)試①文檔資料的審查驗(yàn)收。所有與測(cè)試有關(guān)的文測(cè)試設(shè)計(jì)測(cè)試用例測(cè)試用例是為發(fā)現(xiàn)軟件錯(cuò)誤而設(shè)計(jì)的數(shù)據(jù),它由兩部分組成:輸入數(shù)據(jù)的描述,程序執(zhí)行后應(yīng)產(chǎn)生的正確結(jié)果的精確描述。測(cè)試設(shè)計(jì)測(cè)試用例測(cè)試設(shè)計(jì)-邏輯覆蓋邏輯覆蓋是對(duì)一系列測(cè)試過(guò)程的總稱,它是在使用白盒測(cè)試法時(shí),選用測(cè)試用例執(zhí)行(即這里所說(shuō)的覆蓋)程序邏輯路徑的方法。覆蓋程度由低到高大致分為以下幾類:①語(yǔ)句覆蓋。設(shè)計(jì)若干測(cè)試用例,使程序中每一可執(zhí)行語(yǔ)句至少執(zhí)行一次;②判斷覆蓋。設(shè)計(jì)用例,使程序中的每個(gè)邏輯判斷的取真取假分支至少經(jīng)歷一次;③條件覆蓋。設(shè)計(jì)用例,使判斷中的每個(gè)條件的可能取值至少滿足一次;測(cè)試設(shè)計(jì)-邏輯覆蓋邏輯覆蓋是對(duì)一系列測(cè)試過(guò)程的總稱,它是在使測(cè)試設(shè)計(jì)-邏輯覆蓋④判斷/條件覆蓋。設(shè)計(jì)用例,使得判斷中的每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,而且判斷本身所有可能結(jié)果也至少出現(xiàn)一次;⑤條件組合覆蓋。設(shè)計(jì)用例,使得每個(gè)判斷表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次;顯然,滿足⑤的測(cè)試用例也一定是滿足②、③、④的測(cè)試用例。⑥路徑覆蓋。設(shè)計(jì)足夠的測(cè)試用例,使程序的每條可能路徑都至少執(zhí)行一次。⑦如果把路徑覆蓋和條件組合覆蓋結(jié)合起來(lái),可以設(shè)計(jì)出檢錯(cuò)能力更強(qiáng)的測(cè)試數(shù)據(jù)用例。測(cè)試設(shè)計(jì)-邏輯覆蓋④判斷/條件覆蓋。設(shè)計(jì)用例,使得判斷中的每測(cè)試設(shè)計(jì)-等價(jià)類劃分等價(jià)類劃分是用黑盒測(cè)試法設(shè)計(jì)測(cè)試用例的一種技術(shù)。它是將程序(或者模塊)輸入定義域中的所有可能的輸入數(shù)據(jù)(含有效和無(wú)效)劃分成若干個(gè)等價(jià)類,每一類的一個(gè)代表性的數(shù)據(jù)在測(cè)試中的作用,就等價(jià)于這一類中的所有其他數(shù)據(jù)。也就是說(shuō),如果某一類的一個(gè)用例發(fā)現(xiàn)了錯(cuò)誤,這一等價(jià)類中的所有其他用例也能發(fā)現(xiàn)同樣的錯(cuò)誤,反之亦然。借以實(shí)現(xiàn)測(cè)試的經(jīng)濟(jì)性,大大減少測(cè)試的工作量。測(cè)試設(shè)計(jì)-等價(jià)類劃分等價(jià)類劃分是用黑盒測(cè)試法設(shè)計(jì)測(cè)試用例的一測(cè)試設(shè)計(jì)-等價(jià)類劃分【例】某工廠公開(kāi)招工,規(guī)定報(bào)名者年齡應(yīng)在20周歲至39周歲之間(到2006年6月30日止),即出生年月不早于1967年7月,不晚于1986年6月。報(bào)名程序具有自動(dòng)檢驗(yàn)輸入數(shù)據(jù)的功能。如出生年月不在上述范圍內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯(cuò)信息。試用等價(jià)分類法設(shè)計(jì)對(duì)這一程序功能的測(cè)試用例。測(cè)試設(shè)計(jì)-等價(jià)類劃分【例】某工廠公開(kāi)招工,規(guī)定報(bào)名者年齡應(yīng)在測(cè)試設(shè)計(jì)-等價(jià)類劃分第一步:劃分等價(jià)類。假定已知出生年月由6位數(shù)字字符表示,前4位代表年,后2位代表月,則可以劃分為3個(gè)有效等價(jià)類,7個(gè)無(wú)效等價(jià)類,如表所示輸入數(shù)據(jù)有效等價(jià)類無(wú)效等價(jià)類出生年月①6位數(shù)字字符②有非數(shù)字字符③少于6個(gè)數(shù)字符④多于6個(gè)數(shù)字符對(duì)應(yīng)數(shù)值⑤在196007-197906之間⑥<196707⑦>198606月份對(duì)應(yīng)數(shù)值⑧在1-12之間⑨等于“0”⑩>12測(cè)試設(shè)計(jì)-等價(jià)類劃分第一步:劃分等價(jià)類。假定已知出生年月由6測(cè)試設(shè)計(jì)-等價(jià)類劃分第二步:設(shè)計(jì)有效等價(jià)類需要的測(cè)試用例。表7-1中的①、⑤、⑧等3個(gè)有效等價(jià)類,可以公用一個(gè)測(cè)試用例,例如:測(cè)試數(shù)據(jù)期望結(jié)果
測(cè)試范圍
197011輸入有效①、⑤、⑧第三步:為每一無(wú)效等價(jià)類至少設(shè)計(jì)一個(gè)測(cè)試用例。本例具有7個(gè)無(wú)效等價(jià)類,需要不少于7個(gè)測(cè)試用例。例如
測(cè)試數(shù)據(jù)期望結(jié)果
測(cè)試范圍
MAY,70輸入無(wú)效②
19705輸入無(wú)效③
1968011輸入無(wú)效④
195512年齡不合格⑥
198706年齡不合格⑦
198000輸入無(wú)效⑨
197922輸入無(wú)效⑩測(cè)試設(shè)計(jì)-等價(jià)類劃分第二步:設(shè)計(jì)有效等價(jià)類需要的測(cè)試用例。表測(cè)試設(shè)計(jì)-邊界分析經(jīng)驗(yàn)表明,程序在處理邊緣情況時(shí)常會(huì)出現(xiàn)錯(cuò)誤,例如,許多程序錯(cuò)誤出現(xiàn)在數(shù)組下標(biāo),數(shù)據(jù)結(jié)構(gòu)和循環(huán)等等的邊界附近。因此,設(shè)計(jì)檢查邊界值的測(cè)試用例暴露程序錯(cuò)誤的可能性會(huì)更大。所謂邊界條件,是相對(duì)于輸入情形輸出等價(jià)類直接在其邊緣上,稍高于其邊界和低于其邊界的這些狀態(tài)條件。使用邊界值分析方法設(shè)計(jì)測(cè)試用例,通常輸入等價(jià)類和輸出等價(jià)類的邊界值,選取剛好等于、稍小于、稍大于等價(jià)類邊界值的數(shù)據(jù)作為測(cè)試用例。
邊界分析法與等價(jià)類法有兩方面區(qū)別:①邊界分析不是從某個(gè)等價(jià)中隨便挑一個(gè)作為代表,而是選出一個(gè)或幾個(gè)元素,使得這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試對(duì)象。②邊界分析不僅根據(jù)輸入條件,還要根據(jù)輸出的情況(按輸出等價(jià)類)設(shè)計(jì)測(cè)試用例。測(cè)試設(shè)計(jì)-邊界分析經(jīng)驗(yàn)表明,程序在處理邊緣情況時(shí)常會(huì)出現(xiàn)錯(cuò)誤測(cè)試設(shè)計(jì)-因果圖因果圖法也是較常用的一種黑盒測(cè)試技術(shù)。因果圖是一種簡(jiǎn)化了的邏輯圖。當(dāng)被測(cè)程序具有多種輸入條件,程序的輸出又依賴于輸入條件的各種組合時(shí),用因果圖直觀地表明輸入條件和輸出動(dòng)作之間的因果關(guān)系,能幫助測(cè)試人員把注意力集中到與程序功能有關(guān)的那些輸入組合,比采用等價(jià)分類法有更高的測(cè)試效率,但這種方法的操作步驟比較復(fù)雜。測(cè)試設(shè)計(jì)-因果圖因果圖法也是較常用的一種黑盒測(cè)試技術(shù)。因果圖測(cè)試設(shè)計(jì)-猜錯(cuò)所謂猜錯(cuò),就是猜測(cè)被測(cè)程序在哪些地方容易出錯(cuò),然后針對(duì)可能的薄弱環(huán)節(jié)來(lái)設(shè)計(jì)測(cè)試用例。它的基本想法是列舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并且根據(jù)這些情況設(shè)計(jì)測(cè)試用例。顯然,它比前2種方法更多地依靠測(cè)試人員的直覺(jué)與經(jīng)驗(yàn)。所以,一般都先用前2種方法設(shè)計(jì)測(cè)試用例,然后用猜錯(cuò)法補(bǔ)充一些例子作為輔助的手段。測(cè)試設(shè)計(jì)-猜錯(cuò)所謂猜錯(cuò),就是猜測(cè)被測(cè)程序在哪些地方容易出錯(cuò),測(cè)試工具簡(jiǎn)介測(cè)試工作在軟件開(kāi)發(fā)整個(gè)過(guò)程中占有極為重要的位置,而全人工測(cè)試是非常麻煩的,所以測(cè)試過(guò)程的自動(dòng)化已成為測(cè)試發(fā)展的重要方向。測(cè)試工具的選擇對(duì)測(cè)試的規(guī)范化影響很大,目前已開(kāi)發(fā)出了各種自動(dòng)化軟件測(cè)試工具,它們?yōu)檐浖y(cè)試提供了強(qiáng)有力的支持。測(cè)試工具從測(cè)試的方法上可以分為兩種:白盒測(cè)試工具和黑盒測(cè)試工具。測(cè)試工具簡(jiǎn)介測(cè)試工作在軟件開(kāi)發(fā)整個(gè)過(guò)程中占有極為重要的位置,測(cè)試工具簡(jiǎn)介-白盒測(cè)試工具白盒測(cè)試工具主要有:
內(nèi)存資源泄漏檢查:Numega中的bouncechecker,Rational的Purify等;
代碼覆蓋率檢查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope,,Macabe公司的Macabe等;
代碼性能檢查:Numega中的truetime,Rational的Quantify等;代碼靜態(tài)度量分析質(zhì)量檢查工具:logiscope和Macabe等。測(cè)試工具簡(jiǎn)介-白盒測(cè)試工具白盒測(cè)試工具主要有:測(cè)試工具簡(jiǎn)介-黑盒測(cè)試工具黑盒測(cè)試工具主要有:客戶端功能測(cè)試:MI公司的winrunner,compuware的QACenter,Rational的SQArobot,SQATeamTest,RationalViaualTest等。軟件性能測(cè)試工具:LoadRunner(MI產(chǎn)品)、RationalVisualQantify等。測(cè)試工具簡(jiǎn)介-黑盒測(cè)試工具黑盒測(cè)試工具主要有:歡迎批評(píng)指正謝謝!歡迎批評(píng)指正謝謝!演講完畢,謝謝觀看!演講完畢,謝謝觀看!軟件測(cè)試知識(shí)簡(jiǎn)介
王瑞芬軟件測(cè)試知識(shí)簡(jiǎn)介王瑞芬內(nèi)容簡(jiǎn)介軟件測(cè)試發(fā)展簡(jiǎn)史測(cè)試基本概念測(cè)試方法測(cè)試階段測(cè)試設(shè)計(jì)測(cè)試工具簡(jiǎn)介內(nèi)容簡(jiǎn)介軟件測(cè)試發(fā)展簡(jiǎn)史測(cè)試發(fā)展史60年代(軟件工程建立前),為表明程序正確而進(jìn)行測(cè)試1972年,BillHetzel在NORTHCarolina大學(xué)舉行第一次以軟件測(cè)試為主題的正式會(huì)議1979年,GlenfordMyers《Theartofsoftwaretesting》提出測(cè)試的目的是證偽測(cè)試發(fā)展史60年代(軟件工程建立前),為表明程序正確而進(jìn)行測(cè)測(cè)試發(fā)展史1981年,BillHetzel開(kāi)設(shè)“StructuredSoftwareTesting”公共課1988年,DavidGelperin&BillHetzel在“CommunicationsoftheACM”發(fā)表“TheGrowthofsoftwareTesting”70年代后至80年代中期的QA部門1996年提出的測(cè)試能力成熟度TCMM(TestingCapabilityMaturityModel)、測(cè)試支持度TSM(TestingSupportModel)、測(cè)試成熟度TMM(TestingMaturityModel)測(cè)試發(fā)展史1981年,BillHetzel開(kāi)設(shè)“Struc測(cè)試的基本概念軟件測(cè)試定義軟件測(cè)試的目的軟件測(cè)試與軟件開(kāi)發(fā)軟件測(cè)試的分類測(cè)試的原則測(cè)試的基本概念軟件測(cè)試定義測(cè)試基本概念-軟件測(cè)試軟件測(cè)試定義軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說(shuō)明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。測(cè)試:為了發(fā)現(xiàn)軟件中錯(cuò)誤而運(yùn)行軟件的過(guò)程。測(cè)試基本概念-軟件測(cè)試軟件測(cè)試定義測(cè)試基本概念-軟件測(cè)試目的軟件測(cè)試的目的(業(yè)界有兩種權(quán)威定義)評(píng)價(jià)一個(gè)程序和系統(tǒng)的特性或能力,并確定它是否達(dá)到預(yù)期的結(jié)果。是在軟件分發(fā)到最終用戶手中之前,以最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷。測(cè)試基本概念-軟件測(cè)試目的軟件測(cè)試的目的(業(yè)界有兩種權(quán)威定義測(cè)試基本概念-軟件測(cè)試分類軟件測(cè)試的分類按測(cè)試用例設(shè)計(jì)方法:黑盒測(cè)試、白盒測(cè)試、灰盒測(cè)試。按測(cè)試過(guò)程:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試等等。測(cè)試基本概念-軟件測(cè)試分類軟件測(cè)試的分類測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試軟件測(cè)試與軟件開(kāi)發(fā)的并行性需求評(píng)審概要設(shè)計(jì)概要設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)設(shè)計(jì)走查編碼走查單元測(cè)試編碼系統(tǒng)測(cè)試集成測(cè)試測(cè)試評(píng)審測(cè)試過(guò)程測(cè)試計(jì)劃…
…
…
…
各子模塊測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試軟件測(cè)試與軟件開(kāi)發(fā)的并行性需測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試包含測(cè)試的完整的開(kāi)發(fā)流程項(xiàng)目規(guī)劃需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)代碼編寫產(chǎn)品發(fā)布系統(tǒng)規(guī)劃集成規(guī)劃單元規(guī)劃測(cè)試代碼編寫測(cè)試需求分析系統(tǒng)測(cè)試計(jì)劃集成測(cè)試計(jì)劃單元測(cè)試計(jì)劃測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試包含測(cè)試的完整的開(kāi)發(fā)流程項(xiàng)目測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試開(kāi)發(fā)各階段的測(cè)試工作需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)/單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試系統(tǒng)測(cè)試確認(rèn)測(cè)試集成測(cè)試單元測(cè)試計(jì)劃計(jì)劃計(jì)劃執(zhí)行執(zhí)行執(zhí)行執(zhí)行計(jì)劃/設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試開(kāi)發(fā)各階段的測(cè)試工作需求分析測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試V模型需求獲取需求分析需求定義概要設(shè)計(jì)需求分析書(shū)詳細(xì)設(shè)計(jì)概要設(shè)計(jì)書(shū)編碼詳細(xì)設(shè)計(jì)書(shū)程序軟件產(chǎn)品系統(tǒng)測(cè)試可交付軟件確認(rèn)測(cè)試已確認(rèn)軟件集成測(cè)試已集成軟件單元測(cè)試已測(cè)試模塊用戶測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試V模型需求獲取需求分析需求定測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試W模型需求概要設(shè)計(jì)設(shè)計(jì)編碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試安裝集成構(gòu)建設(shè)計(jì)測(cè)試功能測(cè)試需求測(cè)試測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試W模型需求概要設(shè)計(jì)設(shè)計(jì)編碼單測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試H模型測(cè)試準(zhǔn)備測(cè)試執(zhí)行其他流程(如設(shè)計(jì)流程)測(cè)試基本概念-軟件開(kāi)發(fā)與軟件測(cè)試H模型測(cè)試準(zhǔn)備測(cè)試執(zhí)行其他流測(cè)試的基本概念-測(cè)試的原則應(yīng)盡早和不斷的進(jìn)行測(cè)試程序員應(yīng)避免檢查自己的程序從用戶和開(kāi)發(fā)者的角度進(jìn)行軟件測(cè)試要站在客戶的角度進(jìn)行測(cè)試測(cè)試的基本概念-測(cè)試的原則應(yīng)盡早和不斷的進(jìn)行測(cè)試測(cè)試方法類程序
測(cè)試
靜態(tài)分析
(程序不執(zhí)行)
動(dòng)態(tài)測(cè)試(程序執(zhí)行)靜態(tài)分析器分析
(自動(dòng)方式)代碼評(píng)審
(人工方式)
黑盒測(cè)試(測(cè)試程序功能)
白盒測(cè)試(測(cè)試程序結(jié)構(gòu))
代碼會(huì)審代碼走查
桌面檢查
測(cè)試方法類程序靜態(tài)分析動(dòng)態(tài)測(cè)試靜態(tài)分析器分析代碼評(píng)測(cè)試方法類白盒測(cè)試黑盒測(cè)試兩種測(cè)試從不同角度出發(fā),反映了不同側(cè)面,也適應(yīng)于不同的開(kāi)發(fā)環(huán)境測(cè)試方法類白盒測(cè)試黑盒測(cè)試兩種測(cè)試從不同角度出發(fā),反映了不同測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。主要應(yīng)用于快速開(kāi)發(fā)環(huán)境。測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)黑測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯(cuò)誤?測(cè)試方法類-黑盒測(cè)試黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
測(cè)試方法類-白盒測(cè)試白盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。測(cè)試方法類-白盒測(cè)試白盒測(cè)試
這種方法是把測(cè)試對(duì)象看做一個(gè)打測(cè)試方法類-白盒測(cè)試白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:
1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。
2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。測(cè)試方法類-白盒測(cè)試白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:測(cè)試方法類-灰盒測(cè)試灰盒測(cè)試
是介于黑、白盒測(cè)試之間的,關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)。
灰盒測(cè)試結(jié)合了白盒測(cè)試盒黑盒測(cè)試的要素.它考慮了用戶端、特定的系統(tǒng)知識(shí)和操作環(huán)境。它在系統(tǒng)組件的協(xié)同性環(huán)境中評(píng)價(jià)應(yīng)用軟件的設(shè)計(jì)。測(cè)試方法類-灰盒測(cè)試灰盒測(cè)試
是介于黑、白盒測(cè)試之間的,關(guān)注測(cè)試方法類-靜、動(dòng)態(tài)分析靜態(tài)分析(Staticanalysis)
就是對(duì)軟件的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),不需要對(duì)代碼進(jìn)行編譯和執(zhí)行動(dòng)態(tài)分析(Dynamicanalysis)
就是通過(guò)觀察軟件運(yùn)行時(shí)的動(dòng)作,來(lái)提供執(zhí)行跟蹤,時(shí)間分析,以及測(cè)試覆蓋度方面的信息。測(cè)試方法類-靜、動(dòng)態(tài)分析靜態(tài)分析(Staticanalys測(cè)試階段類軟件測(cè)試的階段單元測(cè)試單元測(cè)試單元測(cè)試集成測(cè)試被測(cè)模塊被測(cè)模塊被測(cè)模塊…確認(rèn)測(cè)試系統(tǒng)測(cè)試…已確認(rèn)的軟件已集成的軟件可交付的軟件設(shè)計(jì)信息軟件需求系統(tǒng)其他元素測(cè)試階段類軟件測(cè)試的階段單元測(cè)試單元測(cè)試單元測(cè)試集成測(cè)試被測(cè)測(cè)試階段類-單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位—模塊進(jìn)行正確性檢驗(yàn)的測(cè)試工作,測(cè)試模塊在語(yǔ)法、格式和邏輯上的錯(cuò)誤。使用的測(cè)試方法以詳細(xì)設(shè)計(jì)為基礎(chǔ),了解I/O條件和模塊的邏輯結(jié)構(gòu)。先采用白盒測(cè)試法,盡可能達(dá)到窮盡測(cè)試,然后再用黑盒測(cè)試法,使之對(duì)任何合理和不合理的輸入都能夠鑒別和響應(yīng)。測(cè)試階段類-單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位—模塊進(jìn)行測(cè)試階段類-集成測(cè)試用經(jīng)過(guò)單元測(cè)試的模塊組裝成設(shè)計(jì)所規(guī)定的軟件系統(tǒng)的過(guò)程就是“集成”。集成測(cè)試是組裝軟件的系統(tǒng)技術(shù)之一。集成測(cè)試的主要目標(biāo)是要求符合實(shí)際軟件結(jié)構(gòu),解決模塊接口的一致性問(wèn)題。例如,數(shù)據(jù)穿過(guò)模塊接口時(shí)可能丟失;一模塊可能對(duì)另一模塊產(chǎn)生副作用;子功能組裝以后,可能系統(tǒng)總的功能達(dá)不到;單個(gè)模塊看來(lái)是可以接受的誤差,組裝以后積累起來(lái)的軟件誤差可能大到無(wú)法讓人接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有問(wèn)題等,都是集成測(cè)試要解決的問(wèn)題。測(cè)試階段類-集成測(cè)試用經(jīng)過(guò)單元測(cè)試的模塊組裝成設(shè)計(jì)所規(guī)定的軟測(cè)試階段類-確認(rèn)測(cè)試集成測(cè)試通過(guò)以后,軟件已經(jīng)組裝成一個(gè)完整的軟件包,這時(shí)就可以進(jìn)行確認(rèn)測(cè)試,用確認(rèn)測(cè)試用例測(cè)試程序,將結(jié)果與期望值比較,測(cè)試軟件是否滿足需求規(guī)格說(shuō)明的要求,即驗(yàn)證軟件功能與用戶要求的一致性。在軟件需求說(shuō)明書(shū)的有效性標(biāo)準(zhǔn)中,詳細(xì)定義了用戶對(duì)軟件的合理要求,其中包含的信息是有效性測(cè)試的基礎(chǔ)和根據(jù)。測(cè)試計(jì)劃給出了必須進(jìn)行的測(cè)試類型,測(cè)試過(guò)程確定了驗(yàn)證軟件有效性的特殊測(cè)試用例。此外,還必須對(duì)文件資料是否完整正確,軟件的易移植性、兼容性、出錯(cuò)自動(dòng)恢復(fù)功能和易維護(hù)性進(jìn)行確認(rèn)。測(cè)試階段類-確認(rèn)測(cè)試集成測(cè)試通過(guò)以后,軟件已經(jīng)組裝成一個(gè)完整測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與硬件、外設(shè)等等其他元素結(jié)合在一起,對(duì)軟件系統(tǒng)進(jìn)行整體測(cè)試和有效性測(cè)試。一般相當(dāng)大的工作量集中在軟件系統(tǒng)的某些模塊與計(jì)算機(jī)系統(tǒng)中有關(guān)設(shè)備打交道時(shí)的默契配合方面。例如:當(dāng)軟件系統(tǒng)中調(diào)用打印機(jī)這種常見(jiàn)輸出外設(shè)時(shí),軟件系統(tǒng)如何通過(guò)計(jì)算機(jī)系統(tǒng)平臺(tái)的控制去合理驅(qū)動(dòng)、選擇、設(shè)置、使用打印機(jī)。又如,新的軟件系統(tǒng)中的一些文件名和計(jì)算機(jī)系統(tǒng)中別的軟件系統(tǒng)中的一些文件完全同名時(shí),兩種軟件系統(tǒng)之間如何實(shí)現(xiàn)相互協(xié)調(diào)操作。再如,新的軟件系統(tǒng)和別的軟件系統(tǒng)對(duì)系統(tǒng)配置和系統(tǒng)操作環(huán)境有矛盾時(shí)如何相互協(xié)調(diào)。如此等等的問(wèn)題都是系統(tǒng)測(cè)試要解決的問(wèn)題。測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件作為整個(gè)計(jì)測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試的內(nèi)容應(yīng)包括對(duì)各子系統(tǒng)或分系統(tǒng)間的接口正確性的檢查和對(duì)系統(tǒng)的功能、性能的測(cè)試。系統(tǒng)測(cè)試一般通過(guò)以下幾種測(cè)試來(lái)完成:①恢復(fù)測(cè)試?;謴?fù)測(cè)試是要采取各種人工方法使軟件出錯(cuò),而不是能正常工作,進(jìn)而檢驗(yàn)系統(tǒng)的恢復(fù)能力。如果系統(tǒng)本身能夠自動(dòng)地進(jìn)行恢復(fù),則應(yīng)檢驗(yàn):重新初始化、檢驗(yàn)點(diǎn)設(shè)置機(jī)構(gòu)、數(shù)據(jù)以及重新啟動(dòng)是否正確。如果這一恢復(fù)需要人工干預(yù),則應(yīng)考慮平均修復(fù)時(shí)間是否在限定的范圍內(nèi)。結(jié)合起來(lái)進(jìn)行。為記錄性能需要再安裝必要的儀表或度量性能的軟件。②安全測(cè)試。安全測(cè)試就是設(shè)置一些企圖突破系統(tǒng)安全保密措施的測(cè)試用例,檢驗(yàn)系統(tǒng)是否有安全保密的漏洞。對(duì)某些與人身、機(jī)器和環(huán)境的安全有關(guān)的軟件,還需特別測(cè)試其保護(hù)措施和防護(hù)手段的有效性和可靠性。③強(qiáng)度測(cè)試。強(qiáng)度測(cè)試檢驗(yàn)系統(tǒng)的能力最高能達(dá)到什么實(shí)際限度。在強(qiáng)度測(cè)試中程序被強(qiáng)制在它的設(shè)計(jì)能力極限狀態(tài)下運(yùn)行,進(jìn)而超出極限,以驗(yàn)證在超出臨界狀態(tài)下性能降低不是災(zāi)難性的。④性能測(cè)試。性能測(cè)試檢驗(yàn)安裝在系統(tǒng)內(nèi)的軟件運(yùn)行性能,這種測(cè)試需與強(qiáng)度測(cè)試結(jié)合起來(lái)進(jìn)行。為記錄性能需要再安裝必要的儀表或度量性能的軟件。測(cè)試階段類-系統(tǒng)測(cè)試系統(tǒng)測(cè)試的內(nèi)容應(yīng)包括對(duì)各子系統(tǒng)或分系統(tǒng)間測(cè)試階段類-驗(yàn)收測(cè)試系統(tǒng)測(cè)試完成后,并使系統(tǒng)試運(yùn)行了預(yù)定的時(shí)間,企業(yè)應(yīng)進(jìn)行驗(yàn)收測(cè)試。確認(rèn)已開(kāi)發(fā)的軟件能否達(dá)到驗(yàn)收標(biāo)準(zhǔn),包括對(duì)測(cè)試有關(guān)的文檔資料的審查驗(yàn)收和對(duì)程序測(cè)試驗(yàn)收。對(duì)于一些關(guān)鍵性軟件,還必須按照合同一些嚴(yán)格條款進(jìn)行特殊測(cè)試,如強(qiáng)化測(cè)試和性能降級(jí)執(zhí)行方式測(cè)試等,驗(yàn)收測(cè)試應(yīng)在軟件投入運(yùn)行后所處的實(shí)際生產(chǎn)環(huán)境下進(jìn)行。驗(yàn)收測(cè)試的目的是測(cè)試程序的操作和合同規(guī)定的要求是否一致。通常以用戶為主體來(lái)進(jìn)行,由用戶設(shè)計(jì)測(cè)試用例,確定系統(tǒng)功能和性能的可接受性,按照合同中預(yù)定的驗(yàn)收原則進(jìn)行的測(cè)試,這是一種非常實(shí)用的測(cè)試,實(shí)質(zhì)上就是用戶用大量的真實(shí)數(shù)據(jù)試用軟件系統(tǒng)。測(cè)試階段類-驗(yàn)收測(cè)試系統(tǒng)測(cè)試完成后,并使系統(tǒng)試運(yùn)行了預(yù)定的時(shí)測(cè)試階段類-驗(yàn)收測(cè)試①文檔資料的審查驗(yàn)收。所有與測(cè)試有關(guān)的文檔資料是否編寫齊全,并得到分類編寫,這些文檔資料主要包括各測(cè)試階段的測(cè)試計(jì)劃、測(cè)試申請(qǐng)及測(cè)試報(bào)告等。②余量要求。必須實(shí)際考察計(jì)算機(jī)存儲(chǔ)空間,輸入、輸出通道和批處理間接使用情況,要保持至少有20%的余量。③功能測(cè)試。必須根據(jù)需求規(guī)格說(shuō)明書(shū)中規(guī)定的功能,對(duì)被驗(yàn)收的軟件逐項(xiàng)進(jìn)行測(cè)試,以確認(rèn)軟件是否具備規(guī)定的各項(xiàng)功能。④性能測(cè)試。必須根據(jù)需求規(guī)格說(shuō)明書(shū)中規(guī)定的性能,對(duì)被驗(yàn)收的軟件進(jìn)行測(cè)試,以確認(rèn)該軟件的性能是否得到滿足,開(kāi)發(fā)單位應(yīng)提交開(kāi)發(fā)階段內(nèi)各測(cè)試階段所作的測(cè)試分析報(bào)告,包括測(cè)試中發(fā)現(xiàn)的錯(cuò)誤類型,以及修正活動(dòng)情況。開(kāi)發(fā)單位必須設(shè)計(jì)性能測(cè)試用例,并預(yù)先征得用戶的認(rèn)可。⑤強(qiáng)化測(cè)試。強(qiáng)化測(cè)試必須按照GB8566-88《計(jì)算機(jī)軟件開(kāi)發(fā)規(guī)范》中的強(qiáng)化測(cè)試條款進(jìn)行。開(kāi)發(fā)單位必須設(shè)計(jì)強(qiáng)化測(cè)試用例,其中應(yīng)包括典型的運(yùn)行環(huán)境、所有的運(yùn)行方式,以及在系統(tǒng)運(yùn)行期可能發(fā)生的其他情況。⑥性能降級(jí)執(zhí)行方式測(cè)試。在某些設(shè)備或程序發(fā)生故障時(shí),對(duì)于允許降級(jí)運(yùn)行的系統(tǒng),必須確定經(jīng)用戶批準(zhǔn)的能夠安全完成的性能降級(jí)執(zhí)行方式,開(kāi)發(fā)單位必須按照用戶指定的所有性能降級(jí)執(zhí)行方式或性能降級(jí)地方式組合來(lái)設(shè)計(jì)測(cè)試用例,應(yīng)設(shè)定典型的錯(cuò)誤原因和所導(dǎo)致的性能降級(jí)執(zhí)行方式。開(kāi)發(fā)單位必須確保測(cè)試結(jié)果與需求規(guī)格說(shuō)明中包括的所有運(yùn)行性能需求一致。⑦安裝測(cè)試。安裝測(cè)試的目的不是檢查程序的錯(cuò)誤,而是檢查軟件安裝時(shí)產(chǎn)生的問(wèn)題,即程序和庫(kù)、文件系統(tǒng)、配置管理系統(tǒng)的接口有什么問(wèn)題。測(cè)試階段類-驗(yàn)收測(cè)試①文檔資料的審查驗(yàn)收。所有與測(cè)試有關(guān)的文測(cè)試設(shè)計(jì)測(cè)試用例測(cè)試用例是為發(fā)現(xiàn)軟件錯(cuò)誤而設(shè)計(jì)的數(shù)據(jù),它由兩部分組成:輸入數(shù)據(jù)的描述,程序執(zhí)行后應(yīng)產(chǎn)生的正確結(jié)果的精確描述。測(cè)試設(shè)計(jì)測(cè)試用例測(cè)試設(shè)計(jì)-邏輯覆蓋邏輯覆蓋是對(duì)一系列測(cè)試過(guò)程的總稱,它是在使用白盒測(cè)試法時(shí),選用測(cè)試用例執(zhí)行(即這里所說(shuō)的覆蓋)程序邏輯路徑的方法。覆蓋程度由低到高大致分為以下幾類:①語(yǔ)句覆蓋。設(shè)計(jì)若干測(cè)試用例,使程序中每一可執(zhí)行語(yǔ)句至少執(zhí)行一次;②判斷覆蓋。設(shè)計(jì)用例,使程序中的每個(gè)邏輯判斷的取真取假分支至少經(jīng)歷一次;③條件覆蓋。設(shè)計(jì)用例,使判斷中的每個(gè)條件的可能取值至少滿足一次;測(cè)試設(shè)計(jì)-邏輯覆蓋邏輯覆蓋是對(duì)一系列測(cè)試過(guò)程的總稱,它是在使測(cè)試設(shè)計(jì)-邏輯覆蓋④判斷/條件覆蓋。設(shè)計(jì)用例,使得判斷中的每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,而且判斷本身所有可能結(jié)果也至少出現(xiàn)一次;⑤條件組合覆蓋。設(shè)計(jì)用例,使得每個(gè)判斷表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次;顯然,滿足⑤的測(cè)試用例也一定是滿足②、③、④的測(cè)試用例。⑥路徑覆蓋。設(shè)計(jì)足夠的測(cè)試用例,使程序的每條可能路徑都至少執(zhí)行一次。⑦如果把路徑覆蓋和條件組合覆蓋結(jié)合起來(lái),可以設(shè)計(jì)出檢錯(cuò)能力更強(qiáng)的測(cè)試數(shù)據(jù)用例。測(cè)試設(shè)計(jì)-邏輯覆蓋④判斷/條件覆蓋。設(shè)計(jì)用例,使得判斷中的每測(cè)試設(shè)計(jì)-等價(jià)類劃分等價(jià)類劃分是用黑盒測(cè)試法設(shè)計(jì)測(cè)試用例的一種技術(shù)。它是將程序(或者模塊)輸入定義域中的所有可能的輸入數(shù)據(jù)(含有效和無(wú)效)劃分成若干個(gè)等價(jià)類,每一類的一個(gè)代表性的數(shù)據(jù)在測(cè)試中的作用,就等價(jià)于這一類中的所有其他數(shù)據(jù)。也就是說(shuō),如果某一類的一個(gè)用例發(fā)現(xiàn)了錯(cuò)誤,這一等價(jià)類中的所有其他用例也能發(fā)現(xiàn)同樣的錯(cuò)誤,反之亦然。借以實(shí)現(xiàn)測(cè)試的經(jīng)濟(jì)性,大大減少測(cè)試的工作量。測(cè)試設(shè)計(jì)-等價(jià)類劃分等價(jià)類劃分是用黑盒測(cè)試法設(shè)計(jì)測(cè)試用例的一測(cè)試設(shè)計(jì)-等價(jià)類劃分【例】某工廠公開(kāi)招工,規(guī)定報(bào)名者年齡應(yīng)在20周歲至39周歲之間(到2006年6月30日止),即出生年月不早于1967年7月,不晚于1986年6月。報(bào)名程序具有自動(dòng)檢驗(yàn)輸入數(shù)據(jù)的功能。如出生年月不在上述范圍內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯(cuò)信息。試用等價(jià)分類法設(shè)計(jì)對(duì)這一程序功能的測(cè)試用例。測(cè)試設(shè)計(jì)-等價(jià)類劃分【例】某工廠公開(kāi)招工,規(guī)定報(bào)名者年齡應(yīng)在測(cè)試設(shè)計(jì)-等價(jià)類劃分第一步:劃分等價(jià)類。假定已知出生年月由6位數(shù)字字符表示,前4位代表年,后2位代表月,則可以劃分為3個(gè)有效等價(jià)類,7個(gè)無(wú)效等價(jià)類,如表所示輸入數(shù)據(jù)有效等價(jià)類無(wú)效等價(jià)類出生年月①6位數(shù)字字符②有非數(shù)字字符③少于6個(gè)數(shù)字符④多于6個(gè)數(shù)字符對(duì)應(yīng)數(shù)值⑤在196007-197906之間⑥<196707⑦>198606月份對(duì)應(yīng)數(shù)值⑧在1-12之間⑨等于“0”⑩>12測(cè)試設(shè)計(jì)-等價(jià)類劃分第一步:劃分等價(jià)類。假定已知出生年月由6測(cè)試設(shè)計(jì)-等價(jià)類劃分第二步:設(shè)計(jì)有效等價(jià)類需要的測(cè)試用例。表7-1中的①、⑤、⑧等3個(gè)有效等價(jià)類,可以公用一個(gè)測(cè)試用例,例如:測(cè)試數(shù)據(jù)期望結(jié)果
測(cè)試范圍
197011輸入有效①、⑤、⑧第三步:為每一無(wú)效等價(jià)類至少設(shè)計(jì)一個(gè)測(cè)試用例。本例具有7個(gè)無(wú)效等價(jià)類,需要不少于7個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)正規(guī)合同范本
- 別墅購(gòu)銷合同范本
- 信用擔(dān)保貸款合同范本
- 制作人合同范本
- 單位房屋租用合同范本
- 中介用代管合同范本
- 農(nóng)藥國(guó)際銷售合同范本
- 關(guān)于工地買賣合同范例
- 制作安裝勞務(wù)合同范本
- 北京車輛 合同范例
- 失智老年人照護(hù)X證書(shū)制度試點(diǎn)工作養(yǎng)老護(hù)理職業(yè)和失智老人照護(hù)員工種的發(fā)展講解
- 2025年湖南食品藥品職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 企業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略-深度研究
- 新種子法律法規(guī)培訓(xùn)講解
- 2025年?yáng)|營(yíng)科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025-2030年中國(guó)民用通信天線行業(yè)發(fā)展趨勢(shì)規(guī)劃研究報(bào)告
- 《幼小銜接家長(zhǎng)會(huì)》課件
- 浙江省金華市婺城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試卷(含答案)
- Unit 4 A glimpse of the future 說(shuō)課稿-2023-2024學(xué)年高二下學(xué)期英語(yǔ)外研版(2019)選擇性必修第三冊(cè)001
- 萬(wàn)達(dá)廣場(chǎng)籌備期項(xiàng)目管理規(guī)范
- 鄉(xiāng)村建設(shè)規(guī)劃許可培訓(xùn)
評(píng)論
0/150
提交評(píng)論