版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件測試技術(shù)1第一章軟件測試基礎(chǔ)【軟件測試行業(yè)是如何產(chǎn)生的?】
軟件測試崗位的出現(xiàn),“源自信息產(chǎn)業(yè)的發(fā)展以及軟件企業(yè)自身、用戶成熟度的不斷加深。”——清華大學(xué)鄭人杰計算機(jī)使用越來越普及,越來越多的領(lǐng)域使用了計算機(jī),特別是一些重要領(lǐng)域如國防、銀行、金融、通訊、航天等,對軟件質(zhì)量要求很高。同時一些重大事故的發(fā)生,也引發(fā)了人們對軟件質(zhì)量的關(guān)注。如2002年歐洲載重10噸的阿麗亞娜5型火箭發(fā)射失敗,最后證實是軟件質(zhì)量問題;還有國內(nèi)的一些銀行金融系統(tǒng),因軟件質(zhì)量問題不得不暫停營業(yè)。毋庸置疑,在經(jīng)歷了長期的不為人知和可有可無后,軟件測試工程師目前已變的炙手可熱。
2第一章軟件測試基礎(chǔ)【軟件測試行業(yè)的現(xiàn)狀】中國軟件產(chǎn)業(yè)存在著“重開發(fā)、輕測試”的傾向,在造成軟件產(chǎn)品質(zhì)量問題日漸突出的同時,也突顯了中國軟件測試人才的極度匱乏。制約著軟件整體質(zhì)量的提高,同時也加重了軟件產(chǎn)業(yè)的開發(fā)和服務(wù)成本負(fù)擔(dān)。在中國一百二十多萬軟件從業(yè)人員中,真正能擔(dān)當(dāng)軟件測試職責(zé)的不超過5萬人。在軟件業(yè)發(fā)達(dá)國家,軟件測試人員與開發(fā)人員之比接近1:1,在中國該比例僅為1:8左右,很多企業(yè)沒有專門的測試職位。隨著中國加入WTO后,相信不久的將來,國內(nèi)軟件測試人員與開發(fā)人員的比例將會達(dá)到甚至超出1:1。
3第一章軟件測試基礎(chǔ)為了同國際IT行業(yè)接軌,軟件測試行業(yè)近幾年有了飛速的發(fā)展,以前人們認(rèn)為的“重開發(fā)、輕測試”傾向有了很大的改觀,測試人員的缺口也越來越大,下面這個圖標(biāo)分析了近四年國內(nèi)軟件測試人才的需求。4第一章軟件測試基礎(chǔ)【軟件測試前景如何?】
隨著中國軟件市場的發(fā)展,越來越多的國外資金投向中國軟件行業(yè)。據(jù)報道,中國軟件外包市場的潛力和機(jī)會已遠(yuǎn)遠(yuǎn)超過軟件王國印度,不過由于軟件人才的嚴(yán)重不足致使我國軟件發(fā)展遭遇“瓶頸”。國家為了大力培養(yǎng)軟件人才,不斷采取積極有效的措施。軟件測試就業(yè)市場行情也十分樂觀,最近,在北京的一次IT人才招聘會上,有20多家軟件企業(yè)亮出底薪8000元招軟件測試工程師的誘人廣告。5第一章軟件測試基礎(chǔ)【軟件測試是青春飯嗎?】
軟件測試工作是對質(zhì)量的把關(guān),其中包含技術(shù)及管理等方面的工作,工作相對穩(wěn)定,對年齡沒有限制。而且隨著項目經(jīng)驗的不斷增長和對行業(yè)背景的深入了解,會越老越吃香。軟件測試員的一生如同一名醫(yī)生的一生,隨著職業(yè)閱歷和臨床經(jīng)驗的豐富累積,到一定的年齡他們通過“望聞問切”就能知道毛病出在什么地方。因此,有人說軟件測試員和醫(yī)生是最不需要用“青春”來保證和延續(xù)自己職業(yè)壽命的職業(yè)。由于軟件測試人才更強(qiáng)調(diào)經(jīng)驗積累,在幾年的測試經(jīng)驗背景下,可以逐步轉(zhuǎn)向管理或者資深測試工程師,擔(dān)當(dāng)測試經(jīng)理或者QA部門主管,所以職業(yè)壽命更長;
另一方面,由于國內(nèi)軟件測試工程師人才奇缺,并且一般只有大中型企業(yè)才會單獨設(shè)立軟件測試部門,所以很有保障,待遇普遍較高。
6第一章軟件測試基礎(chǔ)軟件測試工程師的進(jìn)階之路初級測試工程師 測試工程師/程序分析員
高級測試工程師/程序分析員 測試組負(fù)責(zé)人 測試/編程負(fù)責(zé)人
測試/質(zhì)量保證/開發(fā)(項目)經(jīng)理
計劃經(jīng)理軟件測試人員的三大發(fā)展方向一是走軟件測試的技術(shù)路線,成長為高級軟件測試工程師。二是向管理方向發(fā)展,從測試工程師到組長,再到測試經(jīng)理,以至更高的職位。三是可以換職業(yè),做項目管理或做開發(fā)人員。具有1~2年經(jīng)驗的測試工程師或程序員。編寫自動測試腳本程序并擔(dān)任測試編程初期領(lǐng)導(dǎo)工作。拓展編程語言、操作系統(tǒng)、網(wǎng)絡(luò)與數(shù)據(jù)庫技能。剛?cè)腴T擁有計算機(jī)科學(xué)學(xué)位的個人或具有一些手工測試經(jīng)驗的個人。開發(fā)測試腳本并開始熟悉測試生存周期和測試技術(shù)。具有3~4年經(jīng)驗的測試工程師或程序員。幫助開發(fā)或維護(hù)測試或編程標(biāo)準(zhǔn)與過程,負(fù)責(zé)同級的評審,并為其他初級的測試工程師或程序員充當(dāng)顧問。具有4~6年經(jīng)驗的測試工程師或程序員。負(fù)責(zé)管理1至3名測試工程師或程序員。擔(dān)負(fù)一些進(jìn)度安排和工作規(guī)模/成本估算職責(zé)。具有6~10年經(jīng)驗的測試工程師或程序員。負(fù)責(zé)管理8至10名技術(shù)人員。負(fù)責(zé)進(jìn)度安排、工作規(guī)模/成本估算、按進(jìn)度表和預(yù)算目標(biāo)交付產(chǎn)品。具有10多年的工作經(jīng)驗。管理8名或更多的人員參加的1個或多個項目。負(fù)責(zé)這一領(lǐng)域(測試/質(zhì)量保證/開發(fā))內(nèi)的整個開發(fā)生存周期業(yè)務(wù)。具有15年以上開發(fā)與支持(測試/質(zhì)量保證)活動方面的經(jīng)驗。管理從事若干項目的人員以及整個開發(fā)生存周期。負(fù)責(zé)把握項目方向與盈虧責(zé)任。7第一章軟件測試基礎(chǔ)第一章軟件測試基礎(chǔ)知識1.1關(guān)于軟件測試課程1.2軟件開發(fā)過程1.3軟件質(zhì)量保證1.4理解軟件測試1.5軟件測試的分類1.6軟件測試工作流程1.7軟件測試的職業(yè)要求8第一章軟件測試基礎(chǔ)編程大師說:“任何一個程序,無論它多么小,總存在著錯誤。”初學(xué)者不相信大師的話,他問:“如果一個程序小得只執(zhí)行一個簡單的功能,那會怎樣?”“這樣的一個程序沒有意義,”大師說,“但如果這樣的程序存在的話,操作系統(tǒng)沒有意義最后將失效,產(chǎn)生一個錯誤?!钡鯇W(xué)者不滿足,他問:“如果操作系統(tǒng)不失效,那么會怎樣?”“沒有不失效的操作系統(tǒng),”大師說,“但如果這樣的操作系統(tǒng)存在的話,硬件最后將失效,產(chǎn)生一個錯誤?!背鯇W(xué)者仍不滿足,再問:“如果硬件不失效,那么會怎樣?”大師長嘆一聲道:“沒有不失效的硬件。但如果這樣的硬件存在的話,用戶就會想讓那個程序做一件不同的事,這件事也是一個錯誤。”沒有錯誤的程序世間難求9第一章軟件測試基礎(chǔ)1.1關(guān)于軟件測試課程有關(guān)測試的思考題:軟件測試是一門非常重要的學(xué)科,主要研究內(nèi)容是什么?軟件測試需要什么樣的專業(yè)基礎(chǔ)?軟件質(zhì)量到底是什么?測試的目標(biāo)是什么?開發(fā)一個測試系統(tǒng)之前你是否明白:測試什么?怎么測試?測試效果如何?10第一章軟件測試基礎(chǔ)1.2軟件開發(fā)過程
軟件開發(fā)過程幾個主要階段:定義:明確軟件開發(fā)的目標(biāo)、軟件的需求計劃:制訂軟件開發(fā)所涉及的各種計劃實現(xiàn):進(jìn)行設(shè)計、編碼、文檔編寫工作穩(wěn)定化:以測試和缺陷修復(fù)工作為主部署:安裝、提交開發(fā)完成的軟件11第一章軟件測試基礎(chǔ)軟件生命周期模型軟件生存周期定義、計劃、實現(xiàn)、穩(wěn)定化、部署、運(yùn)行與維護(hù)軟件生存期模型
瀑布模型原型模型增量模型螺旋模型12第一章軟件測試基礎(chǔ)瀑布模型整個開發(fā)包括六個階段:計劃、需求分析、設(shè)計、編碼、測試、運(yùn)行維護(hù)。六個階段自上而下、相互銜接,以固定的次序來進(jìn)行。特點階段的順序性和依賴性推遲實現(xiàn)的觀點質(zhì)量保證存在問題不適合需求模糊的系統(tǒng)13第一章軟件測試基礎(chǔ)原型模型先建立一個能反映用戶需求的原型系統(tǒng),使得用戶和開發(fā)者可以對目標(biāo)系統(tǒng)的概貌進(jìn)行評價和判斷,然后對原型進(jìn)行反復(fù)的擴(kuò)充、改進(jìn)和求精,最終建立符合用戶需求的目標(biāo)系統(tǒng)。
特點
快速開發(fā)工具循環(huán)低成本種類
漸進(jìn)型拋棄型14第一章軟件測試基礎(chǔ)增量模型增量模型中,在每個階段都生成軟件的一個可發(fā)布版本。這些階段是交錯進(jìn)行的。在增量模型中,軟件版本是逐步完善的。在原型中,每個階段是發(fā)布一個原型,而在增量模型中,是完成一個正式的版本。分析設(shè)計編碼分析設(shè)計編碼測試測試
進(jìn)度
15第一章軟件測試基礎(chǔ)螺旋模型螺旋模型將瀑布模型和快速原型模型結(jié)合起來,并且加入了兩種模型均忽略的風(fēng)險分析。螺旋模型的每一周期都包括制定計劃、風(fēng)險分析、實施工程和評審四個階段。16第一章軟件測試基礎(chǔ)1.3軟件質(zhì)量保證不貪污的官就是好官嗎?“運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?也許運(yùn)行速度很低并且浪費內(nèi)存;也許代碼寫得一塌糊涂,后續(xù)很難維護(hù)和更新。軟件質(zhì)量是軟件的生命,它直接影響軟件的使用與維護(hù)。
17第一章軟件測試基礎(chǔ)通常軟件質(zhì)量由以下幾方面進(jìn)行評價。
①軟件需求是衡量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量。設(shè)計的軟件應(yīng)在功能、性能等方面都符合要求,并能可靠地運(yùn)行。----能用②軟件結(jié)構(gòu)良好,易讀、易于理解,并易于修改、維護(hù)。-----好修③軟件系統(tǒng)具有友好的用戶界面,便于用戶使用。----好用④軟件生存周期中各階段文檔齊全、規(guī)范,便于配置、管理。----好看18第一章軟件測試基礎(chǔ)一、軟件質(zhì)量定義軟件質(zhì)量優(yōu)秀,是因為:滿足用戶的需求合理進(jìn)度、成本、功能關(guān)系具備擴(kuò)展性和靈活性,能夠適應(yīng)一定程度的需求變化能夠有效的處理例外的情況保持成本和性能的平衡一個系統(tǒng)、組件或過程符合指定要求的程度一個系統(tǒng)、組件或過程滿足客戶或用戶期望的程度19第一章軟件測試基礎(chǔ)二、軟件錯誤定義1、什么是軟件錯誤(bug)?當(dāng)程序沒有實現(xiàn)其最終用戶合理預(yù)期的功能要求時,就表現(xiàn)為軟件錯誤2、錯誤的幾種情況:未將規(guī)格說明正確實現(xiàn)。--錯誤百出規(guī)定的或預(yù)期的需求未體現(xiàn)在產(chǎn)品中(可能未將規(guī)格說明全面實現(xiàn),也可能在開發(fā)過程中追加了需求。)--缺斤短兩規(guī)格說明并未規(guī)定的需求被納入產(chǎn)品,得到實現(xiàn)。--畫蛇添足20第一章軟件測試基礎(chǔ)3、錯誤一定是由編碼引起的嗎?需求分析軟件設(shè)計以上兩個階段中的錯誤,都有可能是軟件錯誤的根源21第一章軟件測試基礎(chǔ)三、軟件質(zhì)量保證定義
1、什么是軟件質(zhì)量保證(SQA)為了確保軟件開發(fā)過程和結(jié)果符合預(yù)期的要求,而建立的一系列規(guī)程,以及依照規(guī)程和計劃采取的一系列活動及其結(jié)果評價。22第一章軟件測試基礎(chǔ)2、建立全程SQA的觀點。
為了在軟件開發(fā)過程中保證軟件的質(zhì)量,軟件的質(zhì)量保證活動應(yīng)貫穿整個軟件生存周期的每一個階段。軟件質(zhì)量保證的工作從項目一開始就應(yīng)介入。3、SQA的手段
軟件的質(zhì)量保證的措施主要有檢查、評審和測試。23第一章軟件測試基礎(chǔ)4、SQA軟件質(zhì)量保證的具體內(nèi)容技術(shù)方法的應(yīng)用正式技術(shù)評審的實施軟件測試標(biāo)準(zhǔn)的執(zhí)行修改的控制度量記錄和記錄保存軟件質(zhì)量保證不等于軟件測試;軟件的質(zhì)量也不能完全依賴軟件測試;24第一章軟件測試基礎(chǔ)1.3測試一個小軟件
某軟件系統(tǒng)的登錄界面用戶需求----用戶名和密碼放在名為list.txt的文件中;輸入正確的用戶名和密碼,進(jìn)入系統(tǒng);不支持空的用戶名和密碼;如何測試?有何思路?25第一章軟件測試基礎(chǔ)1.4理解軟件測試排除軟件錯誤的重要手段軟件測試測試在軟件開發(fā)中占有重要地位測試成本占有開發(fā)成本的近一半26第一章軟件測試基礎(chǔ)軟件開發(fā)成本分布軟件類型開發(fā)成本按階段分布%需求與設(shè)計實現(xiàn)測試控制軟件462034航空航天軟件342046操作系統(tǒng)331750科技計算軟件442630商業(yè)應(yīng)用軟件44282827第一章軟件測試基礎(chǔ)1、軟件錯誤的來源軟件開發(fā)中,在需求、設(shè)計、編碼階段都有可能發(fā)生錯誤。2、什么是軟件測試?軟件測試就是為了發(fā)現(xiàn)程序中的錯誤而分析或執(zhí)行程序的過程。軟件測試是軟件質(zhì)量保證的重要手段。1.4.1基本概念28第一章軟件測試基礎(chǔ)3、軟件測試的手段軟件測試有兩個基本的手段:分析:不實際運(yùn)行軟件,包括走查、代碼審查、代碼評價、桌面檢查;---靜態(tài)測試運(yùn)行:在目標(biāo)環(huán)境中實際運(yùn)行軟件,---動態(tài)測試29第一章軟件測試基礎(chǔ)4、軟件測試的功能軟件測試有兩個基本的功能:驗證(Verification)---保證軟件正確的實現(xiàn)了特定功能;如:2+3?=5確認(rèn)(Validation)---保證最終產(chǎn)品滿足系統(tǒng)需求;如:MIS系統(tǒng)是否能滿足圖書館管理的需求?30第一章軟件測試基礎(chǔ)5、軟件測試的時機(jī)是否等軟件編碼之后,才進(jìn)行軟件測試?測試和改正活動應(yīng)在軟件生存周期任何階段進(jìn)行;錯誤被發(fā)現(xiàn)的越早,修改成本越??;31第一章軟件測試基礎(chǔ)6、軟件測試人員需要具備哪些知識?軟件測試技術(shù)被測應(yīng)用程序及其相關(guān)領(lǐng)域;32第一章軟件測試基礎(chǔ)測試的目的:測試是程序執(zhí)行的過程,目的在于發(fā)現(xiàn)錯誤(缺陷)好的測試用例能有效地發(fā)現(xiàn)別的測試用例未發(fā)現(xiàn)的錯誤(缺陷)成功的測試是發(fā)現(xiàn)了未曾發(fā)現(xiàn)的錯誤(缺陷)33第一章軟件測試基礎(chǔ)測試的對象測試數(shù)據(jù)程序P比較結(jié)果數(shù)據(jù)預(yù)期數(shù)據(jù)相符不符追查缺陷程序測試:發(fā)現(xiàn)程序中的錯誤(缺陷)34第一章軟件測試基礎(chǔ)
軟件測試原則:測試能提高軟件的質(zhì)量,但是提高質(zhì)量不能依賴測試測試只能證明錯誤存在,不能證明錯誤不存在測試的主要困難是不知道如何進(jìn)行有效地測試,也不知道什么時候可以放心地結(jié)束測試每個程序員都應(yīng)當(dāng)測試自己的程序(份內(nèi)之事),但是不能作為該程序已經(jīng)通過測試的依據(jù)(所以項目需要獨立測試人員)80-20原則:80%的錯誤聚集在20%的模塊中,經(jīng)常出錯的模塊改錯后還會經(jīng)常出錯測試應(yīng)當(dāng)循序漸進(jìn),不要企圖一次性干完,注意“欲速則不達(dá)”35第一章軟件測試基礎(chǔ)測試越細(xì)越好嗎?
不足測試過度測試測試的程度t未發(fā)現(xiàn)的缺陷數(shù)測試成本最佳測試點測試成本曲線36第一章軟件測試基礎(chǔ)這個流程圖,其中包括了一個執(zhí)行達(dá)20次的循環(huán)。那么它所包含的不同執(zhí)行路徑數(shù)高達(dá)520條,若要對它進(jìn)行窮舉測試,覆蓋所有的路徑。假使測試程序?qū)γ恳粭l路徑進(jìn)行測試需要1毫秒,同樣假定一天工作24小時,一年工作365天,那么要想把如圖所示的小程序的所有路徑測試完,則需要3024年。無論是黑盒測試還是白盒測試,進(jìn)行窮舉測試都是不可能的。為什么不可能做窮舉測試37第一章軟件測試基礎(chǔ)為什么不可能做窮舉測試程序PXYZ若X、Y為所有可能的整數(shù),在字長32位機(jī)上測試
X1、Y1
Z1 . . . Xn、Yn
Znn=232232=2641.84101938第一章軟件測試基礎(chǔ)1.4.2測試用例1、什么是測試用例?測試用例是由前提條件和操作步驟、預(yù)期結(jié)果、實際結(jié)果構(gòu)成。測試用例(testcase),就是測試人員執(zhí)行的動作。39第一章軟件測試基礎(chǔ)案例:電話銀行40第一章軟件測試基礎(chǔ)3、通過運(yùn)行軟件進(jìn)行測試時,要做什么?構(gòu)造測試用例執(zhí)行測試用例,檢查結(jié)果是否與期望的輸出一致4、在編寫測試用例時,依據(jù)是什么?需要以軟件需求為依據(jù)。2、測試用例的三要素前提條件和操作步驟、預(yù)期結(jié)果、實際結(jié)果41第一章軟件測試基礎(chǔ)1.4.3軟件錯誤產(chǎn)生原因:開發(fā)人員不太了解需求軟件系統(tǒng)越來越復(fù)雜,開發(fā)人員不太可能精通所有的技術(shù)技術(shù)文檔普遍比較糟糕,文檔本身就有錯誤軟件需求、設(shè)計報告、程序經(jīng)常發(fā)生變更,每次變更都可能產(chǎn)生新的錯誤任何人在編程時都可能犯錯誤,導(dǎo)致程序中有錯誤人們常處于進(jìn)度的壓力之下,急忙之下容易產(chǎn)生錯誤人們過于自信,不真實的“沒問題”將產(chǎn)生真正的問題42第一章軟件測試基礎(chǔ)1.5軟件測試的分類對于軟件測試,可以從不同的角度加以分類:基于是否關(guān)注軟件結(jié)構(gòu)與算法黑盒測試白盒測試基于是否執(zhí)行被測試軟件靜態(tài)測試動態(tài)測試基于測試的不同階段單元測試集成測試系統(tǒng)測試驗收測試43第一章軟件測試基礎(chǔ)軟件測試的內(nèi)容(一)回歸測試功能測試負(fù)載測試:最大負(fù)載壓力測試性能測試易用性測試安裝與反安裝測試44第一章軟件測試基礎(chǔ)軟件測試的內(nèi)容(二)恢復(fù)測試:從故障中恢復(fù)安全性測試兼容性測試內(nèi)存泄漏測試比較測試Alpha測試Beta測試45第一章軟件測試基礎(chǔ)1.5.1黑盒測試和白盒測試黑盒測試白盒測試兩種測試方法從不同的角度出發(fā),反映了軟件的不同側(cè)面,也適用于不同的開發(fā)環(huán)境46第一章軟件測試基礎(chǔ)輸入輸出黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試,也可被成為用戶測試,主要應(yīng)用于快速應(yīng)用開發(fā)(RAD)環(huán)境該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的界面上進(jìn)行測試。
47第一章軟件測試基礎(chǔ)白盒測試又稱結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序本身的測試,也可成為程序員測試,主要應(yīng)用于結(jié)構(gòu)化開發(fā)環(huán)境應(yīng)用程序---根據(jù)被測程序的內(nèi)部邏輯結(jié)構(gòu)來設(shè)計測試用例。---透明的盒子里包含著程序?qū)崿F(xiàn)的細(xì)節(jié),軟件測試人員就會選擇特定的測試用例來驗證程序是否有錯。48第一章軟件測試基礎(chǔ)舉例:開始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce49第一章軟件測試基礎(chǔ)黑盒測試與白盒測試比較
黑盒測試是從用戶觀點,按規(guī)格說明書要求的輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系設(shè)計測試用例,是根據(jù)程序外部特征進(jìn)行測試。
白盒測試是根據(jù)程序內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試。50第一章軟件測試基礎(chǔ)黑盒測試與白盒測試優(yōu)缺點比較黑盒測試
白盒測試
優(yōu)點缺點性質(zhì)①適用于各階段測試②從產(chǎn)品功能角度測試③容易入手生成測試數(shù)據(jù)①可構(gòu)成測試數(shù)據(jù)使特定程序部分得到測試②有一定的充分性度量手段③可或較多工具支持①某些代碼得不到測試②如果規(guī)格說明有誤,則無法發(fā)現(xiàn)③不易進(jìn)行充分性測試①不易生成測試數(shù)據(jù)(通常)②無法對未實現(xiàn)規(guī)格說明的部分進(jìn)行測試③工作量大,通常只用于單元測試,有應(yīng)用局限是一種確認(rèn)技術(shù),回答“我們在構(gòu)造一個正確的系統(tǒng)嗎?”是一種驗證技術(shù),回答“我們在正確地構(gòu)造一個系統(tǒng)嗎?”51第一章軟件測試基礎(chǔ)1.5.2靜態(tài)測試和動態(tài)測試靜態(tài)測試不執(zhí)行被測試的軟件。類似于汽車檢查。52第一章軟件測試基礎(chǔ)動態(tài)測試是在測試過程中執(zhí)行被測試軟件,類似于試車。53第一章軟件測試基礎(chǔ)1.5.3測試不同階段按測試階段分類,測試可分4個主要階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。這是一種從小到大、循序漸進(jìn)的測試過程。54第一章軟件測試基礎(chǔ)單元測試是對程序員編寫完成的一個個程序單元進(jìn)行測試。是對軟件設(shè)計的最小單元——模塊進(jìn)行正確性檢驗的測試工作,主要測試模塊在語法、格式和邏輯上的錯誤。1、單元測試55第一章軟件測試基礎(chǔ)單元測試單元測試單元測試單元測試單元測試單元通常不是可運(yùn)行的程序。單元測試必須編寫額外的可運(yùn)行的測試驅(qū)動程序。
56第一章軟件測試基礎(chǔ)為了模擬某個模塊與其他模塊之間的聯(lián)系,在進(jìn)行單元測試時,需設(shè)置若干輔助測試模塊。輔助模塊有兩種,一種是驅(qū)動模塊(Driver),用以模擬被測試模塊的上級模塊。另一種是被調(diào)用模擬子模塊(Sub),用以模擬被測模塊工作過程中所調(diào)用的模塊。圖顯示了一般的單元測試環(huán)境。57第一章軟件測試基礎(chǔ)一般單元測試環(huán)境58第一章軟件測試基礎(chǔ)驅(qū)動模塊(Driver),在單元測試中接受測試數(shù)據(jù),把相關(guān)的數(shù)據(jù)傳送給被測模塊,啟動被測模塊,并打印輸出相應(yīng)的結(jié)果;被調(diào)用模擬子模塊(Sub),是由被測模塊調(diào)用,只進(jìn)行很少的數(shù)據(jù)處理,例如打印入口和返回,以便檢驗被測模塊與其下級模塊的接口;59第一章軟件測試基礎(chǔ)2、集成測試(1)什么是集成將經(jīng)過單元測試的模塊按設(shè)計要求連接起來,組成所規(guī)定的軟件系統(tǒng)的過程稱為“集成”。(2)什么是集成測試?按設(shè)計要求把通過單元測試的各個模塊組裝在一起之后,進(jìn)行集成測試的主要任務(wù)是要求軟件系統(tǒng)符合實際軟件結(jié)構(gòu),發(fā)現(xiàn)與接口有關(guān)的各種錯誤。60第一章軟件測試基礎(chǔ)(3)為什么要進(jìn)行集成測試?模塊集成后所帶來的問題:數(shù)據(jù)經(jīng)過接口可能會丟失;一個模塊對另一個模塊可能造成不應(yīng)有的影響;單個模塊可以接受的誤差,組裝后經(jīng)過不斷的積累,則達(dá)到一個不可接受的程度。全局?jǐn)?shù)據(jù)結(jié)構(gòu)發(fā)生錯誤;61第一章軟件測試基礎(chǔ)單元測試單元測試單元測試單元測試單元測試集成測試62第一章軟件測試基礎(chǔ)集成測試包括兩種不同方法:非增量式集成增量式集成63第一章軟件測試基礎(chǔ)非增量式測試方法
非增量式測試方法是采用一步到位的方法來進(jìn)行測試,即對所有模塊進(jìn)行個別的單元測試后,按程序結(jié)構(gòu)圖將各模塊連接起來,把連接后的程序當(dāng)做一個整體進(jìn)行測試。64第一章軟件測試基礎(chǔ)增量式測試漸增式的集成中可以采用兩種:“自頂向下”和“自底向上”。自頂向下,即模塊集成的順序是首先集成主控模塊(主程序),然后按照軟件控制層次結(jié)構(gòu)向下進(jìn)行集成。自底向上增量式測試是從最底層的模塊開始,按結(jié)構(gòu)圖自下而上逐步進(jìn)行集成和測試65第一章軟件測試基礎(chǔ)圖4-5自頂向下增量式測試(廣度優(yōu)先策略)66第一章軟件測試基礎(chǔ)圖4-6自底向上增量式測試67第一章軟件測試基礎(chǔ)3、系統(tǒng)測試(1)什么是系統(tǒng)測試?集成測試通過以后,軟件已經(jīng)組裝成一個完整的軟件包,這時就要進(jìn)行系統(tǒng)測試。集成測試的目的是檢查系統(tǒng)是否符合軟件需求。68第一章軟件測試基礎(chǔ)(3)系統(tǒng)測試有哪些內(nèi)容?功能測試健壯性測試性能測試用戶界面測試。。。。69第一章軟件測試基礎(chǔ)案例:手機(jī)操作系統(tǒng)的系統(tǒng)測試——一、多任務(wù)測試多任務(wù)指在非idle狀態(tài)下,測試機(jī)器處于工作狀態(tài)時,有新的事件發(fā)生,如手機(jī)進(jìn)行通話時有短信進(jìn)入,手機(jī)編輯短信時有電話呼入,這種情況就是多任務(wù),相應(yīng)的測試就是多任務(wù)測試。下面是一個多任務(wù)測試的測試用例:例1.短信查看+來電應(yīng)答步驟期望的結(jié)果1.進(jìn)入手機(jī)短信查看狀態(tài)查看短信;1.手機(jī)在查看短信過程中 能夠正常響應(yīng)來電2.在短信查看過程中有電話進(jìn)入;2.按下應(yīng)答鍵后手機(jī)能夠 正常通話3.按下手機(jī)應(yīng)答鍵接聽來電; 3.按下掛機(jī)鍵手機(jī)能夠正 常結(jié)束通話4.按下掛機(jī)鍵結(jié)束通話70第一章軟件測試基礎(chǔ)臨界測試指在事件、任務(wù)剛剛發(fā)生、結(jié)束以及存儲系統(tǒng)處于臨界等邊界狀態(tài)下所進(jìn)行的測試。例2.測試短信接收滿手機(jī)短信收件箱的容量為100條;手機(jī)SIM卡收件箱已滿,短信存儲位置設(shè)置為手機(jī).步驟期望的結(jié)果1.接收100條短信至手機(jī)收件箱;1.手機(jī)能夠正常接收100條 短信;2.接收第101條短信至收件箱.2.無法接收第101條短信.71第一章軟件測試基礎(chǔ)系統(tǒng)測試72第一章軟件測試基礎(chǔ)系統(tǒng)測試采用黑盒測試方式為了保證測試的客觀性,一般由機(jī)構(gòu)的獨立測試小組來執(zhí)行系統(tǒng)測試。73第一章軟件測試基礎(chǔ)4、驗收測試驗收測試是由用戶完成的測試驗收測試的內(nèi)容與系統(tǒng)測試的內(nèi)容類似驗收測試可以分成Alpha測試和Beta測試。74第一章軟件測試基礎(chǔ)系統(tǒng)維護(hù)二次開發(fā)項目更新單元測試集成測試系統(tǒng)測試驗收測試回歸測試75第一章軟件測試基礎(chǔ)1.5.4測試各種分類間關(guān)系76第一章軟件測試基礎(chǔ)1.6軟件測試工作流程測試工作的主要步驟測
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生物質(zhì)能發(fā)電純勞務(wù)分包合同模板4篇
- 2025年度智能電動汽車車輛借用協(xié)議書匯編4篇
- 2025年洗車服務(wù)行業(yè)新能源汽車充電站合作合同3篇
- 2025年洗車店租賃與客戶數(shù)據(jù)安全保護(hù)合同3篇
- 2025年度個人住房抵押貸款延期還款補(bǔ)充協(xié)議4篇
- 2025年度個人汽車買賣協(xié)議書示范文本3篇
- 2025年度健康醫(yī)療大數(shù)據(jù)平臺建設(shè)合同模板4篇
- 2025年浙江甌海建設(shè)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年校企共同開發(fā)新型課程體系合作協(xié)議書3篇
- 2025年度個人股權(quán)質(zhì)押股權(quán)信托服務(wù)合同(信托保障版)4篇
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學(xué)道德與法治學(xué)科高級(一級)教師職稱考試試題(有答案)
- 申請使用物業(yè)專項維修資金征求業(yè)主意見表
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 實用性閱讀與交流任務(wù)群設(shè)計思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
- 酒店市場營銷教案
- 房屋買賣合同簡單范本 房屋買賣合同簡易范本
- 無抽搐電休克治療規(guī)范
- 環(huán)保有限公司營銷策劃方案
評論
0/150
提交評論