軟件測(cè)試的認(rèn)識(shí)_第1頁(yè)
軟件測(cè)試的認(rèn)識(shí)_第2頁(yè)
軟件測(cè)試的認(rèn)識(shí)_第3頁(yè)
軟件測(cè)試的認(rèn)識(shí)_第4頁(yè)
軟件測(cè)試的認(rèn)識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

-.z.我們公司為什么要軟件測(cè)試?軟件是我公司的產(chǎn)品,既然是產(chǎn)品,理論上未經(jīng)檢驗(yàn)的產(chǎn)品是不允許投入市場(chǎng),把我們的客戶當(dāng)做測(cè)試人員,把客戶的機(jī)器和客戶的廠房當(dāng)做巨大的試驗(yàn)場(chǎng),一旦出現(xiàn)bug,輕則反復(fù)遠(yuǎn)程,更嚴(yán)重的則是我公司人員到現(xiàn)場(chǎng)維護(hù),這不但導(dǎo)致了我部門人力物力的無(wú)謂消耗,增加了公司的本錢,同時(shí)也是對(duì)我公司多年來(lái)一輩一輩創(chuàng)業(yè)者積累下的口碑的無(wú)形損害。在我公司從事的行業(yè),口碑比技術(shù)更重要,做軟件其實(shí)做的就是口碑。因此,我公司需要測(cè)試部門在產(chǎn)品發(fā)布之前,進(jìn)展反復(fù)細(xì)致專業(yè)的檢測(cè)和DEBUG一個(gè)標(biāo)準(zhǔn)化的軟件測(cè)試過(guò)程通常須包括以下根本的測(cè)試活動(dòng)。·擬定軟件測(cè)試方案·編制軟件測(cè)試大綱·設(shè)計(jì)和生成測(cè)試用例·實(shí)施測(cè)試·生成軟件問(wèn)題報(bào)告對(duì)整個(gè)測(cè)試過(guò)程進(jìn)展有效的管理實(shí)際上,軟件測(cè)試過(guò)程與整個(gè)軟件開(kāi)發(fā)過(guò)程根本上是平行進(jìn)展的。測(cè)試方案早在需求分析階段即應(yīng)開(kāi)場(chǎng)制定,其它相關(guān)工作,包括測(cè)試大綱的制定、測(cè)試數(shù)據(jù)的生成、測(cè)試工具的選擇和開(kāi)發(fā)等也應(yīng)在測(cè)試階段之前進(jìn)展。充分的準(zhǔn)備工作可以有效地克制測(cè)試的盲目性,縮短測(cè)試周期,提高測(cè)試效率,并且起到測(cè)試文檔與開(kāi)發(fā)文檔互查的作用。此外,軟件測(cè)試的實(shí)施階段是由一系列的測(cè)試周期(TestCycle)組成的。在每個(gè)測(cè)試周期中,軟件測(cè)試工程師將依據(jù)預(yù)先編制好的測(cè)試大綱和準(zhǔn)備好的測(cè)試用例,對(duì)被測(cè)軟件進(jìn)展完整的測(cè)試。測(cè)試與糾錯(cuò)通常是反復(fù)交替進(jìn)展的。當(dāng)使用專業(yè)測(cè)試人員時(shí),測(cè)試與糾錯(cuò)甚至是平行進(jìn)展的,從而壓縮總的開(kāi)發(fā)時(shí)間。更重要的是,由于專業(yè)測(cè)試人員豐富的測(cè)試經(jīng)歷、所采用的系統(tǒng)化的測(cè)試方法、全時(shí)的投入,特別是獨(dú)立于開(kāi)發(fā)人員的思維,使得他們能夠更有效地發(fā)現(xiàn)許多單靠開(kāi)發(fā)人員很難發(fā)現(xiàn)的錯(cuò)誤和問(wèn)題。制定成功的測(cè)試方案"工欲善其事,必先利其器〞。專業(yè)的測(cè)試必須以一個(gè)好的測(cè)試方案作為根底。盡管測(cè)試的每一個(gè)步驟都是獨(dú)立的,但是必定要有一個(gè)起到框架構(gòu)造作用的測(cè)試方案。測(cè)試的方案應(yīng)該作為測(cè)試的起始步驟和重要環(huán)節(jié)。一個(gè)測(cè)試方案應(yīng)包括:產(chǎn)品根本情況調(diào)研、測(cè)試需求說(shuō)明、測(cè)試策略和記錄、測(cè)試資源配置、方案表、問(wèn)題跟蹤報(bào)告、測(cè)試方案的評(píng)審、結(jié)果等等。產(chǎn)品根本情況調(diào)研:這局部應(yīng)包括產(chǎn)品的一些根本情況介紹,例如:產(chǎn)品的運(yùn)行平臺(tái)和應(yīng)用的領(lǐng)域,產(chǎn)品的特點(diǎn)和主要的功能模塊,產(chǎn)品的特點(diǎn)等。對(duì)于大的測(cè)試工程,還要包括測(cè)試的目的和側(cè)重點(diǎn)。具體的要點(diǎn)有:目的:重點(diǎn)描述如何使測(cè)試建立在客觀的根底上,定義測(cè)試的策略,測(cè)試的配置,粗略的估計(jì)測(cè)試大致需要的周期和最終測(cè)試報(bào)告遞交的時(shí)間。變更:說(shuō)明有可能會(huì)導(dǎo)致測(cè)試方案變更的事件。包括測(cè)試工具改良了,測(cè)試的環(huán)境改變了,或者是添加了新的功能。技術(shù)構(gòu)造:可以借助畫(huà)圖,將要測(cè)試的軟件劃分成幾個(gè)組成局部,規(guī)劃成一個(gè)適用于測(cè)試的完整的系統(tǒng),包括數(shù)據(jù)是如何存儲(chǔ)的,如何傳遞的〔數(shù)據(jù)流圖〕,每一個(gè)局部的測(cè)試是要到達(dá)什么樣的目的。每一個(gè)局部是怎么實(shí)現(xiàn)數(shù)據(jù)更新的。還有就是常規(guī)性的技術(shù)要求,比方運(yùn)行平臺(tái)、需要什么樣的數(shù)據(jù)庫(kù)等等。產(chǎn)品規(guī)格:就是制造商和產(chǎn)品版本號(hào)的說(shuō)明。測(cè)試范圍:簡(jiǎn)單的描述如何搭建測(cè)試平臺(tái)以及測(cè)試的潛在的風(fēng)險(xiǎn)。工程信息:說(shuō)明要測(cè)試的工程的相關(guān)資料,如:用戶文檔,產(chǎn)品描述,主要功能的舉例說(shuō)明。測(cè)試需求說(shuō)明:這一局部要列出所有要測(cè)試的功能項(xiàng)。但凡沒(méi)有出現(xiàn)在這個(gè)清單里的功能項(xiàng)都排除在測(cè)試的范圍之外。萬(wàn)一有一天你在一個(gè)沒(méi)有測(cè)試的局部里發(fā)現(xiàn)了一個(gè)問(wèn)題,你應(yīng)該很快樂(lè)你有這個(gè)記錄在案的文檔,可以證明你測(cè)了什么沒(méi)測(cè)什么。具體要點(diǎn)有:功能的測(cè)試:理論上是測(cè)試是要覆蓋所有的功能項(xiàng),例如:在數(shù)據(jù)庫(kù)中添加、編輯、刪除記錄等等,這會(huì)是一個(gè)浩大的工程,但是有利于測(cè)試的完整性。設(shè)計(jì)的測(cè)試:對(duì)于一些用戶界面、菜單的構(gòu)造還有窗體的設(shè)計(jì)是否合理等的測(cè)試。整體考慮:這局部測(cè)試需求要考慮到數(shù)據(jù)流從軟件中的一個(gè)模塊流到另一個(gè)模塊的過(guò)程中的正確性。測(cè)試的策略和記錄:這是整個(gè)測(cè)試方案的重點(diǎn)所在,要描述如何公正客觀地開(kāi)展測(cè)試,要考慮:模塊、功能、整體、系統(tǒng)、版本、壓力、性能、配置和安裝等各個(gè)因素的影響。要盡可能的考慮到細(xì)節(jié),越詳細(xì)越好,并制作測(cè)試記錄文檔的模板,為即將開(kāi)場(chǎng)的測(cè)試做準(zhǔn)備,測(cè)試記錄重要包括的局部具體說(shuō)明如下:公正性聲明:要對(duì)測(cè)試的公正性、遵照的標(biāo)準(zhǔn)做一個(gè)說(shuō)明,證明測(cè)試是客觀的,整體上,軟件功能要滿足需求,實(shí)現(xiàn)正確,和用戶文檔的描述保持一致。測(cè)試案例:描述測(cè)試案例是什么樣的,采用了什么工具,工具的來(lái)源是什么,如何執(zhí)行的,用了什么樣的數(shù)據(jù)。測(cè)試的記錄中要為將來(lái)的回歸測(cè)試留有余地,當(dāng)然,也要考慮同時(shí)安裝的別的軟件對(duì)正在測(cè)試的軟件會(huì)造成的影響。特殊考慮:有的時(shí)候,針對(duì)一些外界環(huán)境的影響,要對(duì)軟件進(jìn)展一些特殊方面的測(cè)試。經(jīng)歷判斷:對(duì)以往的測(cè)試中,經(jīng)常出現(xiàn)的問(wèn)題加以考慮。設(shè)想:采取一些發(fā)散性的思維,往往能幫助你找的測(cè)試的新途徑。測(cè)試資源配置:工程資源方案:制定一個(gè)工程資源方案,包含的是每一個(gè)階段的任務(wù)、所需要的資源,當(dāng)發(fā)生類似到了使用期限或者資源共享的事情的時(shí)候,要更新這個(gè)方案。方案表:測(cè)試的方案表可以做成一個(gè)多個(gè)工程通用的形式,根據(jù)大致的時(shí)間估計(jì)來(lái)制作,操作流程要以軟件測(cè)試的常規(guī)周期作為參考,也可以是根據(jù)什么時(shí)候應(yīng)該測(cè)試哪一個(gè)模塊來(lái)制定。問(wèn)題跟蹤報(bào)告:在測(cè)試的方案階段,我們應(yīng)該明確如何準(zhǔn)備去做一個(gè)問(wèn)題報(bào)告以及如何去界定一個(gè)問(wèn)題的性質(zhì),問(wèn)題報(bào)告要包括問(wèn)題的發(fā)現(xiàn)者和修改者、問(wèn)題發(fā)生的頻率、用了什么樣的測(cè)試案例測(cè)出該問(wèn)題的,以及明確問(wèn)題產(chǎn)生時(shí)的測(cè)試環(huán)境。問(wèn)題描述盡可能是定量的,分門別類的列舉,問(wèn)題有幾種:1、嚴(yán)重問(wèn)題:嚴(yán)重問(wèn)題意味著功能不可用,或者是權(quán)限限制方面的失誤等等,也可能是*個(gè)地方的改變?cè)斐闪藙e的地方的問(wèn)題。2、一般問(wèn)題:功能沒(méi)有按設(shè)計(jì)要**現(xiàn)或者是一些界面交互的實(shí)現(xiàn)不正確。3、建議問(wèn)題:功能運(yùn)行得不象要求的則快,或者不符合*些約定俗成的習(xí)慣,但不影響系統(tǒng)的性能,界面先是錯(cuò)誤,格式不對(duì),含義模糊混淆的提示信息等等。測(cè)試方案的評(píng)審:又叫測(cè)試標(biāo)準(zhǔn)的評(píng)審,在測(cè)試真正實(shí)施開(kāi)展之前必須要認(rèn)真負(fù)責(zé)的檢查一遍,獲得整個(gè)測(cè)試部門人員的認(rèn)同,包括部門的負(fù)責(zé)人的同意和簽字。結(jié)果:方案并不是到這里就完畢了,在最后測(cè)試結(jié)果的評(píng)審中,必須要嚴(yán)格驗(yàn)證方案和實(shí)際的執(zhí)行是不是有偏差,表達(dá)在最終報(bào)告的內(nèi)容是否和測(cè)試的方案保持一致,然后,就可以開(kāi)場(chǎng)著手制作下一個(gè)測(cè)試方案了。報(bào)告軟件測(cè)試錯(cuò)誤的標(biāo)準(zhǔn)報(bào)告軟件測(cè)試錯(cuò)誤的目的是為了保證修復(fù)錯(cuò)誤的人員可以重復(fù)報(bào)告的錯(cuò)誤,從而有利于分析錯(cuò)誤產(chǎn)生的原因,定位錯(cuò)誤,然后修正之。因此,報(bào)告軟件測(cè)試錯(cuò)誤的根本要求是準(zhǔn)確、簡(jiǎn)潔、完整、標(biāo)準(zhǔn)。需要掌握的報(bào)告技術(shù)歸納如下。1.描述(Description),簡(jiǎn)潔、準(zhǔn)確,完整,提醒錯(cuò)誤實(shí)質(zhì),記錄缺陷或錯(cuò)誤出現(xiàn)的位置描述要準(zhǔn)確反映錯(cuò)誤的本質(zhì)內(nèi)容,簡(jiǎn)短明了。為了便于在軟件錯(cuò)誤管理數(shù)據(jù)庫(kù)中尋找制定的測(cè)試錯(cuò)誤,包含錯(cuò)誤發(fā)生時(shí)的用戶界面〔UI〕是個(gè)良好的習(xí)慣。例如記錄對(duì)話框的標(biāo)題、菜單、按鈕等控件的名稱。2.明確指明錯(cuò)誤類型:布局、翻譯、功能、雙字節(jié)根據(jù)錯(cuò)誤的現(xiàn)象,總結(jié)判斷錯(cuò)誤的類型。例如,即布局錯(cuò)誤、翻譯錯(cuò)誤、功能錯(cuò)誤、雙字節(jié)錯(cuò)誤,這是最常見(jiàn)的缺陷或錯(cuò)誤類型,其他形式的缺陷或錯(cuò)誤也附屬于其中*種形式。3.短行之間使用自動(dòng)數(shù)字序號(hào),使用一樣的字體、字號(hào)、行間距。短行之間使用自動(dòng)數(shù)字序號(hào),使用一樣的字體、字號(hào)、行間距,可以保證各條記錄格式一致,做到標(biāo)準(zhǔn)專業(yè)。4.UI要加引號(hào),可以單引號(hào),推薦使用雙引號(hào)。UI加引號(hào),可以容易區(qū)分UI與普通文本,便于分辨、定位缺陷或錯(cuò)誤。5.每一個(gè)步驟盡量只記錄一個(gè)操作保證簡(jiǎn)潔、條理井然,容易重復(fù)操作步驟。6.確認(rèn)步驟完整,準(zhǔn)確,簡(jiǎn)短保證快速準(zhǔn)確的重復(fù)錯(cuò)誤,"完整〞即沒(méi)有缺漏,"準(zhǔn)確〞即步驟正確,"簡(jiǎn)短〞即沒(méi)有多余的步驟。7.根據(jù)缺陷或錯(cuò)誤類型,選擇圖象捕捉的方式為了直觀的觀察缺陷或錯(cuò)誤現(xiàn)象,通常需要附加缺陷或錯(cuò)誤出現(xiàn)的界面,以位圖的形式作為附件附著在記錄的"附件〞局部。為了節(jié)省空間,又能真實(shí)反映缺陷或錯(cuò)誤本質(zhì),可以捕捉缺陷或錯(cuò)誤產(chǎn)生時(shí)的全屏幕,活動(dòng)窗口和局部區(qū)域。為了迅速定位、修正缺陷或錯(cuò)誤位置,通常要求附加中英文對(duì)照?qǐng)D。8.附加必要的特殊文檔和個(gè)人建議和注解如果翻開(kāi)*個(gè)特殊的文檔而產(chǎn)生的缺陷或錯(cuò)誤,則必須附加該文檔,從而可以迅速再現(xiàn)缺陷或錯(cuò)誤。有時(shí),為了使缺陷或錯(cuò)誤修正者進(jìn)一步明確缺陷或錯(cuò)誤的表現(xiàn),可以附加個(gè)人的修改建議或注解。9.檢查拼寫(xiě)和語(yǔ)法錯(cuò)誤在提交每條缺陷或錯(cuò)誤之前,檢查拼寫(xiě)和語(yǔ)法,確保內(nèi)容正確,正確的描述錯(cuò)誤。10.盡量使用業(yè)界慣用的表達(dá)術(shù)語(yǔ)和表達(dá)方法使用業(yè)界慣用的表達(dá)術(shù)語(yǔ)和表達(dá)方法,保證表達(dá)準(zhǔn)確,表達(dá)專業(yè)化。11.通用UI要統(tǒng)一、準(zhǔn)確錯(cuò)誤報(bào)告的UI要與測(cè)試的軟件UI保持一致,便于查找定位。12.盡量使用短語(yǔ)和短句,防止復(fù)雜句型句式軟件錯(cuò)誤管理數(shù)據(jù)庫(kù)的目的是便于定位錯(cuò)誤,因此,要求客觀的描述操作步驟,不需要修飾性的詞匯和復(fù)雜的句型,增強(qiáng)可讀性。13.每條錯(cuò)誤報(bào)告只包括一個(gè)錯(cuò)誤每條錯(cuò)誤報(bào)告只包括一個(gè)錯(cuò)誤,可以使錯(cuò)誤修正者迅速定位一個(gè)錯(cuò)誤,集中精力每次只修正一個(gè)錯(cuò)誤。校驗(yàn)者每次只校驗(yàn)一個(gè)錯(cuò)誤是否已經(jīng)正確修正。以上概括了報(bào)告測(cè)試錯(cuò)誤的標(biāo)準(zhǔn)要求,隨著軟件的測(cè)試要求不同,測(cè)試者經(jīng)過(guò)長(zhǎng)期測(cè)試,積累了相應(yīng)的測(cè)試經(jīng)歷,將會(huì)逐漸養(yǎng)成良好的專業(yè)習(xí)慣,不斷補(bǔ)充新的標(biāo)準(zhǔn)書(shū)寫(xiě)要求。此外,經(jīng)常閱讀、學(xué)習(xí)高級(jí)測(cè)試工程師的測(cè)試錯(cuò)誤報(bào)告,結(jié)合自己以前的測(cè)試錯(cuò)誤報(bào)告進(jìn)展比照和思考,可以不斷提高技巧。軟件測(cè)試的對(duì)象是什么?軟件測(cè)試并不等于程序測(cè)試。軟件測(cè)試應(yīng)該貫穿整個(gè)軟件定義與開(kāi)發(fā)整個(gè)期間。因此需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說(shuō)明、概要設(shè)計(jì)規(guī)格說(shuō)明、詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明以及源程序,都應(yīng)該是軟件測(cè)試的對(duì)象。在對(duì)需求理解與表達(dá)的正確性、設(shè)計(jì)與表達(dá)的正確性、實(shí)現(xiàn)的正確性以及運(yùn)行的正確性的驗(yàn)證中,任何一個(gè)環(huán)節(jié)發(fā)生了問(wèn)題都可能在軟件測(cè)試中表現(xiàn)出來(lái)。軟件測(cè)試的任務(wù)是什么?第一是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望的事情〔Dotherightthing〕,另一方面是確認(rèn)軟件以正確的方式來(lái)做了這個(gè)事件〔Doitright〕。第二是提供信息,比方提供應(yīng)開(kāi)發(fā)人員或程序經(jīng)理的反應(yīng)信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。第三軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開(kāi)發(fā)的過(guò)程。如果一個(gè)軟件產(chǎn)品開(kāi)發(fā)完成之后發(fā)現(xiàn)了很多問(wèn)題,這說(shuō)明此軟件開(kāi)發(fā)過(guò)程很可能是有缺陷的。因此軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開(kāi)發(fā)過(guò)程是高質(zhì)量的。1.尋找Bug;2.防止軟件開(kāi)發(fā)過(guò)程中的缺陷;3.衡量軟件的品質(zhì);4.關(guān)注用戶的需求??偟哪繕?biāo)是:確保軟件的質(zhì)量。軟件測(cè)試的原則是什么?結(jié)合我公司業(yè)務(wù)實(shí)際,我提出我部門未來(lái)軟件測(cè)試工作的設(shè)想測(cè)試小組最好有兩人以上構(gòu)成,對(duì)測(cè)試錯(cuò)誤的結(jié)果一定要有一個(gè)確認(rèn)的過(guò)程,A測(cè)試出來(lái)的結(jié)果,一定要有一個(gè)B來(lái)確認(rèn),嚴(yán)重的錯(cuò)誤可以召開(kāi)評(píng)審會(huì)進(jìn)展討論和分析。程序應(yīng)當(dāng)由獨(dú)立的專業(yè)的軟件測(cè)試機(jī)構(gòu)來(lái)完成。設(shè)計(jì)測(cè)試用例時(shí)應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況要制造極端狀態(tài)和意外狀態(tài),比方網(wǎng)絡(luò)異常中斷、電源斷電等情況。一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大的關(guān)系。制定嚴(yán)格的測(cè)試方案,并把測(cè)試時(shí)間安排的盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多的錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見(jiàn)。妥善保存一切測(cè)試過(guò)程文檔。軟件測(cè)有哪些分類?對(duì)于軟件測(cè)試技術(shù),可以從不同的角度加以分類:從是否需要執(zhí)行被測(cè)軟件的角度,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部構(gòu)造和具體實(shí)現(xiàn)算法的角度來(lái)看,可分為白盒測(cè)試和黑盒測(cè)試;一個(gè)好的設(shè)計(jì)應(yīng)能預(yù)見(jiàn)各種出錯(cuò)條件,并預(yù)設(shè)各種出錯(cuò)處理通路,出錯(cuò)處理通路同樣需要認(rèn)真測(cè)試,測(cè)試應(yīng)著重檢查以下問(wèn)題:1輸出的出錯(cuò)信息難以理解;2記錄的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不相符;3在程序自定義的出錯(cuò)處理段運(yùn)行之前,系統(tǒng)已介入;4異常處理不當(dāng);5錯(cuò)誤陳述中未能提供足夠的定位出錯(cuò)信息。邊界條件測(cè)試是單元測(cè)試中最后,也是最重要的一項(xiàng)任務(wù)。眾的周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術(shù),針對(duì)邊界值及其左、右設(shè)計(jì)測(cè)試用例,很有可能發(fā)現(xiàn)新的錯(cuò)誤。單元測(cè)試一般認(rèn)為單元測(cè)試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過(guò)復(fù)審和編譯檢查,便可開(kāi)場(chǎng)單元測(cè)試。測(cè)試用例的設(shè)計(jì)應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計(jì)信息選取測(cè)試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類錯(cuò)誤的可能性。在確定測(cè)試用例的同時(shí),應(yīng)給出期望結(jié)果。因?yàn)闇y(cè)試模塊開(kāi)發(fā)一個(gè)驅(qū)動(dòng)模塊〔driver〕和〔或〕假設(shè)干個(gè)樁模塊〔stub〕,以下圖顯示了一般單元測(cè)試的環(huán)境。驅(qū)動(dòng)模塊在大多數(shù)場(chǎng)合稱為"主程序〞,它接收測(cè)試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測(cè)試模塊,被測(cè)試模塊被調(diào)用后,"主程序〞打印"進(jìn)入-退出〞消息。驅(qū)動(dòng)模塊和樁模塊是測(cè)試使用的軟件,而不是軟件產(chǎn)品的組成局部,但它需要一定的開(kāi)發(fā)費(fèi)用。假設(shè)驅(qū)動(dòng)和樁模塊比擬簡(jiǎn)單,實(shí)際開(kāi)銷相對(duì)低些。遺憾的是,僅用簡(jiǎn)單的驅(qū)動(dòng)模塊和樁模塊不能完成*些模塊的測(cè)試任務(wù),這些模塊的單元測(cè)試只能采用下面討論的綜合測(cè)試方法。提高模塊的內(nèi)聚度可簡(jiǎn)化單元測(cè)試,如果每個(gè)模塊只能完成一個(gè),所需測(cè)試用例數(shù)目將顯著減少,模塊中的錯(cuò)誤也更容易發(fā)現(xiàn)。綜合測(cè)試時(shí)常有這樣的情況發(fā)生,每個(gè)模塊都能單獨(dú)工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問(wèn)題。例如,數(shù)據(jù)經(jīng)過(guò)接口可能喪失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響;幾個(gè)子功能組合起來(lái)不能實(shí)現(xiàn)主功能;誤差不斷積累到達(dá)不可承受的程度;全局?jǐn)?shù)據(jù)構(gòu)造出現(xiàn)錯(cuò)誤,等等。綜合測(cè)試是組裝軟件的系統(tǒng)測(cè)試技術(shù),按設(shè)計(jì)要求把通過(guò)單元測(cè)試的各個(gè)模塊組裝在一起之后,進(jìn)展綜合測(cè)試以便發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤。*設(shè)計(jì)人員習(xí)慣于把所有模塊按設(shè)計(jì)要求一次全部組裝起來(lái),然后進(jìn)展整體測(cè)試,這稱為非增量式集成。這種方法容易出現(xiàn)混亂。因?yàn)闇y(cè)試時(shí)可能發(fā)現(xiàn)一大堆錯(cuò)誤,為每個(gè)錯(cuò)誤定位和糾正非常困難,并且在改正一個(gè)錯(cuò)誤的同時(shí)又可能引入新的錯(cuò)誤,新舊錯(cuò)誤混雜,更難斷定出錯(cuò)的原因和位置。與之相反的是增量式集成方法,程序一段一段地?cái)U(kuò)展,測(cè)試的范圍一步一步地增大,錯(cuò)誤易于定位和糾正,界面的測(cè)試亦可做到完全徹底。下面討論兩種增量式集成方法。1自頂向下集成自頂向下集成是構(gòu)造程序構(gòu)造的一種增量式方式,它從主控模塊開(kāi)場(chǎng),按照軟件的控制層次構(gòu)造,以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個(gè)模塊集成在一起。深度優(yōu)先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據(jù)問(wèn)題的特性確定。以以下圖為例,假設(shè)選擇了最左一條路徑,首先將模塊M1,M2,M5和M8集成在一起,再將M6集成起來(lái),然后考慮中間和右邊的路徑。廣度優(yōu)先策略則不然,它沿控制層次構(gòu)造水平地向下移動(dòng)。仍以以下圖為例,它首先把M2、M3和M4與主控模塊集成在一起,再將M5和M6和其他模塊集資集成起來(lái)。自頂向下綜合測(cè)試的具體步驟為:1以主控模塊作為測(cè)試驅(qū)動(dòng)模塊,把對(duì)主控模塊進(jìn)展單元測(cè)試時(shí)引入的所有樁模塊用實(shí)際模塊替代;2依據(jù)所選的集成策略〔深度優(yōu)先或廣度優(yōu)先〕,每次只替代一個(gè)樁模塊;3每集成一個(gè)模塊立即測(cè)試一遍;4只有每組測(cè)試完成后,才著手替換下一個(gè)樁模塊;5為防止引入新錯(cuò)誤,須不斷地進(jìn)展回歸測(cè)試〔即全部或局部地重復(fù)已做過(guò)的測(cè)試〕。從第二步開(kāi)場(chǎng),循環(huán)執(zhí)行上述步驟,直至整個(gè)程序構(gòu)造構(gòu)造完畢。自頂向下集成的優(yōu)點(diǎn)在于能盡早地對(duì)程序的主要控制和決策機(jī)制進(jìn)展檢驗(yàn),因此較早地發(fā)現(xiàn)錯(cuò)誤。缺點(diǎn)是在測(cè)試較高層模塊時(shí),低層處理采用樁模塊替代,不能反映真實(shí)情況,重要數(shù)據(jù)不能及時(shí)回送到上層模塊,因此測(cè)試并不充分。解決這個(gè)問(wèn)題有幾種方法,第一種是把*些測(cè)試推遲到用真實(shí)模塊替代樁模塊之后進(jìn)展,第二種是開(kāi)發(fā)能模擬真實(shí)模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯(cuò)誤難于定位和糾正,并且失去了在組裝模塊時(shí)進(jìn)展一些特定測(cè)試的可能性;第二種方法無(wú)疑要大大增加開(kāi)銷;第三種方法比擬切實(shí)可行,下面專門討論。2自底向上集成自底向上測(cè)試是從"原子〞模塊〔即軟件構(gòu)造最低層的模塊〕開(kāi)場(chǎng)組裝測(cè)試,因測(cè)試到較高層模塊時(shí),所需的下層模塊功能均已具備,所以不再需要樁模塊。自底向上綜合測(cè)試的步驟分為:1把低層模塊組織成實(shí)現(xiàn)*個(gè)子功能的模塊群〔cluster〕;2開(kāi)發(fā)一個(gè)測(cè)試驅(qū)動(dòng)模塊,控制測(cè)試數(shù)據(jù)的輸入和測(cè)試結(jié)果的輸出;3對(duì)每個(gè)模塊群進(jìn)展測(cè)試;4刪除測(cè)試使用的驅(qū)動(dòng)模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。從第一步開(kāi)場(chǎng)循環(huán)執(zhí)行上述各步驟,直至整個(gè)程序構(gòu)造完畢。自底向上集成方法不用樁模塊,測(cè)試用例的設(shè)計(jì)亦相對(duì)簡(jiǎn)單,但缺點(diǎn)是程序最后一個(gè)模塊參加時(shí)才具有整體形象。它與自頂向綜合測(cè)試方法優(yōu)缺點(diǎn)正好相反。因此,在測(cè)試軟件系統(tǒng)時(shí),應(yīng)根據(jù)軟件的特點(diǎn)和工程的進(jìn)度,選用適當(dāng)?shù)臏y(cè)試策略,有時(shí)混和使用兩種策略更為有效,上層模塊用自頂向下的方法,下層模塊用自底向上的方法。此外,在綜合測(cè)試中尤其要注意關(guān)鍵模塊,所謂關(guān)鍵模塊一般都具有下述一或多個(gè)特征:①對(duì)應(yīng)幾條需求;②具有高層控制功能;③復(fù)雜、易出錯(cuò);④有特殊的性能要求。關(guān)鍵模塊應(yīng)盡早測(cè)試,并反復(fù)進(jìn)展回歸測(cè)試。回歸測(cè)試回歸測(cè)試是指在發(fā)生修改之后重新測(cè)試先前的測(cè)試以保證修改的正確性。理論上,軟件產(chǎn)生新版本,都需要進(jìn)展回歸測(cè)試,驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯(cuò)誤是否在新軟件版本上再次出現(xiàn)。根據(jù)修復(fù)好了的缺陷再重新進(jìn)展測(cè)試?;貧w測(cè)試的目的在于驗(yàn)證以前出現(xiàn)過(guò)但已經(jīng)修復(fù)好的缺陷不再重新出現(xiàn)。一般指對(duì)*修正的缺陷再次圍繞它原來(lái)出現(xiàn)時(shí)的步驟重新測(cè)試。通常確定所需的再測(cè)試的范圍時(shí)是比擬困難的,特別當(dāng)臨近產(chǎn)品發(fā)布日期時(shí)。因?yàn)闉榱诵拚?缺陷時(shí)必需更改源代碼,因而就有可能影響這局部源代碼所控制的功能。所以在驗(yàn)證修好的缺陷時(shí)不僅要服從缺陷原來(lái)出現(xiàn)時(shí)的步驟重新測(cè)試,而且還要測(cè)試有可能受影響的所有功能。因此應(yīng)當(dāng)鼓勵(lì)對(duì)所有回歸測(cè)試用例進(jìn)展自動(dòng)化測(cè)試。確認(rèn)測(cè)試的根本方法通過(guò)綜合測(cè)試之后,軟件已完全組裝起來(lái),接口方面的錯(cuò)誤也已排除,軟件測(cè)試的最后一步確認(rèn)測(cè)試即可開(kāi)場(chǎng)。確認(rèn)測(cè)試應(yīng)檢查軟件能否按合同要求進(jìn)展工作,即是否滿足軟件需求說(shuō)明書(shū)中確實(shí)認(rèn)標(biāo)準(zhǔn)。1.確認(rèn)測(cè)試標(biāo)準(zhǔn)實(shí)現(xiàn)軟件確認(rèn)要通過(guò)一系列墨盒測(cè)試。確認(rèn)測(cè)試同樣需要制訂測(cè)試方案和過(guò)程,測(cè)試方案應(yīng)規(guī)定測(cè)試的種類和測(cè)試進(jìn)度,測(cè)試過(guò)程則定義一些特殊的測(cè)試用例,旨在說(shuō)明軟件與需求是否一致。無(wú)是方案還是過(guò)程,都應(yīng)該著重考慮軟件是否滿足合同規(guī)定的所有功能和性能,文檔資料是否完整、準(zhǔn)確人機(jī)界面和其他方面〔例如,可移植性、兼容性、錯(cuò)誤恢復(fù)能力和可維護(hù)性等〕是否令用戶滿意。確認(rèn)測(cè)試的結(jié)果有兩種可能,一種是功能和性能指標(biāo)滿足軟件需求說(shuō)明的要求,用戶可以承受;另一種是軟件不滿足軟件需求說(shuō)明的要求,用戶無(wú)法承受。工程進(jìn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論