版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件測試工程師培訓(xùn)
測試基礎(chǔ)培訓(xùn)內(nèi)容軟件測試的定義軟件測試的模型測試策略軟件測試的定義軟件生存周期軟件測試的概念軟件測試的對象軟件測試的分類軟件測試的目的軟件測試的原則軟件生存周期軟件生存周期:項目規(guī)劃、需求定義和需求分析、軟件設(shè)計、程序編碼、軟件測試、運行維護。問題:需求定義與需求分析?軟件生存周期設(shè)計說明書設(shè)計員:我要讓軟件怎么做?需求規(guī)格說明書分析員:我可以提供什么?源程序程序員:我要讓計算機怎么做?軟件需求用戶:我要什么?運行結(jié)果計算機:程序運行得到什么?理解正確性編碼正確性理解正確性設(shè)計正確性表達正確性理解正確性表達正確性相符嗎?輸入正確性運行正確性軟件測試的概念軟件生存期的各個階段都可能產(chǎn)生錯誤。而軟件需求分析、設(shè)計和實現(xiàn)階段是軟件的主要錯誤來源。問題:需求分析、設(shè)計都可能引入什么錯誤;其嚴重性如何?軟件測試的概念經(jīng)典定義:在規(guī)定的條件下對程序進行操作,以發(fā)現(xiàn)錯誤和對軟件質(zhì)量進行評估
A+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個方面組成。確認:評估將要開發(fā)的軟件產(chǎn)品是否正確無誤、可行和有價值的。確認意味著確保一個待開發(fā)軟件是正確無誤的,是對軟件開發(fā)構(gòu)想的檢測。驗證:檢測軟件開發(fā)的每個階段、每個步驟結(jié)果是否正確無誤,是否與軟件開發(fā)各階段的要求或期望的結(jié)果相一致。驗證意味著確保軟件會正確無誤地實現(xiàn)軟件的需求,開發(fā)過程是沿著正確的方向進行的。測試:與狹隘的測試概念統(tǒng)一。軟件測試的概念確認:保證所生產(chǎn)的軟件可追溯到用戶需求的一系列活動。(生產(chǎn)的軟件是否正確)確認(validation):arewebuildingtherightproduct?驗證:保證軟件正確地實現(xiàn)了特定功能的一系列活動。(生產(chǎn)軟件的步驟是否正確)驗證(verification):arewebuildingtheproductright?軟件測試的概念確認主要體現(xiàn)在計劃階段、需求分析階段,也會出現(xiàn)在測試階段;驗證主要體現(xiàn)在設(shè)計階段、編碼階段;測試主要體現(xiàn)在編碼階段和測試階段。確認、驗證與測試是相輔相成的。確認產(chǎn)生驗證和測試的標準,驗證和測試幫助完成確認。軟件測試的對象軟件測試不等于程序測試。軟件測試貫串于軟件定義和開發(fā)的整個期間。需求規(guī)格說明、概要設(shè)計說明、詳細設(shè)計說明、程序、用戶文檔都是軟件測試的對象。軟件測試的分類按測試用例設(shè)計方法:白盒測試、黑盒測試。按測試策略和過程:單元測試、集成測試、確認測試、系統(tǒng)測試、驗收測試。按實施對象:企業(yè)內(nèi)部測試、最終用戶測試、第三方測試。軟件測試的目的測試的最直接的目的是尋找錯誤,并且是盡最大可能找出最多的錯誤。觀點1:好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。觀點2:成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。測試方案1、測試方案2測試方案3軟件測試的目的證明程序的正確性——除非僅處理有限種情況發(fā)現(xiàn)程序錯誤——直接目標檢查系統(tǒng)是否滿足需求——期望目標軟件測試的目的測試目的延伸(軟件工程):測試的目的是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患帶來的商業(yè)風(fēng)險。
軟件測試的目的通過分析錯誤產(chǎn)生的原因還可以幫助發(fā)現(xiàn)當(dāng)前開發(fā)工作所采用的軟件過程的缺陷,以便進行軟件過程改進。同時通過對測試結(jié)果的分析整理,還可以修正軟件開發(fā)規(guī)則,并為軟件可靠性分析提供依據(jù)。軟件測試的目的測試是以評價一個程序或者系統(tǒng)屬性為目標的一種活動,測試是對軟件質(zhì)量的度量與評估,以驗證軟件的質(zhì)量滿足用戶的需求,為用戶選擇與接受軟件提供有力的依據(jù)。軟件測試的目的驗證用戶需求發(fā)現(xiàn)軟件缺陷改進開發(fā)過程目的:在軟件分發(fā)到最終用戶手中之前,發(fā)現(xiàn)并解決軟件缺陷軟件測試的原則所有的軟件測試都應(yīng)追溯到用戶需求。盡早地和不斷地進行軟件測試。程序員應(yīng)避免檢查測試自己編寫的程序。執(zhí)行測試計劃,盡量避免測試的隨意性。增量測試,由小到大。軟件測試的原則充分注意群集現(xiàn)象。完全測試是不可能的,測試需要終止。測試無法顯示軟件潛在的錯誤妥善保存一切測試過程文檔。培訓(xùn)內(nèi)容軟件測試的定義軟件測試的模型測試策略軟件測試的模型V模型W模型H模型其他模型V模型——制定測試案例用戶需求需求分析概要設(shè)計詳細設(shè)計編碼單元測試集成測試確認和系統(tǒng)測試驗收測試軟件產(chǎn)品V模型-應(yīng)用需求、設(shè)計和編碼的開發(fā)活動隨時間而進行,而相應(yīng)的測試活動(即針對需求、設(shè)計和編碼的測試)開展的次序正好相反。成功應(yīng)用V模型的關(guān)鍵因素是設(shè)計測試案例的時機。V模型-問題測試是開發(fā)之后的一個階段。測試的對象就是程序本身。實際應(yīng)用中容易導(dǎo)致需求階段的錯誤一直到最后系統(tǒng)測試階段才被發(fā)現(xiàn)。W模型W模型-應(yīng)用測試伴隨整個開發(fā)周期。測試對象不僅是程序,還包括需求和設(shè)計。相應(yīng)開發(fā)活動完成,即可執(zhí)行測試(例如:需求分析完成,即可進行針對需求的測試/設(shè)計)。W模型-應(yīng)用需求驗證關(guān)注重點:完備性一致性正確性可行性易修改性易理解性易測試性和可驗證性W模型-應(yīng)用設(shè)計驗證測試關(guān)注重點:完備性一致性正確性可行性易修改性模塊性健壯性易追溯性易測試性和可驗證性W模型-問題W模型未解決V模型中的部分問題:需求、設(shè)計、編碼串行進行,無法并行工作。未將測試流程的完整性表示出來。H模型測試流程:測試準備活動:測試計劃、測試設(shè)計、測試開發(fā)。測試執(zhí)行活動:測試運行、測試評估。測試準備測試執(zhí)行測試流程其他流程(如設(shè)計流程)測試就緒點H模型-應(yīng)用測試不僅僅是測試執(zhí)行,還包括其他活動。測試是一個獨立流程,貫穿產(chǎn)品整個周期,與其他流程并發(fā)進行。測試要盡早準備,盡早執(zhí)行。H模型-意義測試準備和測試執(zhí)行分離,有利于資源調(diào)配。降低成本,提高效率。充分體現(xiàn)測試過程(不是技術(shù))的復(fù)雜性。有組織、結(jié)構(gòu)化的獨立流程,有助于跟蹤測試投入的流向。其他模型-X模型其他模型-X模型X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試。此后將進行頻繁的交接,通過集成最終合成為可執(zhí)行的程序。這一點在圖的右上方得以體現(xiàn)。這些可執(zhí)行程序還需要進行測試,已通過集成測試的成品可以進行封版并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。X模型還定位了探索性測試,即圖中右下方所示。其他模型-X模型對V模型提出質(zhì)疑,也因為V模型基于一套必須按照一定順序嚴格排列的開發(fā)步驟,而這很可能并沒有反映實際的實踐過程。因為在實際中,很多項目缺乏足夠的需求,V模型還是從需求處理開始。質(zhì)疑了單元測試和集成測試的區(qū)別,因為在某些場合人們可能會跳過單元測試而熱衷于直接進行集成測試。其他模型-前置模型其他模型-前置模型開發(fā)和測試相結(jié)合:前置測試模型將開發(fā)和測試的生命周期整合在一起。對每一個交付內(nèi)容進行測試:每一個交付的開發(fā)結(jié)果都必須通過一定的方式進行測試。在設(shè)計階段進行測試計劃和測試設(shè)計:設(shè)計階段是做測試計劃和測試設(shè)計的最好時機。其他模型-前置模型測試和開發(fā)結(jié)合在一起:將測試執(zhí)行和開發(fā)結(jié)合在一起,并在開發(fā)階段以編碼-測試-編碼-測試的方式來體現(xiàn)。讓驗收測試和技術(shù)測試保持相互獨立:驗收測試應(yīng)該獨立于技術(shù)測試,這樣可以提供雙重的保險,以保證設(shè)計及程序編碼能夠符合最終用戶的需求。培訓(xùn)內(nèi)容軟件測試的定義軟件測試的模型測試策略測試策略測試的過程單元測試集成測試確認、系統(tǒng)與驗收測試測試的過程集成測試確認測試系統(tǒng)測試單元測試被測模塊已集成的軟件已確認的軟件可交付的軟件測試通過的模塊設(shè)計信息軟件需求系統(tǒng)其它元素單元測試被測模塊單元測試被測模塊驗收測試用戶核心流程單元測試單元測試又稱為模塊測試,是針對程序模塊(軟件設(shè)計的最小單位)來進行正確性檢驗的測試工作。軟件單元測試的目的是檢測程序模塊對《詳細設(shè)計說明書》的符合程度;軟件單元測試依據(jù)是《單元測試計劃》。單元測試-設(shè)計測試模型驅(qū)動模塊:相當(dāng)于所測模塊的主程序。樁模塊:也叫做存根模塊。用以代替所測模塊調(diào)用的子模塊。測試用例驅(qū)動模塊樁模塊2被測模塊測試結(jié)果樁模塊1樁模塊n單元測試-設(shè)計考慮方面模塊接口測試局部數(shù)據(jù)測試獨立路徑測試出錯處理測試邊界條件測試模塊接口獨立路徑邊界條件局部數(shù)據(jù)模塊出錯處理單元測試-設(shè)計原則為模塊正常運行設(shè)計為正向測試設(shè)計為逆向測試設(shè)計為滿足特殊需求設(shè)計為代碼覆蓋設(shè)計單元測試-執(zhí)行檢查編碼是否遵循軟件編程規(guī)范和標準。自動或手動分析程序。設(shè)計測試用例并運行。錯誤跟蹤分析。單元測試-完成單元測試單元測試單元測試單元測試單元測試集成測試軟件集成測試又稱組裝測試,即對程序模塊采用一次性或增值方法組裝起來,對系統(tǒng)的接口進行正確性檢驗的測試工作。軟件集成測試的目的是檢測程序?qū)Α陡乓O(shè)計說明書》的符合程度;軟件集成測試依據(jù)是《集成測試計劃》。集成測試-設(shè)計集成測試,通常是在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是:在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失。一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響。各個子功能組合起來,能否達到預(yù)期要求的父功能。全局數(shù)據(jù)結(jié)構(gòu)是否有問題。單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。模塊間是否存在時序問題(實時系統(tǒng))與資源競爭。集成測試-整體拼裝一次性組裝/整體拼裝:使用這種方式,首先對每個模塊分別進行模塊測試,然后再把所有模塊組裝在一起進行測試,最終得到要求的軟件系統(tǒng)??梢圆⑿姓{(diào)試所有模塊,因此充分利用人力,加快工作進度。接口錯誤發(fā)現(xiàn)晚。錯誤定位困難。集成測試-整體拼裝集成測試-增殖式組裝增殖式組裝/漸增式組裝:首先對一個個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。集成測試-增殖式組裝自頂向下的增殖方式:集成步驟:主模塊作為驅(qū)動模塊,所有與主模塊直接相連的模塊用樁模塊替代。采用深度或廣度優(yōu)先,每次用一個子模塊替換樁模塊。進行回歸測試以確定集成新模塊后沒有引入錯誤。從第2步重復(fù)進行上述過程,直到整個系統(tǒng)被集成完成。特點:這種組裝方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進行組裝。自頂向下的增殖方式在測試過程中較早地驗證了主要的控制和判斷點。集成測試-增殖式組裝集成測試-增殖式組裝自頂向下的增殖方式:樁模塊的選擇集成測試-增殖式組裝自底向上的增殖方式:集成步驟:由驅(qū)動模塊控制最底層模塊,進行并行測試。用實際模塊替換驅(qū)動模塊,形成子系統(tǒng)。為子系統(tǒng)配備驅(qū)動模塊進行測試。按程序結(jié)構(gòu)向上組裝測試后的構(gòu)件,直到整個系統(tǒng)被集成完成。特點:這種組裝的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始組裝和測試。因為模塊是自底向上進行組裝,對于一個給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測試完成,所以不再需要樁模塊。集成測試-增殖式組裝集成測試-增殖式組裝自底向上的增殖方式:驅(qū)動模塊的選擇集成測試-增殖式組裝優(yōu)點缺點自頂向下測試
可以自然地做到逐步求精,一開始便能讓測試者看到系統(tǒng)的框架
需要提供樁模塊輸入輸出模塊、復(fù)雜算法模塊一般在最底層,錯誤發(fā)現(xiàn)晚自底向上測試
不需要樁模塊輸入輸出模塊、復(fù)雜算法模塊測試早
直到最后一個模塊被加進去之后才能看到整個系統(tǒng)的框架
集成測試-增殖式組裝混合增殖式測試:衍變的自頂向下的增殖測試強化輸入輸出模塊、復(fù)雜算法模塊測試。自底向上組裝成子系統(tǒng)。由主模塊開始自頂向下增值測試。自底向上——自頂向下的增殖測試首先對含讀操作的子系統(tǒng)自底向上直至根結(jié)點模塊進行組裝和測試。然后對含寫操作的子系統(tǒng)做自頂向下的組裝與測試。集成測試-增殖式組裝關(guān)鍵模塊:滿足某些軟件需求。高層控制模塊。較復(fù)雜、較易發(fā)生錯誤。有明確定義的性能要求。關(guān)鍵模塊及早測試,回歸測試時重點測試。集成測試-設(shè)計集成測試應(yīng)與單元測試的完成時間協(xié)調(diào)起來。在制定測試設(shè)計時,應(yīng)考慮如下因素:是采用何種系統(tǒng)組裝方法來進行組裝測試。組裝測試過程中連接各個模塊的順序。模塊代碼編制和測試進度是否與組裝測試的順序一致。測試過程中是否需要專門的硬件設(shè)備。集成測試-完成單元測試單元測試單元測試單元測試單元測試集成測試確認、系統(tǒng)與驗收測試集成測試確認測試系統(tǒng)測試單元測試被測模塊已集成的軟件已確認的軟件可交付的軟件測試通過的模塊設(shè)計信息軟件需求系統(tǒng)其它元素單元測試被測模塊單元測試被測模塊驗收測試用戶核心流程確認、系統(tǒng)與驗收測試-確認測試確認測試包括有效性測試與軟件配置復(fù)查。任務(wù)是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明中已經(jīng)明確規(guī)定。確認、系統(tǒng)與驗收測試-確認測試有效性測試是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境)下,運用黑盒測試的方法,驗證所測軟件是否滿足需求規(guī)格說明書列的需求。軟件配置復(fù)查保證軟件配置的所有成分都齊全。各方面的質(zhì)量都符合要求。具有維護階段所必需的細節(jié)。而且已經(jīng)編排好分類的目錄。確認、系統(tǒng)與驗收測試-系統(tǒng)測試系統(tǒng)測試是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起測試。在實際運行(使用)環(huán)境下,對計算機系統(tǒng)進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。確認、系統(tǒng)與驗收測試-驗收測試驗收測試根據(jù)合同、《需求規(guī)格說明書》對成品進行驗收測試。驗收測試與系統(tǒng)測試的區(qū)別:組織機構(gòu):驗收組由用戶代表、開發(fā)商代表、監(jiān)理代表等組成。測試地點:驗收測試原則上在顧客所在地進行,但如顧客同意也可在公司內(nèi)模擬用戶環(huán)境進行。覆蓋范圍:驗收測試針對用戶關(guān)心的核心流程。實施人員:用戶為主。確認、系統(tǒng)與驗收測試-設(shè)計功能(機能)測試:目標中的功能是否真正實現(xiàn)了。安全性測試:設(shè)法破壞程序的安全性、保密檢查。可靠性測試:平均無故障時間、因故障停機時間,需要模擬運行環(huán)境?;謴?fù)測試:測試系統(tǒng)出錯后如何恢復(fù)正常工作的。確認、系統(tǒng)與驗收測試-設(shè)計并發(fā)負載測試:在一定工作負荷和配置條件下,系統(tǒng)響應(yī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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)防腎絞痛復(fù)發(fā)的護理方法
- 2025年辦公設(shè)備采購安裝合同協(xié)議
- 倉儲中心建設(shè)與布局管理規(guī)范
- 2026 年中職掘進技術(shù)(隧道開挖工藝)試題及答案
- 名著測試題及答案
- 昭通市昭陽區(qū)氣候條件
- 基于深度學(xué)習(xí)的醫(yī)學(xué)影像自動修復(fù)
- 醫(yī)院培訓(xùn)課件:《患者保護性約束使用管理制度》
- 碭山中考地理試卷及答案
- 大樹城堡測試題目及答案
- 2025年北京工程造價定額與計價規(guī)范解析
- 林業(yè)和草原局護林員招聘考試《森林資源管護》題庫(答案+解析)
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細)
- 電子票據(jù)管理辦法醫(yī)院
- 電子承兌支付管理辦法
- 學(xué)堂在線 知識產(chǎn)權(quán)法 章節(jié)測試答案
- 全檢員考試試題及答案
- 提高住院患者圍手術(shù)期健康宣教知曉率品管圈活動報告
- 應(yīng)急救援個體防護
- 黨建陣地日常管理制度
- 車間醫(yī)藥箱管理制度
評論
0/150
提交評論