10.2過程和進度管理_第1頁
10.2過程和進度管理_第2頁
10.2過程和進度管理_第3頁
10.2過程和進度管理_第4頁
10.2過程和進度管理_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件質(zhì)量保證與測試第10章軟件測試組織和管理SoftwareQualityAssuranceandTesting

10.2過程和進度管理軟件測試項目過程的生命周期測試需求分析測試計劃測試設(shè)計測試開發(fā)測試執(zhí)行和記錄測試總結(jié)和報告

一個軟件測試項目,其過程可以劃分為6個環(huán)節(jié),它們是:測試需求分析、測試計劃、測試設(shè)計、測試執(zhí)行與記錄、測試總結(jié)和報告。測試需求什么是測試需求?所謂的測試需求就是在軟件測試項目中,要測試的內(nèi)容是什么。在測試活動中,首先需要明確測試需求(What),才能決定怎么測(How),才能估算需要多少測試時間(When)、需要多少人(Who),才能確定測試的環(huán)境是什么(Where)、測試中需要的技術(shù)工具和背景知識、測試中可能遇到的風(fēng)險等等,可以說測試需求是測試工作的起點和基礎(chǔ)。測試需求分析為什么要做測試需求分析?測試需求分析就是要通過分析來明確,在軟件測試項目中要測試哪些東西。測試需求越詳細精準,表明對所測軟件的了解越深,對所要進行的任務(wù)內(nèi)容就越清晰,就更有把握保證測試的質(zhì)量與進度。測試需求的獲取獲取測試需求的途徑主要有以下幾種由軟件文檔獲取例如,我們要對一個軟件進行系統(tǒng)測試,那么具體要測試哪些方面、哪些內(nèi)容呢?這可以從軟件的系統(tǒng)規(guī)格說明書等文檔中來獲知。系統(tǒng)規(guī)格說明書中明確的軟件功能、性能指標等就是測試的需求,需要通過測試來逐一驗證軟件已經(jīng)實現(xiàn)這些功能,達到相應(yīng)的性能指標。測試需求的獲取由測試任務(wù)發(fā)布方提供即發(fā)布測試任務(wù)的一方會明確要測試哪些內(nèi)容,達到是么樣的測試目標。根據(jù)實際軟件歸納有時缺乏被測軟件的相關(guān)文檔,事先也沒有明確的測試要求,此時可以根據(jù)軟件的實際情況來歸納測試需求,并完成測試。測試需求的獲取基于類似軟件獲得例如一個評測機構(gòu)需要測評某銀行的APP,正好前面測試過另外一家銀行類似的APP,那么可以在前面的測試需求基礎(chǔ)上來獲得本次的測試需求。應(yīng)對軟件測試需求進行分類、細化和文檔化,以作為后續(xù)工作的基礎(chǔ),類似于軟件開發(fā)項目中的軟件需求。測試計劃測試計劃就是對所有要完成的測試工作及相關(guān)事項的事先規(guī)劃和描述,包括被測試項目的背景,測試目標、范圍、方式、資源,測試的進度安排和組織,以及與測試有關(guān)的風(fēng)險等方面。測試計劃的作用制定軟件測試計劃的作用體現(xiàn)在以下幾個方面:1.使軟件測試工作有據(jù)可依,資源合理配置、人員明確分工,進度有序安排,測試工作能夠按部就班,進行順利2.使軟件測試工作有章可循,更易于管理。例如定期按計劃組織檢查督促等。測試計劃的作用3.促進項目參加人員彼此之間的溝通,分工合作

一些重要的事項需要在測試計劃文檔中明確下來,作為參加人員彼此之間的溝通的依據(jù),防止出現(xiàn)表達不明確、理解不一致等4.及早發(fā)現(xiàn)和改正軟件測試工作中的問題和偏差,如測試項目經(jīng)費是否大于等于所需成本、項目進展是否滯后等。測試計劃中的基本要素測試計劃中一般應(yīng)當有測試目標、測試范圍、測試策略、測試配置、人員組織、測試進度安排、測試標準、風(fēng)險分析等內(nèi)容要點。測試計劃中的基本要素序號條目內(nèi)容1測試概要摘要說明所需測試的軟件、名詞解釋以及所參考的相關(guān)文檔。2測試目標對測試目標進行簡要的描述。3測試范圍測試計劃所包含的測試軟件需測試的范圍和優(yōu)先級,哪些需要重點測試、哪些無需測試或無法測試或推遲測試。4測試策略針對每個范圍內(nèi)的要素和內(nèi)容,制定測試策略、選擇所使用的測試技術(shù)和方法。5重點事項列出需要測試的軟件的所有的主要功能和測試重點,這部分應(yīng)該和測試用例設(shè)計相對應(yīng),并互相檢查。6測試配置測試所需要的軟硬件、測試工具、必要的技術(shù)資源、培訓(xùn)、文檔等。7人員組織需要什么樣的人進行測試,多少人測試,各自的角色和責(zé)任,需要進行哪些學(xué)習(xí)和培訓(xùn)。8溝通方式測試組內(nèi)部、測試與開發(fā)組之間使用什么樣的工具、標識和頻度進行溝通和確認。9測試進度將測試計劃合理分配到不同的測試人員,并注意先后順序。對于長期大型的測試計劃,可以使用里程碑來表示進度的變化。10測試標準測試開始、完成、延遲以及繼續(xù)的標準,包括制定測試開始和完成的標準;某些時候,測試計劃會因某種原因(過多阻塞性的Bug)而導(dǎo)致延遲,問題解決后測試繼續(xù)。11發(fā)布提交在按照測試計劃進行測試發(fā)布后需要交付的軟件產(chǎn)品、測試用例、測試數(shù)據(jù)及相關(guān)文檔。12風(fēng)險分析需要考慮測試計劃中可能的風(fēng)險和解決方法。測試設(shè)計軟件測試的方法和技術(shù)有很多,針對某一個具體的測試項目或者測試問題,需要合理的選擇測試方法、運用測試技術(shù)、設(shè)計測試用例。測試設(shè)計的工作內(nèi)容就是分析明確應(yīng)當運用哪些測試方法和技術(shù)、設(shè)計哪些測試用例來完成測試任務(wù)、達到測試目的,并盡可能節(jié)約測試成本。測試設(shè)計例如,為完成某一測試任務(wù),測試團隊A設(shè)計了2萬個測試數(shù)據(jù);團隊B設(shè)計了1萬個測試數(shù)據(jù)。如果他們設(shè)計的測試數(shù)據(jù)執(zhí)行后,確實都能完成測試任務(wù)、達到測試目的,那么我們可以說,團隊B的設(shè)計好于A,因為團隊B的測試執(zhí)行成本大約只有A的一半。

在進行測試設(shè)計的時候,不僅要考慮軟件使用時的一般情況、還要重點考慮可能的情況、特殊的情況和異常的情況;要注意綜合考慮多種測試方法和技術(shù),取長補短,合理運用;要提高測試的完備性、針對性和有效性??梢詫y試設(shè)計進行優(yōu)化,統(tǒng)計覆蓋率,去除冗余,并對測試設(shè)計進行評審,通過評審后才進入后續(xù)的執(zhí)行環(huán)節(jié),以確保測試設(shè)計的質(zhì)量。測試設(shè)計

測試開發(fā)主要是為了實現(xiàn)測試過程的自動化執(zhí)行,要在測試工具平臺,或者編程環(huán)境下,開發(fā)測試腳本或者控制測試過程的程序代碼。隨著測試復(fù)雜度、專業(yè)化程度、自動化程度的不斷提高,測試開發(fā)在軟件測試工作中的重要性以及所占的比重都越來越大。

測試開發(fā)在單元測試中,可能需要用Junit編寫測試腳本。例如,這是一段

Junit測試腳本。測試開發(fā)publicclassNextdayTest{Nextdaynextday; @BeforepublicvoidsetUp(){ nextday=newNextday(); }@TestpublicvoidtestYear(){ Yearyear; try{ year=newYear(0); fail("Thereshouldbeanexception"); }

......

......

在黑盒測試中,可能需要開發(fā)自動化功能測試腳本。例如,這是一段RationalFuctionTester腳本。測試開發(fā)......

......startApp("ClassicsJavaA");tree2().click(atPath("Composers->Bach->Location(PLUS_MINUS)"));tree2().click(atPath("Composers->Bach->ViolinConcertos"));placeOrder().click();rememberPassword().performTest(RememberPassword_textVP());ok().drag();quantityText().click(atPoint(35,15));placeAnOrder().inputKeys("{ExtHome}+{ExtEnd}{ExtDelete}{Num1}{Num0}");cardNumberIncludeTheSpaces().click(atPoint(81,5));......

......

另外,在所需測試數(shù)據(jù)很多的情況下,也可以開發(fā)相應(yīng)的腳本或者程序,自動化生成一部分測試數(shù)據(jù),以減輕測試數(shù)據(jù)生成的工作負擔(dān)。例如,要對某管理信息系統(tǒng)進行測試,需要5萬條測試數(shù)據(jù),可以先開發(fā)一個程序,基于原有數(shù)據(jù)庫或者完全自動生成一個測試數(shù)據(jù)集,在此基礎(chǔ)上再來選擇所需測試數(shù)據(jù)。測試開發(fā)

測試執(zhí)行是指搭建好測試環(huán)境,借助測試工具等,具體去執(zhí)行實際的測試過程。搭建良好的測試環(huán)境是執(zhí)行測試的前提。測試環(huán)境可分為硬件環(huán)境和軟件環(huán)境。硬件環(huán)境包括測試必須的計算機,服務(wù)器等;軟件環(huán)境包括數(shù)據(jù)庫,操作系統(tǒng),被測試軟件,輔助軟件等;有時還要考慮網(wǎng)絡(luò)環(huán)境,比如網(wǎng)絡(luò)帶寬,IP地址設(shè)置等。搭建的測試環(huán)境要和測試執(zhí)行所要求的環(huán)境相一致,否則將嚴重影響測試執(zhí)行的結(jié)果,甚至導(dǎo)致測試無效,其結(jié)果沒有意義。測試執(zhí)行和記錄要注意測試用例的前提條件和特殊規(guī)程說明。因為有些測試流程是有順序性的,相應(yīng)地,測試用例會有一些執(zhí)行前提或特殊說明。如果忽略這些內(nèi)容,可能會導(dǎo)致測試用例無法執(zhí)行。測試用例要按步驟全部執(zhí)行,每個測試用例至少執(zhí)行一次,這樣才能保證測試的覆蓋度。因為每個測試用例都是有其作用的,都可以對應(yīng)到測試需求所要求的某個測試點。測試執(zhí)行和記錄測試執(zhí)行時需要記錄執(zhí)行過程,并仔細對比實際輸出和測試用例中的預(yù)期輸出是否一致。當然,有的測試工具可以自動記錄執(zhí)行過程并對比結(jié)果,這樣可以減輕很多工作量。例如,這是一段自動化測試工具的日志,它記錄并對比了測試結(jié)果。測試執(zhí)行和記錄+++通過2017年6月8日下午04時56分03秒驗證點[確定Enter_standard]通過。 vp_type=object_property name=確定Enter_standard script_name=Script3 line_number=32 script_id=Script3.java baseline=resources\Script3.確定Enter_standard.base.rftvp expected=Script3.0000.確定Enter_standard.exp.rftvp如果結(jié)果不一致,要從多個角度多測試幾次,盡量詳細地記錄軟件出錯的位置、輸入的數(shù)據(jù)和出錯的癥狀。不要放過任何偶然現(xiàn)象。測試時可能會發(fā)現(xiàn)某個測試用例執(zhí)行后軟件出錯了,但是再次執(zhí)行時該錯誤又不再重現(xiàn)。這樣的錯誤才是隱藏最深、最難發(fā)現(xiàn)的錯誤。出現(xiàn)這種情況時,要仔細分析,不要放過任何細節(jié),多測試幾次,確認錯誤是否存在,觸發(fā)的條件是什么。測試執(zhí)行中有不明確的地方應(yīng)與開發(fā)人員良好的溝通。最后,應(yīng)把測試發(fā)現(xiàn)的問題詳細的寫到測試報告中去。測試執(zhí)行和記錄滿足以下條件中的一個或者多個,測試可以停止。測試用例全部執(zhí)行通過;測試需求覆蓋率達到100%;已驗證系統(tǒng)滿足產(chǎn)品需求規(guī)格說明書的要求。在測試中發(fā)現(xiàn)的缺陷已得到修改,各級缺陷修復(fù)率達到規(guī)定的標準;缺陷密度(n個/KLOC)符合軟件要求的范圍。測試執(zhí)行和記錄測試執(zhí)行完畢后,要對測試結(jié)果進行匯總、統(tǒng)計分析,并完成測試報告。測試總結(jié)和報告首先要進行缺陷的匯總,明確共發(fā)現(xiàn)了哪些缺陷,給出詳細的缺陷報告,統(tǒng)計缺陷的分布情況。例如,這是對某小型軟件測試后的缺陷分布統(tǒng)計圖。其次,要分析測試的覆蓋度,以明確測試的完全程度??梢杂脤y試需求、可執(zhí)行代碼的覆蓋率或者對某種測試標準的覆蓋率來表示。如:測試需求覆蓋率100%,可執(zhí)行代碼覆蓋率100%,條件組合覆蓋率90%等。第三,要對軟件進行質(zhì)量評測,它是對被測試對象的功能、性能、可靠性、穩(wěn)定性等的評價。質(zhì)量評測建立在對測試結(jié)果的評估和對測試確定的缺陷及缺陷修復(fù)的分析等基礎(chǔ)之上,應(yīng)當是可信和有說服力的。測試總結(jié)和報告測試進度管理主要就是按照測試項目生命周期,依據(jù)測試計劃,在測試實施過程中,不斷檢查測試工作的進展情況,發(fā)現(xiàn)與計劃的偏離。例如檢查測試設(shè)計的完成情況,檢查測試用例的執(zhí)行比例,檢查測試的覆蓋率等。如果測試工作進展明顯滯后于計劃,需要分析原因,找到對策,以免影響整個軟件項目的交付。測試進度管理軟件測試成熟度模型對于軟件過程,美國卡內(nèi)基-梅隆大學(xué)軟件工程研究所(SEI)研制并推出了軟件能力成熟度模型SW-CMM,CMM逐漸成為了評估軟件開發(fā)過程的管理以及工程能力的標準。但是令人遺憾的是,CMM沒有充分的定義軟件測試,沒有提及測試成熟度的概念,沒有對測試過程改進進行充分說明。僅在第三級的軟件產(chǎn)品工程(SPE)KPA中提及軟件測試職能,但對于如何有效提高機構(gòu)的測試能力和水平?jīng)]有提供相應(yīng)指導(dǎo)。研究機構(gòu)和測試服務(wù)機構(gòu)從不同角度出發(fā)提出有關(guān)軟件測試方面的能力成熟度模型,作為SEI-CMM的有效補充。美國國防部提出了CMM軟件評估和測試KPA建議。Burnstein博士提出了測試成熟度模型(TMM),依據(jù)CMM的框架提出

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論