版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件測試的定義軟件測試的模型測試策略軟件生存周期軟件測試的概念軟件測試的對象軟件測試的分類軟件測試的目的軟件測試的原則軟件生存周期:項目規(guī)劃、需求定義和需求分析、軟件設(shè)計、程序編碼、軟件測試、運行維護。問題:需求定義與需求分析?設(shè)計說明書設(shè)計說明書設(shè)計員:我要讓軟件怎么做?需求規(guī)格說明書需求規(guī)格說明書分析員:我可以提供什么?源程序源程序程序員:我要讓計算機怎么做?軟件需求軟件需求用戶:我要什么?運行結(jié)果運行結(jié)果計算機:程序運行得到什么?理解正確性編碼正確性理解正確性設(shè)計正確性表達(dá)正確性理解正確性表達(dá)正確性相符嗎?輸入正確性運行正確性軟件生存期的各個階段都可能產(chǎn)生錯誤。而軟件需求分析、設(shè)計和實現(xiàn)
2、階段是軟件的主要錯誤來源。問題:需求分析、設(shè)計都可能引入什么錯誤;其嚴(yán)重性如何?經(jīng)典定義: 在規(guī)定的條件下對程序程序進(jìn)行操作,以發(fā)現(xiàn)錯誤和對軟件質(zhì)量進(jìn)行評估 A+B+C=DA+B+C=D 使用人工或自動化手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是發(fā)現(xiàn)預(yù)期結(jié)果與實際結(jié)果之間的差別。擴展定義: 軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。 軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(包括輸入數(shù)據(jù)與預(yù)期輸出結(jié)果),并利用這些測試用例運行軟件,以發(fā)現(xiàn)軟件錯誤的過程。廣義的軟件測試是由
3、確認(rèn)、驗證、測試3個方面組成。 確認(rèn):評估將要開發(fā)的軟件產(chǎn)品是否正確無誤、可行和有價值的。確認(rèn)意味著確保一個待開發(fā)軟件是正確無誤的,是對軟件開發(fā)構(gòu)想的檢測。 驗證:檢測軟件開發(fā)的每個階段、每個步驟結(jié)果是否正確無誤,是否與軟件開發(fā)各階段的要求或期望的結(jié)果相一致。驗證意味著確保軟件會正確無誤地實現(xiàn)軟件的需求,開發(fā)過程是沿著正確的方向進(jìn)行的。 測試:與狹隘的測試概念統(tǒng)一。確認(rèn):保證所生產(chǎn)的軟件可追溯到用戶需求的一系列活動。(生產(chǎn)的軟件是否正確)確認(rèn)(validation):are we building the right product ?驗證:保證軟件正確地實現(xiàn)了特定功能的一系列活動。(生產(chǎn)軟件
4、的步驟是否正確)驗證(verification):are we building the product right ?確認(rèn)主要體現(xiàn)在計劃階段、需求分析階段,也會出現(xiàn)在測試階段;驗證主要體現(xiàn)在設(shè)計階段、編碼階段;測試主要體現(xiàn)在編碼階段和測試階段。確認(rèn)、驗證與測試是相輔相成的。確認(rèn)產(chǎn)生驗證和測試的標(biāo)準(zhǔn),驗證和測試幫助完成確認(rèn)。軟件測試不等于程序測試。軟件測試貫串于軟件定義和開發(fā)的整個期間。需求規(guī)格說明、概要設(shè)計說明、詳細(xì)設(shè)計說明、程序、用戶文檔都是軟件測試的對象。按測試用例設(shè)計方法:白盒測試、黑盒測試。按測試策略和過程:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試、驗收測試。按實施對象:企業(yè)內(nèi)部測試、
5、最終用戶測試、第三方測試。測試的最直接的目的是尋找錯誤,并且是盡最大可能找出最多的錯誤。觀點1:好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。觀點2:成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。測試方案1、測試方案2測試方案3證明程序的正確性除非僅處理有限種情況發(fā)現(xiàn)程序錯誤直接目標(biāo)檢查系統(tǒng)是否滿足需求期望目標(biāo)測試目的延伸(軟件工程):1. 測試的目的是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質(zhì)量提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患帶來的商業(yè)風(fēng)險。 2. 通過分析錯誤產(chǎn)生的原因還可以幫助發(fā)現(xiàn)當(dāng)前開發(fā)工作所采
6、用的軟件過程的缺陷,以便進(jìn)行軟件過程改進(jìn)。同時通過對測試結(jié)果的分析整理,還可以修正軟件開發(fā)規(guī)則,并為軟件可靠性分析提供依據(jù)。3. 測試是以評價一個程序或者系統(tǒng)屬性為目標(biāo)的一種活動,測試是對軟件質(zhì)量的度量與評估,以驗證軟件的質(zhì)量滿足用戶的需求,為用戶選用戶選擇與接受軟件提供有力的擇與接受軟件提供有力的依據(jù)依據(jù)。所有的軟件測試都應(yīng)追溯到用戶需求。盡早地和不斷地進(jìn)行軟件測試。程序員應(yīng)避免檢查測試自己編寫的程序。執(zhí)行測試計劃,盡量避免測試的隨意性。增量測試,由小到大。充分注意群集現(xiàn)象。完全測試是不可能的,測試需要終止。測試無法顯示軟件潛在的錯誤妥善保存一切測試過程文檔。軟件測試的定義軟件測試的模型測試
7、策略V模型W模型H模型其他模型制定測試案例用戶需求用戶需求需求分析需求分析概要設(shè)計概要設(shè)計詳細(xì)設(shè)計詳細(xì)設(shè)計編碼編碼單元測試單元測試集成測試集成測試確認(rèn)和系統(tǒng)測試確認(rèn)和系統(tǒng)測試驗收測試驗收測試軟件產(chǎn)品軟件產(chǎn)品需求、設(shè)計和編碼的開發(fā)活動隨時間而進(jìn)行,而相應(yīng)的測試活動(即針對需求、設(shè)計和編碼的測試)開展的次序正好相反。成功應(yīng)用V模型的關(guān)鍵因素是設(shè)計測試案例的時機。測試是開發(fā)之后的一個階段。測試的對象就是程序本身。實際應(yīng)用中容易導(dǎo)致需求階段的錯誤一直到最后系統(tǒng)測試階段才被發(fā)現(xiàn)。編碼用戶需求需求分析與系統(tǒng)設(shè)計概要設(shè)計詳細(xì)設(shè)計單元測試集成測試確認(rèn)測試與系統(tǒng)測試驗收測試用戶需求V&V驗收測試設(shè)計需求分析與系
8、統(tǒng)設(shè)計V&V確認(rèn)與系統(tǒng)測試設(shè)計概要設(shè)計V&V集成測試設(shè)計詳細(xì)設(shè)計V&V單元測試設(shè)計交付實施集成測試伴隨整個開發(fā)周期。測試對象不僅是程序,還包括需求和設(shè)計。相應(yīng)開發(fā)活動完成,即可執(zhí)行測試(例如:需求分析完成,即可進(jìn)行針對需求的測試/設(shè)計) 。需求驗證關(guān)注重點: 完備性 一致性 正確性 可行性 易修改性 易理解性 易測試性和可驗證性設(shè)計驗證測試關(guān)注重點: 完備性 一致性 正確性 可行性 易修改性 模塊性 健壯性 易追溯性 易測試性和可驗證性W模型未解決V模型中的部分問題: 需求、設(shè)計、編碼串行進(jìn)行,無法并行工作。 未將測試流程的完整性表示出來。測試流程: 測試準(zhǔn)備活動:測試計劃、測試設(shè)計、測試開發(fā)
9、。 測試執(zhí)行活動:測試運行、測試評估。測試準(zhǔn)備測試執(zhí)行測試流程其他流程(如設(shè)計流程)測試就緒點測試不僅僅是測試執(zhí)行,還包括其他活動。測試是一個獨立流程,貫穿產(chǎn)品整個周期,與其他流程并發(fā)進(jìn)行。測試要盡早準(zhǔn)備,盡早執(zhí)行。測試準(zhǔn)備和測試執(zhí)行分離,有利于資源調(diào)配。降低成本,提高效率。充分體現(xiàn)測試過程(不是技術(shù))的復(fù)雜性。有組織、結(jié)構(gòu)化的獨立流程,有助于跟蹤測試投入的流向。X模型的左邊描述的是針對單獨程序片段所進(jìn)行的相互分離的編碼和測試。此后將進(jìn)行頻繁的交接,通過集成最終合成為可執(zhí)行的程序。這一點在圖的右上方得以體現(xiàn)。這些可執(zhí)行程序還需要進(jìn)行測試,已通過集成測試的成品可以進(jìn)行封版并提交給用戶,也可以作為
10、更大規(guī)模和范圍內(nèi)集成的一部分。X模型還定位了探索性測試,即圖中右下方所示。對V模型提出質(zhì)疑,也因為V模型基于一套必須按照一定順序嚴(yán)格排列的開發(fā)步驟,而這很可能并沒有反映實際的實踐過程。因為在實際中,很多項目缺乏足夠的需求,V模型還是從需求處理開始。質(zhì)疑了單元測試和集成測試的區(qū)別,因為在某些場合人們可能會跳過單元測試而熱衷于直接進(jìn)行集成測試??尚行苑治隹尚行詧蟾嫦到y(tǒng)分析業(yè)務(wù)需求說明系統(tǒng)設(shè)計驗收測試計劃驗收標(biāo)準(zhǔn)基于測試的需求執(zhí)行設(shè)計文檔驗收測試運行與維護(生命周期)開發(fā)技術(shù)測試計劃正式走查黑/白盒單元測試集成測試系統(tǒng)測試專項測試獨立(QA)測試編碼、調(diào)試非正式走查開發(fā)和測試相結(jié)合:前置測試模型將開
11、發(fā)和測試的生命周期整合在一起。對每一個交付內(nèi)容進(jìn)行測試:每一個交付的開發(fā)結(jié)果都必須通過一定的方式進(jìn)行測試。在設(shè)計階段進(jìn)行測試計劃和測試設(shè)計:設(shè)計階段是做測試計劃和測試設(shè)計的最好時機。測試和開發(fā)結(jié)合在一起:將測試執(zhí)行和開發(fā)結(jié)合在一起,并在開發(fā)階段以編碼-測試-編碼-測試的方式來體現(xiàn)。讓驗收測試和技術(shù)測試保持相互獨立:驗收測試應(yīng)該獨立于技術(shù)測試,這樣可以提供雙重的保險,以保證設(shè)計及程序編碼能夠符合最終用戶的需求。軟件測試的定義軟件測試的模型測試策略測試的過程單元測試集成測試確認(rèn)、系統(tǒng)與驗收測試集成集成測試測試確認(rèn)確認(rèn)測試測試系統(tǒng)系統(tǒng)測試測試單元測試被測模塊已集成的軟件已確認(rèn)的軟件可交付的軟件測試通
12、過的模塊設(shè)計信息軟件需求系統(tǒng)其它元素單元測試被測模塊單元測試被測模塊驗收驗收測試測試用戶核心流程單元測試又稱為模塊測試,是針對程序模塊(軟件設(shè)計的最小單位)來進(jìn)行正確性檢驗的測試工作。軟件單元測試的目的是檢測程序模塊對詳細(xì)設(shè)計說明書的符合程度;軟件單元測試依據(jù)是單元測試計劃。測試模型 驅(qū)動模塊:相當(dāng)于所測模塊的主程序。 樁模塊:也叫做存根模塊。用以代替所測模塊調(diào)用的子模塊。測試用例測試用例驅(qū)動模塊樁模塊樁模塊2被測模塊被測模塊測試結(jié)果測試結(jié)果樁模塊樁模塊1樁模塊樁模塊n考慮方面 模塊接口測試 局部數(shù)據(jù)測試 獨立路徑測試 出錯處理測試 邊界條件測試模塊接口獨立路徑邊界條件局部數(shù)據(jù)模塊模塊出錯處理
13、原則 為模塊正常運行設(shè)計 為正向測試設(shè)計 為逆向測試設(shè)計 為滿足特殊需求設(shè)計 為代碼覆蓋設(shè)計檢查編碼是否遵循軟件編程規(guī)范和標(biāo)準(zhǔn)。自動或手動分析程序。設(shè)計測試用例并運行。錯誤跟蹤分析。軟件集成測試又稱組裝測試,即對程序模塊采用一次性或增值方法組裝起來,對系統(tǒng)的接口進(jìn)行正確性檢驗的測試工作。軟件集成測試的目的是檢測程序?qū)Ω乓O(shè)計說明書的符合程度;軟件集成測試依據(jù)是集成測試計劃。集成測試,通常是在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是: 在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失。 一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響。 各個子功
14、能組合起來,能否達(dá)到預(yù)期要求的父功能。 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題。 單個模塊的誤差累積起來,是否會放大,從而達(dá)到不能接受的程度。 模塊間是否存在時序問題(實時系統(tǒng))與資源競爭。一次性組裝/整體拼裝:使用這種方式,首先對每個模塊分別進(jìn)行模塊測試,然后再把所有模塊組裝在一起進(jìn)行測試,最終得到要求的軟件系統(tǒng)。 可以并行調(diào)試所有模塊,因此充分利用人力,加快工作進(jìn)度。 接口錯誤發(fā)現(xiàn)晚。 錯誤定位困難。增殖式組裝/漸增式組裝:首先對一個個模塊進(jìn)行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。 自頂向下的增殖方式: 集成步驟: 主模塊作為驅(qū)動模塊,所有與
15、主模塊直接相連的模塊用樁模塊替代。 采用深度或廣度優(yōu)先,每次用一個子模塊替換樁模塊。 進(jìn)行回歸測試以確定集成新模塊后沒有引入錯誤。 從第2步重復(fù)進(jìn)行上述過程,直到整個系統(tǒng)被集成完成。 特點: 這種組裝方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進(jìn)行組裝。 自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。 自頂向下的增殖方式: 樁模塊的選擇 自底向上的增殖方式: 集成步驟: 由驅(qū)動模塊控制最底層模塊,進(jìn)行并行測試。 用實際模塊替換驅(qū)動模塊,形成子系統(tǒng)。 為子系統(tǒng)配備驅(qū)動模塊進(jìn)行測試。 按程序結(jié)構(gòu)向上組裝測試后的構(gòu)件,直到整個系統(tǒng)被集成完成。 特點: 這種組裝的方式是從程序模塊結(jié)構(gòu)的
16、最底層的模塊開始組裝和測試。 因為模塊是自底向上進(jìn)行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。 自底向上的增殖方式: 驅(qū)動模塊的選擇優(yōu)點缺點自頂向下測試 可以自然地做到逐步求精,一開始便能讓測試者看到系統(tǒng)的框架 需要提供樁模塊輸入輸出模塊、復(fù)雜算法模塊一般在最底層,錯誤發(fā)現(xiàn)晚自底向上測試 不需要樁模塊輸入輸出模塊、復(fù)雜算法模塊測試早 直到最后一個模塊被加進(jìn)去之后才能看到整個系統(tǒng)的框架 混合增殖式測試: 衍變的自頂向下的增殖測試 強化輸入輸出模塊、復(fù)雜算法模塊測試。 自底向上組裝成子系統(tǒng)。 由主模塊開始自頂向下增值測試。 自底向上
17、自頂向下的增殖測試 首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進(jìn)行組裝和測試。 然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試。 關(guān)鍵模塊: 滿足某些軟件需求。 高層控制模塊。 較復(fù)雜、較易發(fā)生錯誤。 有明確定義的性能要求。 關(guān)鍵模塊及早測試,回歸測試時重點測試。集成測試應(yīng)與單元測試的完成時間協(xié)調(diào)起來。在制定測試設(shè)計時,應(yīng)考慮如下因素: 是采用何種系統(tǒng)組裝方法來進(jìn)行組裝測試。 組裝測試過程中連接各個模塊的順序。 模塊代碼編制和測試進(jìn)度是否與組裝測試的順序一致。 測試過程中是否需要專門的硬件設(shè)備。集成集成測試測試確認(rèn)確認(rèn)測試測試系統(tǒng)系統(tǒng)測試測試單元測試被測模塊已集成的軟件已確認(rèn)的軟件可交付的軟件
18、測試通過的模塊設(shè)計信息軟件需求系統(tǒng)其它元素單元測試被測模塊單元測試被測模塊驗收驗收測試測試用戶核心流程確認(rèn)測試包括有效性測試與軟件配置復(fù)查。任務(wù)是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明中已經(jīng)明確規(guī)定。有效性測試 是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境)下,運用黑盒測試的方法,驗證所測軟件是否滿足需求規(guī)格說明書列的需求。軟件配置復(fù)查 保證軟件配置的所有成分都齊全。 各方面的質(zhì)量都符合要求。 具有維護階段所必需的細(xì)節(jié)。 而且已經(jīng)編排好分類的目錄。系統(tǒng)測試是將通過確認(rèn)測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)
19、和人員等其他系統(tǒng)元素結(jié)合在一起測試。在實際運行(使用)環(huán)境下,對計算機系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。驗收測試根據(jù)合同、需求規(guī)格說明書對成品進(jìn)行驗收測試。驗收測試與系統(tǒng)測試的區(qū)別: 組織機構(gòu):驗收組由用戶代表、開發(fā)商代表、監(jiān)理代表等組成。 測試地點:驗收測試原則上在顧客所在地進(jìn)行,但如顧客同意也可在公司內(nèi)模擬用戶環(huán)境進(jìn)行。 覆蓋范圍:驗收測試針對用戶關(guān)心的核心流程。 實施人員:用戶為主。功能(機能)測試:目標(biāo)中的功能是否真正實現(xiàn)了。安全性測試:設(shè)法破壞程序的安全性、保密檢查??煽啃詼y試:平均無故障時間、因故障停機時間,需要模擬運行環(huán)境。恢復(fù)測試:測試系統(tǒng)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度金融信息服務(wù)臨時工勞動合同書
- 2025年度商鋪租賃合同范本:現(xiàn)代商業(yè)綜合體租賃管理細(xì)則3篇
- 個性化私人合作協(xié)議模板2024版B版
- 2025年度個人與個人草原保護管理服務(wù)合同范本3篇
- 2025年字畫裝裱作品定制與售后服務(wù)合同3篇
- 2025年度美甲行業(yè)品牌形象設(shè)計與承包合同
- 2025年精裝房裝修材料運輸與儲存合同3篇
- 2025年度生態(tài)環(huán)保技術(shù)引進(jìn)承包合同規(guī)范范本4篇
- 2025版文化創(chuàng)意設(shè)計師專屬聘用協(xié)議3篇
- 二零二五年度城市公園委托運營管理綜合服務(wù)合同4篇
- 《社會工作實務(wù)》全冊配套完整課件3
- 單位違反會風(fēng)會書檢討書
- 2024年4月自考00832英語詞匯學(xué)試題
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運維服務(wù)信息化運維方案
- 汽車修理廠員工守則
- 公安交通管理行政處罰決定書式樣
- 10.《運動技能學(xué)習(xí)與控制》李強
- 冀教版數(shù)學(xué)七年級下冊綜合訓(xùn)練100題含答案
- 1神經(jīng)外科分級護理制度
評論
0/150
提交評論