軟件測(cè)試過(guò)程及方法指南_第1頁(yè)
軟件測(cè)試過(guò)程及方法指南_第2頁(yè)
軟件測(cè)試過(guò)程及方法指南_第3頁(yè)
軟件測(cè)試過(guò)程及方法指南_第4頁(yè)
軟件測(cè)試過(guò)程及方法指南_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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)介

軟件測(cè)試過(guò)程及方法指南最近總有人詢問測(cè)試計(jì)劃的編寫方法和步驟,如何合理的設(shè)計(jì)測(cè)試計(jì)劃是每個(gè)測(cè)試經(jīng)理的責(zé)任,測(cè)試中需要關(guān)注的要素太多了,既有技術(shù)方面的考慮,也有管理方面的考慮,如何才能設(shè)計(jì)出實(shí)用的測(cè)試計(jì)劃呢?我根據(jù)自己的經(jīng)驗(yàn),整理出一份軟件測(cè)試計(jì)劃編寫指南,希望對(duì)大家有所啟示,并同大家交流測(cè)試中的心得和方法。、,一、?前言1.1軟件測(cè)試的目的軟件測(cè)試的目的決定了如何去組織測(cè)試。如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。如果測(cè)試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評(píng)價(jià),那么測(cè)試就應(yīng)該直接針對(duì)在實(shí)際應(yīng)用中會(huì)經(jīng)常用到的商業(yè)假設(shè)。不同的軟件項(xiàng)目會(huì)有不同的測(cè)試目的;相同的軟件項(xiàng)目,不同的時(shí)期也可能有不同測(cè)試目的,可能是測(cè)試不同區(qū)域或是對(duì)同一區(qū)域的不同層次的測(cè)試。軟件測(cè)試:、軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;、測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤。、一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;、一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。這種觀點(diǎn)可以提醒人們測(cè)試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的,事實(shí)并非如此。首先,測(cè)試并不僅僅是為了要找出錯(cuò)誤。通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種方法。對(duì)于測(cè)試數(shù)據(jù)的動(dòng)態(tài)積累可以給項(xiàng)目管理者展示出當(dāng)前項(xiàng)目的實(shí)時(shí)狀態(tài),為科學(xué)的決策提供有力的保障,并且為今后的培訓(xùn),考評(píng),工作的檢查等提供強(qiáng)有力的數(shù)據(jù)基礎(chǔ)。1.2軟件測(cè)試的復(fù)雜性和經(jīng)濟(jì)性人們常常以為,開發(fā)一個(gè)程序是困難的,測(cè)試一個(gè)程序則比較容易。這其實(shí)是誤解。設(shè)計(jì)測(cè)試用例是一項(xiàng)細(xì)致并需要高度技巧的工作,稍有不慎就會(huì)顧此失彼,發(fā)生不應(yīng)有的疏漏。不論是黑盒測(cè)試方法還是白盒測(cè)試方法,由于測(cè)試情況數(shù)量巨大,都不可能進(jìn)行徹底的測(cè)試。所謂徹底測(cè)試,就是讓被測(cè)程序在一切可能的輸入情況下全部執(zhí)行一遍。通常也稱這種測(cè)試為“窮舉測(cè)試”?!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試?!鞍缀小狈ㄊ歉F舉路徑測(cè)試,貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字,但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。所以說(shuō):“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在”。在實(shí)際測(cè)試中,窮舉測(cè)試工作量太大,實(shí)踐上行不通,這就注定了一切實(shí)際測(cè)試都是不徹底的。當(dāng)然就不能夠保證被測(cè)試程序中不存在遺留的錯(cuò)誤。軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成測(cè)試。為了降低測(cè)試成本,選擇測(cè)試用例時(shí)應(yīng)注意遵守“經(jīng)濟(jì)性”的原則。第一,要根據(jù)程序的重要性和一旦發(fā)生故障將造成的損失來(lái)確定它的測(cè)試等級(jí);第二,要認(rèn)真研究測(cè)試策略,以便能使用盡可能少的測(cè)試用例,發(fā)現(xiàn)盡可能多的程序錯(cuò)誤。掌握好測(cè)試量是至關(guān)重要的,一位有經(jīng)驗(yàn)的軟件開發(fā)管理人員在談到軟件測(cè)試時(shí)曾這樣說(shuō)過(guò):“不充分的測(cè)試是愚蠢的,而過(guò)度的測(cè)試是一種罪孽”。測(cè)試不足意味著讓用戶承擔(dān)隱藏錯(cuò)誤帶來(lái)的危險(xiǎn),過(guò)度測(cè)試則會(huì)浪費(fèi)許多寶貴的資源。測(cè)試是軟件生存期中費(fèi)用消耗最大的環(huán)節(jié)。測(cè)試費(fèi)用除了測(cè)試的直接消耗外,還包括其它的相關(guān)費(fèi)用。能夠決定需要做多少次測(cè)試的主要影響因素如下:、系統(tǒng)的目的系統(tǒng)目的的差別在很大程度上影響所需要進(jìn)行的測(cè)試的數(shù)量。那些可能產(chǎn)生嚴(yán)重后果的系統(tǒng)必須要進(jìn)行更多的測(cè)試。、潛在的用戶數(shù)量一個(gè)系統(tǒng)的潛在用戶數(shù)量也在很大程度上影響了測(cè)試必要性的程度。這主要是由于用戶團(tuán)體在經(jīng)濟(jì)方面的影響。、信息的價(jià)值在考慮測(cè)試的必要性時(shí),還需要將系統(tǒng)中所包含的信息的價(jià)值考慮在內(nèi),一個(gè)支持許多家大銀行或眾多證券交易所的客戶機(jī)/服務(wù)器系統(tǒng)中含有經(jīng)濟(jì)價(jià)值非常高的內(nèi)容。很顯然這一系統(tǒng)需要比一個(gè)支持鞋店的系統(tǒng)要進(jìn)行更多的測(cè)試。這兩個(gè)系統(tǒng)的用戶都希望得到高質(zhì)量、無(wú)錯(cuò)誤的系統(tǒng),但是前一種系統(tǒng)的影響比后一種要大得多。因此我們應(yīng)該從經(jīng)濟(jì)方面考慮,投入與經(jīng)濟(jì)價(jià)值相對(duì)應(yīng)的時(shí)間和金錢去進(jìn)行測(cè)試。、開發(fā)機(jī)構(gòu)一個(gè)沒有標(biāo)準(zhǔn)和缺少經(jīng)驗(yàn)的開發(fā)機(jī)構(gòu)很可能開發(fā)出充滿錯(cuò)誤的系統(tǒng)。在一個(gè)建立了標(biāo)準(zhǔn)和有很多經(jīng)驗(yàn)的開發(fā)機(jī)構(gòu)中開發(fā)出來(lái)的系統(tǒng)中的錯(cuò)誤不會(huì)很多,因此,對(duì)于不同的開發(fā)機(jī)構(gòu)來(lái)說(shuō),所需要的測(cè)試的必要性也就截然的不同。然而,那些需要進(jìn)行大幅度改善的機(jī)構(gòu)反而不大可能認(rèn)識(shí)到自身的弱點(diǎn)。那些需要更加嚴(yán)格的測(cè)試過(guò)程的機(jī)構(gòu)往往是最不可能進(jìn)行這一活動(dòng)的,在許多情況下,機(jī)構(gòu)的管理部門并不能真正地理解開發(fā)一個(gè)高質(zhì)量的系統(tǒng)的好處。、測(cè)試的時(shí)機(jī)測(cè)試量會(huì)隨時(shí)間的推移發(fā)生改變。在一個(gè)競(jìng)爭(zhēng)很激烈的市場(chǎng)里,爭(zhēng)取時(shí)間可能是制勝的關(guān)鍵,開始可能不會(huì)在測(cè)試上花多少時(shí)間,但幾年后如果市場(chǎng)分配格局已經(jīng)建立起來(lái)了,那么產(chǎn)品的質(zhì)量就變得更重要了,測(cè)試量就要加大。測(cè)試量應(yīng)該針對(duì)合適的目標(biāo)進(jìn)行調(diào)整。1.3文檔介紹本文檔的受眾測(cè)試計(jì)劃編寫指南有兩類潛在的受眾。首先,測(cè)試經(jīng)理使用它作為指導(dǎo)方針編寫測(cè)試計(jì)劃。測(cè)試計(jì)劃編寫完成后,將作為整個(gè)團(tuán)隊(duì)(包括開發(fā)人員和測(cè)試人員)溝通的基礎(chǔ)。文檔更新測(cè)試項(xiàng)目開始時(shí),應(yīng)該完成測(cè)試計(jì)劃的大部分內(nèi)容。項(xiàng)目開始后,由于測(cè)試情況有變化,可能導(dǎo)致測(cè)試計(jì)劃文檔變化。如果文檔有明顯的變化,必須在文檔中添加變更歷史來(lái)記載這些變化。1.3.3文檔目的測(cè)試計(jì)劃在策略和方法的高度說(shuō)明如何計(jì)劃、組織和管理測(cè)試項(xiàng)目。測(cè)試計(jì)劃包含足夠的信息使測(cè)試人員明白項(xiàng)目需要做什么是如何運(yùn)作的。另外,清晰的文檔結(jié)構(gòu)能使任何一個(gè)讀者在瀏覽計(jì)劃的前面幾頁(yè)后,就能對(duì)項(xiàng)目有一個(gè)大概的認(rèn)識(shí)。測(cè)試計(jì)劃只是測(cè)試的一個(gè)框架,很多細(xì)節(jié)需要跟開發(fā)人員或其他人員溝通,因此計(jì)劃不包括測(cè)試用例的細(xì)節(jié)和系統(tǒng)功能的詳細(xì)信息。本文檔描述出了整個(gè)開發(fā)過(guò)程中測(cè)試工作的流程,不同的測(cè)試時(shí)期可以根據(jù)需要對(duì)本文檔的一部分進(jìn)行充實(shí)(如:?jiǎn)卧獪y(cè)試階段等),但是在結(jié)項(xiàng)后,本文檔規(guī)定的各個(gè)時(shí)期的測(cè)試計(jì)劃均需完整,以備檢查。對(duì)于項(xiàng)目類產(chǎn)品,可根據(jù)實(shí)際情況參照?qǐng)?zhí)行。1.4測(cè)試工作流程測(cè)試工作從產(chǎn)品立項(xiàng)后開始介入,貫穿于軟件產(chǎn)品的整個(gè)生命周期。初期測(cè)試經(jīng)理參與項(xiàng)目的需求評(píng)審,并以需求設(shè)計(jì)為標(biāo)準(zhǔn)設(shè)計(jì)系統(tǒng)測(cè)試的測(cè)試用例。當(dāng)開發(fā)進(jìn)入詳細(xì)設(shè)計(jì)階段時(shí),測(cè)試經(jīng)理根據(jù)測(cè)試的需要同開發(fā)經(jīng)理討論技術(shù)的實(shí)現(xiàn)方式,在允許的范圍內(nèi),盡量使用方便今后測(cè)試工作開展的實(shí)現(xiàn)方式。同時(shí)此階段測(cè)試經(jīng)理開始設(shè)計(jì)集成測(cè)試的測(cè)試用例。詳細(xì)設(shè)計(jì)評(píng)審?fù)ㄟ^(guò)后,開發(fā)人員開始進(jìn)入編碼階段,同時(shí),測(cè)試經(jīng)理應(yīng)同開發(fā)經(jīng)理協(xié)調(diào)好進(jìn)度,按照模塊開發(fā)的時(shí)間規(guī)劃,測(cè)試經(jīng)理開始根據(jù)模塊的接口規(guī)范設(shè)計(jì)灰盒測(cè)試用例,盡量保證模塊級(jí)的測(cè)試可以同開發(fā)進(jìn)度協(xié)調(diào)進(jìn)行。編碼完成后,測(cè)試人員協(xié)助開發(fā)人員進(jìn)行集成測(cè)試,測(cè)試經(jīng)理使用前期已經(jīng)完成的集成測(cè)試方案對(duì)產(chǎn)品進(jìn)行測(cè)試。集成測(cè)試完成后,由測(cè)試經(jīng)理對(duì)集成測(cè)試的效果進(jìn)行評(píng)估,對(duì)于合格的產(chǎn)品填寫系統(tǒng)測(cè)試申請(qǐng)報(bào)告,向測(cè)試部正式申請(qǐng)進(jìn)入系統(tǒng)測(cè)試階段。系統(tǒng)測(cè)試完成后,由測(cè)試經(jīng)理向測(cè)試部申請(qǐng)軟件發(fā)行。當(dāng)相關(guān)的產(chǎn)品化工作正式完成后,由測(cè)試部開據(jù)質(zhì)量合格證書,產(chǎn)品正式發(fā)行。以上概要的介紹了測(cè)試方法和測(cè)試原則,以及公司對(duì)于產(chǎn)品類項(xiàng)目的測(cè)試流程,以下將具體的給出各個(gè)測(cè)試階段,相關(guān)測(cè)試計(jì)劃的文檔要求,文檔中將給出關(guān)鍵的考察點(diǎn),計(jì)劃編制的技巧與說(shuō)明,以便在書寫測(cè)試計(jì)劃的時(shí)候有章可循。2引言2.1編寫目的闡明編寫測(cè)試計(jì)劃的目的并指明讀者對(duì)象。2.2項(xiàng)目背景說(shuō)明項(xiàng)目的來(lái)源、委托單位及主管部門。2.3定義列出測(cè)試計(jì)劃中所用到的專門術(shù)語(yǔ)的定義和縮寫詞的原意。2.4參考資料列出有關(guān)資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:項(xiàng)目的計(jì)劃任務(wù)書、合同或批文;項(xiàng)目開發(fā)計(jì)劃;需求規(guī)格說(shuō)明書;概要設(shè)計(jì)說(shuō)明書;詳細(xì)設(shè)計(jì)說(shuō)明書;用戶操作手冊(cè);本測(cè)試計(jì)劃中引用的其他資料、采用的軟件開發(fā)標(biāo)準(zhǔn)或規(guī)范。2.5文檔摘要主要說(shuō)明測(cè)試計(jì)劃中重要的和可能有爭(zhēng)議的問題。本節(jié)的主要目的是將這些信息傳遞給那些可能不會(huì)通讀整個(gè)測(cè)試計(jì)劃文檔的人員(比如經(jīng)理或開發(fā)項(xiàng)目的負(fù)責(zé)人)。提示和技巧:在寫這一節(jié)時(shí),考慮一下你的計(jì)劃在那些地方可能會(huì)引起反對(duì)。這個(gè)計(jì)劃跟以前的計(jì)劃相比,有什么不同的地方。測(cè)試項(xiàng)目與系統(tǒng)開發(fā)計(jì)劃的關(guān)系等。使用列表的格式,可以將問題按重要程度羅列出來(lái),然后在后面的章節(jié)中再對(duì)這些問題進(jìn)行詳細(xì)說(shuō)明,這樣就能讓對(duì)這些問題有重要影響的人員知道問題的所在。2.6文檔歷史和變更[作者]-[日期]-[文檔的當(dāng)前狀態(tài),上版本以來(lái)所作的主要變化]3管理3.1系統(tǒng)視圖和目標(biāo)系統(tǒng)視圖對(duì)測(cè)試人員了解自己需要做什么是非常重要的。測(cè)試項(xiàng)目負(fù)責(zé)人應(yīng)積極與系統(tǒng)設(shè)計(jì)人員或開發(fā)人員溝通,以取得相關(guān)資料。系統(tǒng)目標(biāo)是幫助實(shí)現(xiàn)系統(tǒng)視圖的重要指標(biāo)。系統(tǒng)視圖和目標(biāo)對(duì)實(shí)現(xiàn)整個(gè)項(xiàng)目計(jì)劃來(lái)說(shuō)是至關(guān)重要的。測(cè)試人員必須知道系統(tǒng)是做什么并且?guī)椭?xiàng)目實(shí)現(xiàn)這種目標(biāo)。在計(jì)劃中包括系統(tǒng)視圖和目標(biāo)后,要確保所有的測(cè)試人員都知道項(xiàng)目和系統(tǒng)的目標(biāo)。通常情況下視圖和項(xiàng)目計(jì)劃都是模糊的。模糊的目標(biāo)必須通過(guò)成員的努力轉(zhuǎn)換成可衡量和實(shí)現(xiàn)的東西。沒有固定的視圖和目標(biāo),你將無(wú)法完成部分任務(wù)。而且,你會(huì)發(fā)現(xiàn)很難將對(duì)產(chǎn)品的認(rèn)識(shí)向別人轉(zhuǎn)述。提示和技巧:為什么視圖對(duì)客戶是重要的?你如何向客戶表達(dá)這種視圖?你將做什么來(lái)保證你是在向?qū)崿F(xiàn)視圖的方向前進(jìn)?在你回答這些問題之后,你就可以將視圖轉(zhuǎn)換成測(cè)試導(dǎo)向的目標(biāo)?整個(gè)系統(tǒng)的總體運(yùn)行框架什么?各個(gè)部分的運(yùn)行目標(biāo)是什么?3.2運(yùn)行環(huán)境需測(cè)試的軟,硬件環(huán)境,有無(wú)特殊的要求。如有些設(shè)備是有使用時(shí)限的需注明,如果測(cè)試環(huán)境不能滿足測(cè)試要求,如何解決等?3.3資源需求3.3.1培訓(xùn)需求本節(jié)說(shuō)明項(xiàng)目測(cè)試人員需要哪些培訓(xùn)。提示和技巧:對(duì)于新手需要先介紹測(cè)試系統(tǒng),如果測(cè)試人員比較熟悉該系統(tǒng),則需要說(shuō)明新系統(tǒng)的功能。是否進(jìn)行自動(dòng)測(cè)試。測(cè)試人員要不要培訓(xùn)以編寫自動(dòng)化腳本。3.3.2硬件需求本節(jié)說(shuō)明測(cè)試人員需要的各種類型的硬件以及這個(gè)測(cè)試團(tuán)隊(duì)需要的硬件。3.3.3軟件需求本節(jié)說(shuō)明測(cè)試人員需要使用的軟件。3.3.4辦公空間需求本節(jié)說(shuō)明需要多少辦公空間。3.4風(fēng)險(xiǎn)分析目前存在那些不確定因素,包括可預(yù)計(jì)的和不可預(yù)計(jì)的。系統(tǒng)開發(fā)和測(cè)試過(guò)程中,會(huì)有各種可能導(dǎo)致系統(tǒng)發(fā)布延遲,在計(jì)劃中需要預(yù)先估計(jì)這些風(fēng)險(xiǎn),并且提出相應(yīng)的對(duì)付辦法。3.5測(cè)試團(tuán)隊(duì)結(jié)構(gòu)這一節(jié)說(shuō)明測(cè)試團(tuán)隊(duì)的結(jié)構(gòu)和項(xiàng)目測(cè)試人員的數(shù)量。提示和技巧:查看開發(fā)計(jì)劃確定那些功能需要最多資源。在各個(gè)測(cè)試階段確定需要多少測(cè)試人員,各需掌握那些技巧。多少人做自動(dòng)測(cè)試,是哪些人。列出項(xiàng)目參與人員的聯(lián)系方式包括E-mail和電話。3.6相關(guān)信息保存的位置測(cè)試服務(wù)器的相關(guān)信息;測(cè)試文檔保存的位置;測(cè)試工具保存的位置;測(cè)試中需要使用的軟硬件的存放地點(diǎn);Bug如何記錄,存放的位置。3.7測(cè)試時(shí)間安排包括主要時(shí)間點(diǎn)的安排,如各個(gè)測(cè)試階段的開始,截至日期,產(chǎn)品預(yù)計(jì)發(fā)布日期等。3.8缺陷處理測(cè)試過(guò)程中可衡量的是發(fā)現(xiàn)的缺陷的狀況。因此缺陷的報(bào)告和管理必須寫成書面文檔。3.8.1Bug數(shù)據(jù)庫(kù)管理提示和技巧:誰(shuí)負(fù)責(zé)創(chuàng)建數(shù)據(jù)庫(kù)?誰(shuí)有權(quán)限增加數(shù)據(jù)庫(kù)的帳號(hào)?誰(shuí)有權(quán)使用哪類帳號(hào)?數(shù)據(jù)庫(kù)使用過(guò)程中出了問題和誰(shuí)聯(lián)系?誰(shuí)負(fù)責(zé)數(shù)據(jù)庫(kù)備份?多長(zhǎng)時(shí)間備份一次?由誰(shuí)使用數(shù)據(jù)庫(kù)?缺陷管理應(yīng)該與開發(fā)部門的負(fù)責(zé)人一起討論。3.8.2缺陷處理過(guò)程提示和技巧:解釋缺陷報(bào)告和分配過(guò)程。缺陷標(biāo)題、測(cè)試環(huán)境應(yīng)如何填寫。解釋如何輸入,解決,重新打開,關(guān)閉和重新即或一個(gè)缺陷。讓測(cè)試人員清楚一個(gè)缺陷從擊活到解決的全過(guò)程。缺陷必須指定由誰(shuí)負(fù)責(zé)解決。定義優(yōu)先級(jí)、嚴(yán)重級(jí)別等。在項(xiàng)目結(jié)束時(shí),如何解決這些缺陷。如果有Bug管理工具,只需遵照工具的流程執(zhí)行。3.9.測(cè)試過(guò)程控制在測(cè)試過(guò)程中,通過(guò)對(duì)缺陷數(shù)據(jù)庫(kù)進(jìn)行分析可以確定測(cè)試的狀態(tài)。另外,通過(guò)讓測(cè)試人員填寫測(cè)試工作周報(bào),可以對(duì)項(xiàng)目進(jìn)展?fàn)顩r進(jìn)行反饋。3.9.1缺陷數(shù)據(jù)分析提示和技巧:在開發(fā)過(guò)程和穩(wěn)定階段是否有過(guò)多的未處理缺陷,這可能說(shuō)明開發(fā)的資源不夠,或者有其它問題。如何確定項(xiàng)目中是否有過(guò)多的缺陷。測(cè)試人員是否積極發(fā)現(xiàn)缺陷,或者過(guò)分積極。在每個(gè)時(shí)間點(diǎn)上,系統(tǒng)是否穩(wěn)定。系統(tǒng)哪些部分的缺陷最集中。在系統(tǒng)發(fā)行時(shí)修復(fù)了多少缺陷。哪些類型的缺陷最普遍。3.9.2測(cè)試工作周報(bào)提示和技巧:周報(bào)中應(yīng)包括哪些信息。如何填寫工作周報(bào)。誰(shuí)負(fù)責(zé)查看工作周報(bào)。以上詳細(xì)的描述了,測(cè)試過(guò)程中可能遇到的或者必須提前安排的工作內(nèi)容,有一些項(xiàng)是要在工作過(guò)程中陸續(xù)充實(shí)的,有一些是需要提前給出解決辦法的,在制定計(jì)劃過(guò)程中,請(qǐng)依據(jù)實(shí)際情況進(jìn)行書寫。4測(cè)試計(jì)劃4.1整體測(cè)試策略本節(jié)的目的是說(shuō)明計(jì)劃中使用的基本的測(cè)試過(guò)程。提示和技巧:是否使用里程碑技術(shù)和在測(cè)試過(guò)程中驗(yàn)證每個(gè)模塊?或者是什么都不做,只是普通的測(cè)試而已。測(cè)試人員是否在項(xiàng)目開發(fā)初期就開始工作?或者測(cè)試人員只在系統(tǒng)開發(fā)完后,才開始測(cè)試。是否明顯的界定出單元,集成,系統(tǒng),驗(yàn)收測(cè)試階段?自動(dòng)測(cè)試工作是否進(jìn)行?對(duì)于像壓力,性能,兼容性等的測(cè)試項(xiàng)目,放到那一個(gè)測(cè)試區(qū)間內(nèi),有什么質(zhì)量要求?4.2測(cè)試范圍通常說(shuō)明什么是要測(cè)試的,什么是不要測(cè)試的是非常重要的。明確規(guī)定這些問題后,測(cè)試人員對(duì)該做什么有一個(gè)清晰的認(rèn)識(shí)。提示和技巧:需要特別測(cè)試那些部分?那些部分不需要測(cè)試,為什么?測(cè)試人員是否需要測(cè)試內(nèi)容以及相關(guān)部分?是否要驗(yàn)證每個(gè)模塊的穩(wěn)定性?是否有理論上應(yīng)該測(cè)試的,但是測(cè)試環(huán)境無(wú)法進(jìn)行測(cè)試的內(nèi)容?對(duì)于產(chǎn)品附帶的文檔,測(cè)試人員是否需要檢查?4.3質(zhì)量目標(biāo)圍繞軟件質(zhì)量,有幾種不同的說(shuō)法。第一個(gè)是質(zhì)量是一種絕對(duì)的標(biāo)準(zhǔn),對(duì)所有的系統(tǒng)必須等同處理。事實(shí)上,質(zhì)量是相對(duì)的而且是和產(chǎn)品相關(guān)的概念。例如,多媒體產(chǎn)品的質(zhì)量目標(biāo)傾向于精美的表示和適當(dāng)?shù)膬?nèi)容,而應(yīng)用系統(tǒng)可能傾向于易用性、健壯性和適用于不同的任務(wù)。質(zhì)量目標(biāo)可能是動(dòng)態(tài)的。在項(xiàng)目進(jìn)行過(guò)程中,會(huì)由于市場(chǎng)壓力、新的機(jī)會(huì)和功能改變而重新設(shè)定質(zhì)量目標(biāo)。另一種有關(guān)軟件質(zhì)量的說(shuō)法是,定義和衡量系統(tǒng)質(zhì)量是測(cè)試部門一個(gè)部門的事。實(shí)際上,建立質(zhì)量標(biāo)準(zhǔn)是所有職能部門共同努力的結(jié)果。測(cè)試、開發(fā)、系統(tǒng)使用部門、用戶教育、系統(tǒng)支撐必須為建立和維護(hù)系統(tǒng)的質(zhì)量標(biāo)準(zhǔn)做出自己的貢獻(xiàn)。每個(gè)部門必須對(duì)自己最了解的部分做出相應(yīng)的質(zhì)量定義。例如,測(cè)試和開發(fā)部門對(duì)系統(tǒng)質(zhì)量的衡量標(biāo)準(zhǔn)主要是健壯性和正確性。用戶部門可能對(duì)易用性方面比較熟悉。最后,質(zhì)量不僅是衡量系統(tǒng)的功能或性能是否正常。對(duì)系統(tǒng)來(lái)說(shuō),在開發(fā)過(guò)程中盡早建立全面的質(zhì)量標(biāo)準(zhǔn)與系統(tǒng)的及時(shí)發(fā)布是一樣重要的。質(zhì)量目標(biāo)是一個(gè)強(qiáng)有力的工具,應(yīng)該在系統(tǒng)開發(fā)過(guò)程中盡早建立。一個(gè)定義準(zhǔn)確的質(zhì)量目標(biāo)在以后的產(chǎn)品開發(fā)過(guò)程中幫助決策。例如,系統(tǒng)是否能夠正式發(fā)行?在代碼完成后,應(yīng)該修復(fù)那些缺陷?在系統(tǒng)完成后那種類型的測(cè)試是最合適的。提示:質(zhì)量目標(biāo)應(yīng)該是一個(gè)確實(shí)可行的軟件質(zhì)量描述,在確定之前應(yīng)該同相關(guān)人員達(dá)成一致的意見,不要等到發(fā)貨的時(shí)候才發(fā)現(xiàn)大家對(duì)其的理解有分歧,這時(shí)測(cè)試人員會(huì)非常被動(dòng),在達(dá)成一致意見后,當(dāng)開發(fā)人員和測(cè)試人員有分歧時(shí),可以使用質(zhì)量目標(biāo)作為衡量的標(biāo)準(zhǔn)。4.4測(cè)試計(jì)劃一般情況下測(cè)試活動(dòng)大致分成四個(gè)部分:?jiǎn)卧獪y(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試。下面具體介紹一下測(cè)試計(jì)劃的書寫方法,工作過(guò)程中可以依據(jù)實(shí)際情況進(jìn)行刪減和補(bǔ)充。4.4.1單元測(cè)試單元測(cè)試是代碼一級(jí)的測(cè)試,主要依賴于開發(fā)人員進(jìn)行。單元測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位——模塊。單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì)描述,單元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)模塊可以并行地進(jìn)行測(cè)試。一、單元測(cè)試任務(wù)單元測(cè)試任務(wù)包括:(1)模塊接口測(cè)試;(2)模塊局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;(3)模塊邊界條件測(cè)試;(4)模塊中所有獨(dú)立執(zhí)行通路測(cè)試;(5)模塊的各條錯(cuò)誤處理通路測(cè)試。模塊接口測(cè)試是單元測(cè)試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測(cè)試才有意義。測(cè)試接口正確與否應(yīng)該考慮下列因素:(1)輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同;(2)輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配;(3)輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;(4)調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的個(gè)數(shù)是否與被調(diào)模塊的形參個(gè)數(shù)相同;(5)調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;(6)調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;(7)調(diào)用預(yù)定義函數(shù)時(shí)所用參數(shù)的個(gè)數(shù)、屬性和次序是否正確;(8)是否存在與當(dāng)前入口點(diǎn)無(wú)關(guān)的參數(shù)引用;(9)是否修改了只讀型參數(shù);(10)對(duì)全程變量的定義各模塊是否一致;(11)是否把某些約束作為參數(shù)傳遞。如果模塊內(nèi)包括外部輸入輸出,還應(yīng)該考慮下列因素:(1)文件屬性是否正確;(2)OPEN/CLOSE語(yǔ)句是否正確;(3)格式說(shuō)明與輸入輸出語(yǔ)句是否匹配;(4)緩沖區(qū)大小與記錄長(zhǎng)度是否匹配;(5)文件使用前是否已經(jīng)打開;(6)是否處理了文件尾;(7)是否處理了輸入/輸出錯(cuò)誤;(8)輸出信息中是否有文字性錯(cuò)誤;檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時(shí)存儲(chǔ)在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過(guò)程中完整、正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯(cuò)誤的根源,應(yīng)仔細(xì)設(shè)計(jì)測(cè)試用例,力求發(fā)現(xiàn)下面幾類錯(cuò)誤:(1)不合適或不相容的類型說(shuō)明;(2)變量無(wú)初值;(3)變量初始化或省缺值有錯(cuò);(4)不正確的變量名(拼錯(cuò)或不正確地截?cái)啵?;?)出現(xiàn)上溢、下溢和地址異常。在模塊中應(yīng)對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試,單元測(cè)試的基本任務(wù)是保證模塊中每條語(yǔ)句至少執(zhí)行一次。此時(shí)設(shè)計(jì)測(cè)試用例是為了發(fā)現(xiàn)因錯(cuò)誤計(jì)算、不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e(cuò)誤。此時(shí)基本路徑測(cè)試和循環(huán)測(cè)試是最常用且最有效的測(cè)試技術(shù)。計(jì)算中常見的錯(cuò)誤包括:(1)誤解或用錯(cuò)了算符優(yōu)先級(jí);(2)混合類型運(yùn)算;(3)變量初值錯(cuò);(4)精度不夠;(5)表達(dá)式符號(hào)錯(cuò)。比較判斷與控制流常常緊密相關(guān),測(cè)試用例還應(yīng)致力于發(fā)現(xiàn)下列錯(cuò)誤:(1)不同數(shù)據(jù)類型的對(duì)象之間進(jìn)行比較;(2)錯(cuò)誤地使用邏輯運(yùn)算符或優(yōu)先級(jí);(3)因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個(gè)量相等;(4)比較運(yùn)算或變量出錯(cuò);(5)循環(huán)終止條件或不可能出現(xiàn);(6)迭代發(fā)散時(shí)不能退出;(7)錯(cuò)誤地修改了循環(huán)變量。一個(gè)好的設(shè)計(jì)應(yīng)能預(yù)見各種出錯(cuò)條件,并預(yù)設(shè)各種出錯(cuò)處理通路,出錯(cuò)處理通路同樣需要認(rèn)真測(cè)試,測(cè)試應(yīng)著重檢查下列問題:(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è)試過(guò)程一般認(rèn)為單元測(cè)試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過(guò)復(fù)審和編譯檢查,便可開始單元測(cè)試。測(cè)試用例的設(shè)計(jì)應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計(jì)信息選取測(cè)試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類錯(cuò)誤的可能性。在確定測(cè)試用例的同時(shí),應(yīng)給出期望結(jié)果。應(yīng)為測(cè)試模塊開發(fā)一個(gè)驅(qū)動(dòng)模塊(driver)和(或)若干個(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)品的組成部分,但它需要一定的開發(fā)費(fèi)用。若驅(qū)動(dòng)和樁模塊比較簡(jiǎn)單,實(shí)際開銷相對(duì)低些。遺憾的是,僅用簡(jiǎn)單的驅(qū)動(dòng)模塊和樁模塊不能完成某些模塊的測(cè)試任務(wù),這些模塊的單元測(cè)試只能采用下面討論的集成測(cè)試方法。提高模塊的內(nèi)聚度可簡(jiǎn)化單元測(cè)試,如果每個(gè)模塊只能完成一個(gè),所需測(cè)試用例數(shù)目將顯著減少,模塊中的錯(cuò)誤也更容易發(fā)現(xiàn)。單元測(cè)試計(jì)劃的編寫應(yīng)該含蓋上述的內(nèi)容,單形式不限,對(duì)于測(cè)試的數(shù)據(jù)應(yīng)該有效的予以保留,為今后進(jìn)行數(shù)據(jù)分析作準(zhǔn)備。4.4.2集成測(cè)試集成測(cè)試針對(duì)的是各個(gè)相關(guān)模塊的組合測(cè)試,最終的目標(biāo)是將整個(gè)系統(tǒng)正確的組合成功,沒有明顯的模塊之間的匹配問題。時(shí)常有這樣的情況發(fā)生,每個(gè)模塊都能單獨(dú)工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問題。例如,數(shù)據(jù)經(jīng)過(guò)接口可能丟失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響;幾個(gè)子功能組合起來(lái)不能實(shí)現(xiàn)主功能;誤差不斷積累達(dá)到不可接受的程度;全局?jǐn)?shù)據(jù)結(jié)構(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è)試亦可做到完全徹底。下面討論兩種增量式集成方法。一、自頂向下集成自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個(gè)模塊集成在一起。深度優(yōu)先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據(jù)問題的特性確定。以下圖為例,若選擇了最左一條路徑,首先將模塊M1,M2,M5和M8集成在一起,再將M6集成起來(lái),然后考慮中間和右邊的路徑。廣度優(yōu)先策略則不然,它沿控制層次結(jié)構(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è)試)。從第二步開始,循環(huán)執(zhí)行上述步驟,直至整個(gè)程序結(jié)構(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è)試并不充分。

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論