




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
測試執(zhí)行的步驟需求評審/設(shè)計(jì)評審單元測試組裝測試/集成測試確認(rèn)測試系統(tǒng)測試回歸測試驗(yàn)收測試2單元測試:集中對用源代碼實(shí)現(xiàn)的每一個程序單元進(jìn)行測試,檢查各個程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。集成測試:把已測試過的模塊組裝起來,主要對與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。確認(rèn)測試:檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。系統(tǒng)測試:把已經(jīng)經(jīng)過確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其它系統(tǒng)成份組合在一起進(jìn)行測試。驗(yàn)收測試:也稱為交付測試。目的是確保軟件準(zhǔn)備就緒并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。3測試執(zhí)行的步驟:單元單元測試單元測試單元測試單元測試單元測試缺陷跟蹤4測試執(zhí)行的步驟:模塊單元測試單元測試單元測試單元測試單元測試組裝測試缺陷跟蹤5測試執(zhí)行的步驟:集成組裝測試組裝測試組裝測試組裝測試集成測試缺陷跟蹤6測試執(zhí)行的步驟:全面測試系統(tǒng)測試缺陷跟蹤7測試執(zhí)行的步驟:維護(hù)系統(tǒng)維護(hù)二次開發(fā)項(xiàng)目更新單元測試組裝測試集成測試系統(tǒng)聯(lián)調(diào)回歸測試缺陷跟蹤8單元測試又稱模塊測試,是針對軟件設(shè)計(jì)的最小單位─程序模塊,進(jìn)行正確性檢驗(yàn)的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例。多個模塊可以平行地獨(dú)立進(jìn)行單元測試。單元測試測試程序中單個子程序或過程。在設(shè)計(jì)得好的軟件系統(tǒng)中,每個模塊完成一個清晰定義的子功能,而且這個子功能和同級其它模塊的功能之間沒有相互依賴關(guān)系,因此,有可能把每個模塊作為一個單獨(dú)的實(shí)體來測試。單元測試(UnitTesting)9單元測試目標(biāo):檢驗(yàn)程序最小單元有無錯誤接口、數(shù)據(jù)結(jié)構(gòu)、邊界、覆蓋、邏輯檢驗(yàn)單元編碼與設(shè)計(jì)是否吻合時機(jī):編碼完成后,首先要實(shí)施的測試方法:靜態(tài)測試動態(tài)白盒測試責(zé)任:開發(fā)工程師/開發(fā)小組10在單元測試時,測試者需要依據(jù)詳細(xì)設(shè)計(jì)說明書和源程序清單,了解該模塊的I/O條件和模塊的邏輯結(jié)構(gòu),主要采用白盒測試的測試用例,輔之以黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應(yīng)。
單元測試的內(nèi)容11單元測試12在單元測試的開始,應(yīng)對通過被測模塊的數(shù)據(jù)流進(jìn)行測試。測試項(xiàng)目包括:調(diào)用本模塊的輸入?yún)?shù)是否正確;本模塊調(diào)用子模塊時輸入給子模塊的參數(shù)是否正確;全局量的定義在各模塊中是否一致;在做內(nèi)外存交換時要考慮:文件屬性是否正確;
OPEN與CLOSE語句是否正確;緩沖區(qū)容量與記錄長度是否匹配;在進(jìn)行讀寫操作之前是否打開了文件;在結(jié)束文件處理時是否關(guān)閉了文件;正文寫入錯誤;
I/O錯誤是否檢查并做了處理。
(1)模塊接口測試13不正確或不一致的數(shù)據(jù)類型說明使用尚未賦值或尚未初始化的變量錯誤的初始值或錯誤的缺省值變量名拼寫錯或書寫錯全局?jǐn)?shù)據(jù)對模塊的影響
(2)局部數(shù)據(jù)結(jié)構(gòu)測試14選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進(jìn)行測試。應(yīng)當(dāng)設(shè)計(jì)測試用例查找由于錯誤的計(jì)算、不正確的比較或不正常的控制流而導(dǎo)致的錯誤。對基本執(zhí)行路徑和循環(huán)進(jìn)行測試可以發(fā)現(xiàn)大量的路徑錯誤。
(3)路徑測試15出錯的描述是否難以理解出錯的描述是否能夠?qū)﹀e誤定位顯示的錯誤與實(shí)際的錯誤是否相符對錯誤條件的處理正確與否在對錯誤進(jìn)行處理之前,錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等(4)錯誤處理測試16注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細(xì)地選擇測試用例,認(rèn)真加以測試。如果對模塊運(yùn)行時間有要求的話,還要專門進(jìn)行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運(yùn)行時間的因素。(5)邊界測試17
首先集中注意力來測試程序中較小的結(jié)構(gòu)塊,其優(yōu)點(diǎn)是:便于錯誤定位。由于一開始把注意力集中在程序的較小單元上,發(fā)現(xiàn)錯誤,就可以肯定錯誤所在模塊,因而便于糾錯;單元測試提供了同時測試多個模塊的機(jī)會,使得測試過程得以并行進(jìn)行。單元測試的優(yōu)點(diǎn)18實(shí)施步驟:制定計(jì)算機(jī)軟件單元測試計(jì)劃,應(yīng)在詳細(xì)設(shè)計(jì)階段完成;建立計(jì)算機(jī)軟件單元測試環(huán)境、編寫測試說明;執(zhí)行計(jì)算機(jī)軟件單元測試用例,并詳細(xì)記錄執(zhí)行信息;根據(jù)每個測試用例的預(yù)期輸出結(jié)果和實(shí)際運(yùn)行結(jié)果,判定該測試是否通過;如果測試不通過,應(yīng)分析錯誤原因,并在修正錯誤后進(jìn)行回歸測試,直至通過;完成計(jì)算機(jī)軟件單元測試報(bào)告;測試完成并通過后,將被測軟件和有關(guān)文檔納入配置管理。單元測試單元測試通過準(zhǔn)則:完成并通過了計(jì)算機(jī)軟件單元靜態(tài)分析;計(jì)算機(jī)軟件單元功能同詳細(xì)設(shè)計(jì)要求一致;計(jì)算機(jī)軟件單元接口同詳細(xì)設(shè)計(jì)要求一致;能正確處理輸入和運(yùn)行中的錯誤;對測試發(fā)現(xiàn)的問題進(jìn)行修改后,又執(zhí)行并通過了有關(guān)測試;達(dá)到規(guī)定的測試覆蓋類及覆蓋率且單元執(zhí)行正確;完成了計(jì)算機(jī)軟件單元測試報(bào)告。20單元測試的被測對象是程序單元,而程序單元不是一個獨(dú)立可運(yùn)行的程序,在對每個單元進(jìn)行單元測試時,也不能完全忽視它們和周圍模塊的相互關(guān)系。為了模擬這類關(guān)系,為程序單元的執(zhí)行構(gòu)造一個完整的環(huán)境,需設(shè)置兩種輔助測試模塊:驅(qū)動模塊和樁模塊。驅(qū)動模塊用以模擬被測模塊的上層模塊,測試執(zhí)行時由驅(qū)動模塊調(diào)用被測模塊使其運(yùn)行;樁模塊模擬被測模塊執(zhí)行時所調(diào)用的模塊,測試執(zhí)行時樁模塊使被測模塊能完整閉合地運(yùn)行。單元測試中的驅(qū)動模塊和樁模塊21驅(qū)動模塊被測模塊樁模塊樁模塊樁模塊
上圖表示了被測模塊、驅(qū)動模塊、樁模塊所構(gòu)成的單元測試執(zhí)行環(huán)境。由于測試模塊,可能調(diào)用多個其它模塊,因此可能有多個樁模塊。驅(qū)動模塊和樁模塊要設(shè)計(jì)得盡量簡單,避免因其錯誤干擾被測模塊運(yùn)行和測試結(jié)果判別。開發(fā)高內(nèi)聚(cohesion)度的模塊,可以簡化單元測試過程。模塊測試執(zhí)行環(huán)境構(gòu)成圖測試用例測試結(jié)果單元測試面向?qū)ο蟮膯卧獪y試測試思路以對象的類作為基本測試單位,查錯范圍主要是類定義之內(nèi)的屬性和服務(wù),以及有限的對外接口(消息)所涉及的部分;對父類測試完成后,子類的測試重點(diǎn)只是那些新定義的屬性和服務(wù)以及被改動的服務(wù);具體測試內(nèi)容基于類操作(或方法)的測試:測試類中的每個操作;基于類狀態(tài)的測試:考察類的實(shí)例(對象)在其生命周期各個狀態(tài)下的變化情況;基于類響應(yīng)狀態(tài)的測試:從類和實(shí)例的任務(wù)出發(fā),以外界向?qū)ο蟀l(fā)送消息序列的方法來測試類的各個響應(yīng)狀態(tài)。23
組裝測試又稱集成測試、聯(lián)合測試。通常,在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng)。這時需要考慮的問題是:在把各個模塊連接起來的時侯,穿越模塊接口的數(shù)據(jù)是否會丟失;一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度;在單元測試的同時可進(jìn)行組裝測試;發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構(gòu)成要求的軟件系統(tǒng)。集成測試(IntegratedTesting)24集成測試目標(biāo):檢驗(yàn)組成系統(tǒng)的模塊接口有無錯誤代碼實(shí)現(xiàn)的系統(tǒng)設(shè)計(jì)與總體設(shè)計(jì)是否吻合時機(jī):主要的單元測試完成后,經(jīng)常與單元測試同步進(jìn)行方法:白盒測試、灰盒測試、黑盒測試責(zé)任:開發(fā)工程師/開發(fā)小組測試工程師25模塊間的接口測試:接口測試是集成測試的基本任務(wù)。在接口測試中應(yīng)從調(diào)用關(guān)系和數(shù)據(jù)項(xiàng)的相容性兩方面考慮。數(shù)據(jù)項(xiàng)的相容性是指調(diào)用時數(shù)據(jù)傳遞的正確性。全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試:全局?jǐn)?shù)據(jù)結(jié)構(gòu)是一種常用的接口方式,因此要在集成測試中進(jìn)行測試。軟件功能模塊的功能測試:如果我們不是一下把所有的模塊集成為一個整體軟件,會獲得一些中間功能模塊,這也是規(guī)范有效的組裝測試過程要求的。在測試了構(gòu)成這個功能模塊內(nèi)接口的正確性后,我們還應(yīng)測試整個功能模塊是否滿足相應(yīng)的功能需求。雖然在接口測試時已證實(shí)功能模塊的一些功能,但只是側(cè)重于接口方面。因此,如果若干子功能形成了一個如設(shè)計(jì)文檔中要求的一個高層功能,必須進(jìn)行功能測試。性能測試:在必要時應(yīng)進(jìn)行組裝成的中間功能模塊的運(yùn)行時間、運(yùn)行空間、計(jì)算精度的測試。由于系統(tǒng)還沒有完全結(jié)合進(jìn)來,一些性能的度量容易進(jìn)行,也容易較早察覺真實(shí)模塊結(jié)合后給性能帶來的影響。集成測試的主要內(nèi)容26由模塊組裝成程序進(jìn)行測試有兩種方法,增量測試和非增量測試。增量測試是指不斷地把待測模塊組合到已經(jīng)測試過的模塊上去,然后再進(jìn)行測試;非增量測試是指獨(dú)立地測試每個模塊,再把它們組合成完整的程序。增量測試相對于非增量測試的優(yōu)點(diǎn)是:非增量測試先分散測試,再集中起來一次完成組合和測試,如果在模塊接口處存在差錯,只會組合后一下子暴露出來。使用增量測試方法可以較早地發(fā)現(xiàn)模塊接口錯誤,這是由于較早地把模塊組合起來進(jìn)行測試所致。增量測試?yán)靡褱y試過的模塊取代非增量測試中所需要的驅(qū)動模塊或樁模塊,這樣對后續(xù)模塊的測試會使得前面已測試過的模塊得到更多的檢驗(yàn),因而整個程序的測試能取得較好的效果。增量測試使調(diào)試工作變得容易,因?yàn)樵隽恐鸩浇M合和逐步測試模塊,把可能出現(xiàn)的錯誤逐步分散暴露出來,并且由于每次組合一個模塊,錯誤發(fā)生時,可以比較容易定位,這些錯誤肯定是在最新增加的模塊的連接中出現(xiàn)的。而非增量測試,直到對各個模塊測試結(jié)束,對整個程序進(jìn)行組合時才能發(fā)現(xiàn)錯誤,這時再要確定錯誤的位置就非常困難,因?yàn)殄e誤可能出現(xiàn)在程序的任何地方。集成測試的方法27它是一種非增量式組裝方式。也叫做整體拼裝。使用這種方式,首先對每個模塊分別進(jìn)行模塊測試,然后再把所有模塊組裝在一起進(jìn)行測試,最終得到要求的軟件系統(tǒng)。1.一次性組裝方式(bigbang)28這種組裝方式又稱漸增量組裝。首先對一個個模塊進(jìn)行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng)在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題通過增量逐步組裝成為要求的軟件系統(tǒng)。2.增量式組裝方式29這種組裝方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進(jìn)行組裝。自頂向下的增量方式在測試過程中較早地驗(yàn)證了主要的控制和判斷點(diǎn)。選用按深度方向組裝的方式,可以首先實(shí)現(xiàn)和驗(yàn)證一個完整的軟件功能。(1)自頂向下的增量方式3031這種組裝的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始組裝和測試。因?yàn)槟K是自底向上進(jìn)行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。在模塊的測試過程中需要從子模塊得到的信息可以直接運(yùn)行子模塊得到。(2)自底向上的增量方式32自頂向下增量的方式和自底向上增量的方式各有優(yōu)缺點(diǎn)。一般來講,一種方式的優(yōu)點(diǎn)是另一種方式的缺點(diǎn)。33衍變的自頂向下的增量測試:首先對輸入/輸出模塊和引入新算法模塊進(jìn)行測試;再自底向上組裝成為功能相當(dāng)完整且相對獨(dú)立的子系統(tǒng);然后由主模塊開始自頂向下進(jìn)行增量測試。(3)混合增量式測試34在組裝測試時,應(yīng)當(dāng)確定關(guān)鍵模塊,對這些關(guān)鍵模塊及早進(jìn)行測試。關(guān)鍵模塊的特征:滿足某些軟件需求;程序的模塊結(jié)構(gòu)中位于較高的層次(高層控制模塊);較復(fù)雜、較易發(fā)生錯誤;有明確定義的性能要求。(4)關(guān)鍵模塊問題35確認(rèn)測試又稱有效性測試。任務(wù)是驗(yàn)證軟件的功能和性能及其它特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定。它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。確認(rèn)測試(ValidationTesting)36
通過實(shí)施預(yù)定的測試計(jì)劃和測試步驟,確定:軟件的特性是否與需求相符;所有的文檔都是正確且便于使用;同時,對其它軟件需求,例如可移植性、兼容性、出錯自動恢復(fù)、可維護(hù)性等,也都要進(jìn)行測試。確認(rèn)測試(ValidationTesting)37
確認(rèn)測試階段要進(jìn)行軟件配置復(fù)查,軟件配置復(fù)查的目的是保證:軟件配置的所有成分都齊全;各方面的質(zhì)量都符合要求;具有維護(hù)階段所必需的細(xì)節(jié);而且已經(jīng)編排好分類的目錄。應(yīng)當(dāng)嚴(yán)格遵守用戶手冊和操作手冊中規(guī)定的使用步驟,以便檢查這些文檔資料的完整性和正確性。確認(rèn)測試38
在全部軟件測試的測試用例運(yùn)行完后,所有的測試結(jié)果可以分為兩類:測試結(jié)果與預(yù)期的結(jié)果相符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明書相符合,從而這部分程序被接受。測試結(jié)果與預(yù)期的結(jié)果不符。這說明軟件的這部分功能或性能特征與需求規(guī)格說明不一致,因此要為它提交一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年全自動變焦照相機(jī)項(xiàng)目資金申請報(bào)告代可行性研究報(bào)告
- 2024年變頻器柜體系統(tǒng)項(xiàng)目資金籌措計(jì)劃書
- 2025年河南省三門峽市單招職業(yè)適應(yīng)性測試題庫匯編
- 2025年湖北省荊門市單招職業(yè)傾向性測試題庫匯編
- 2025年黑龍江商業(yè)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫一套
- 兒童樂園裝修合同
- 2025年度安全培訓(xùn)與操作規(guī)范服務(wù)協(xié)議
- 2025年度員工勞動合同終止及生活困難補(bǔ)助協(xié)議
- 2025陜西省安全員C證考試(專職安全員)題庫附答案
- 2025年度房屋贈與及物業(yè)管理權(quán)轉(zhuǎn)移合同
- 中國-各省市地圖可編輯課件
- (兒科學(xué)課件)腎病綜合征
- 光纜線路工程段終版施工圖
- 2023年最新的郭氏宗祠的對聯(lián)大全
- 礦井年度災(zāi)害預(yù)防和處理計(jì)劃
- 畢業(yè)論文-基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 駱駝祥子1一24章批注
- 新部編人教版四年級下冊道德與法治全冊教案(教學(xué)設(shè)計(jì))
- 物業(yè)服務(wù)企業(yè)市場拓展戰(zhàn)略規(guī)劃課件
- 進(jìn)制轉(zhuǎn)換教學(xué)設(shè)計(jì)
- 垂直度和跳動形位公差間的關(guān)系及取代應(yīng)用下
評論
0/150
提交評論