專利名稱::一種對(duì)軟件可測(cè)試需求的分析方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種對(duì)產(chǎn)品軟件可測(cè)試性需求的分析方法。該分析方法可應(yīng)用于產(chǎn)品軟件的功能特性或結(jié)構(gòu),提出一種可行的可測(cè)試性需求,從而為產(chǎn)品軟件后期測(cè)試開發(fā)、執(zhí)行,問題的隔離與定位帶來方便。當(dāng)前對(duì)產(chǎn)品軟件進(jìn)行可測(cè)試性需求分析所采用的方法是從產(chǎn)品硬件的可測(cè)試性需求查表的方法中借用來的,是根據(jù)經(jīng)驗(yàn)將以往的可測(cè)試性需求收集、整理、分類,形成一個(gè)大的表格,使用時(shí)從中挑出與某產(chǎn)品具體特性相對(duì)應(yīng)的可測(cè)試性需求作為該產(chǎn)品軟件的可測(cè)試性需求。該方法僅僅是重用以前類似的經(jīng)驗(yàn),而軟件是與應(yīng)用相關(guān)的,它的需求、設(shè)計(jì)總是在變化而且很復(fù)雜,新特性、新結(jié)構(gòu)和新的實(shí)現(xiàn)方法層出不窮?,F(xiàn)有的分析方法無法回答為什么要這樣選擇可測(cè)試性需求,而且由此方法得出的軟件可測(cè)試性需求依然存在著粒度不一、不夠系統(tǒng)、可實(shí)現(xiàn)性差、容易遺漏等缺陷。本發(fā)明是這樣實(shí)現(xiàn)的一種對(duì)軟件可測(cè)試需求的分析方法,按下列步驟進(jìn)行(1)、將產(chǎn)品軟件特性的開發(fā)需求列出來,該需求可以是一層需求,如X1需求、X2需求,也可以是多于二層的分解需求,如Y1需求、Y2需求,Y1子需求、Y2子需求,Y1孫需求、Y2孫需求,其中Y1、Y2子需求和Y1、Y2孫需求是對(duì)上一層需求的進(jìn)一步細(xì)化和分解;(2)對(duì)步驟(1)提出的一條開發(fā)需求,根據(jù)測(cè)試需求從兩個(gè)控制點(diǎn)和至少一個(gè)觀察點(diǎn)來分析并得出可測(cè)試性需求;(3)重復(fù)步驟(2),直到所有開發(fā)需求都被分析完成為止。上述的控制點(diǎn)分布在輸入部分。上述的觀察點(diǎn)分布在軟件系統(tǒng)的各個(gè)部分。上述的二個(gè)控制點(diǎn)為輸入控制點(diǎn)和預(yù)置條件控制點(diǎn)。上述的觀察點(diǎn)可以為輸入、預(yù)置條件、操作、狀態(tài)、消息/事件、錯(cuò)誤、資源、性能和輸出等。其中輸入指通過邊界傳遞給內(nèi)部行為處理的數(shù)據(jù),如調(diào)用參數(shù)、消息、事件等;預(yù)置條件指的是初始條件,包括數(shù)據(jù)配置、環(huán)境配置等;操作指通過一系列的分支、循環(huán)、并發(fā)處理和函數(shù)/方法/接口等調(diào)用,以實(shí)現(xiàn)某一功能的行為;狀態(tài)是指使用狀態(tài)機(jī)模型實(shí)現(xiàn)某一功能的行為,例如進(jìn)程調(diào)度中的等待、就緒、執(zhí)行等;消息/事件指系統(tǒng)中的消息、事件等通訊機(jī)制;錯(cuò)誤指系統(tǒng)中的錯(cuò)誤處理、異常處理等行為;資源指對(duì)系統(tǒng)中各種資源進(jìn)行操作、處理的行為,包括OS資源、自定義資源、數(shù)據(jù)庫(kù)資源等;性能指可以直接反映系統(tǒng)性能約束的各種軟件行為,包括流量、性能統(tǒng)計(jì)等;輸出指內(nèi)部處理后,透過邊界傳出的各種數(shù)據(jù),包括消息、事件、返回值等。本發(fā)明可應(yīng)用于所有的軟件系統(tǒng),應(yīng)用對(duì)象不隨軟件系統(tǒng)的大小、規(guī)模變化而變化;提出的可測(cè)試性需求質(zhì)量高,可實(shí)現(xiàn)性好。具體實(shí)施例方式建立模型。參見圖3,在T-IBO模型中,觀察點(diǎn)分布在軟件系統(tǒng)的各個(gè)部分,而控制點(diǎn)在輸入部分,即控制點(diǎn)輸入和預(yù)置條件。觀察點(diǎn)輸入、預(yù)置條件、行為(包括操作、狀態(tài)、性能、資源、消息/事件、錯(cuò)誤)、輸出。其中輸入指通過邊界傳遞給內(nèi)部行為處理的數(shù)據(jù)。如調(diào)用參數(shù)、消息、事件等。輸出指內(nèi)部處理后,透過邊界傳出的各種數(shù)據(jù),包括消息、事件、返回值等。邊界指區(qū)分內(nèi)部行為和外部輸入數(shù)據(jù)、輸出數(shù)據(jù)的邏輯分界線。預(yù)置條件指的是象數(shù)據(jù)配置、環(huán)境配置這類的初始條件。行為指軟件系統(tǒng)的內(nèi)部處理,按照處理類型可以分為操作、狀態(tài)、性能、資源、消息/事件和錯(cuò)誤。操作指通過一系列的分支、循環(huán)、并發(fā)處理和函數(shù)/方法/接口等調(diào)用,以實(shí)現(xiàn)某一功能的行為。如對(duì)于一個(gè)四則運(yùn)算,+-*/()就是其中的操作,它們的執(zhí)行順序就是操作序列。一般將完成某一功能所需要的一些關(guān)鍵的邏輯步驟定義為操作。如打電話時(shí)摘機(jī)、撥號(hào)、通話、掛機(jī)就是一個(gè)功能所具有的操作。狀態(tài)是指使用狀態(tài)機(jī)模型實(shí)現(xiàn)某一功能的行為,例如進(jìn)程調(diào)度中的等待、就緒、執(zhí)行等;性能直接反映系統(tǒng)性能約束的各種軟件行為。如流量、性能統(tǒng)計(jì)等。資源指對(duì)系統(tǒng)中各種資源進(jìn)行操作、處理的行為。包括OS資源、自定義資源、數(shù)據(jù)庫(kù)資源等等。消息/事件指系統(tǒng)中的消息、事件等通訊機(jī)制。錯(cuò)誤指系統(tǒng)中的錯(cuò)誤處理、異常處理等行為。由于不能通過直接修改軟件內(nèi)部行為來提高可測(cè)試性,即不允許直接控制被測(cè)試對(duì)象的內(nèi)部行為,這就要求被測(cè)軟件遵循DFT(DesignForTestability)設(shè)計(jì),所有需要設(shè)置的預(yù)置條件,如全局變量、系統(tǒng)配置等(這些都屬于預(yù)置條件),能夠通過一個(gè)接口,從外部方便的修改、設(shè)置,即模型中的預(yù)置條件控制點(diǎn)。本發(fā)明的一個(gè)實(shí)施例是建立一個(gè)可測(cè)試的輸入—行為—輸出模型(即TestableInput-Behavior-Output,簡(jiǎn)稱T-IBO),該模型將軟件的行為繼續(xù)劃分成了操作、狀態(tài)等6種屬性,同時(shí)在整個(gè)T-IBO模型中明確了九個(gè)觀察點(diǎn)和二個(gè)控制點(diǎn)。然后對(duì)每一條開發(fā)需求進(jìn)行分析,每條需求包括上述九個(gè)觀察點(diǎn)和二個(gè)控制點(diǎn)。從測(cè)試的角度,考慮對(duì)每條開發(fā)需求測(cè)試時(shí)是否需要這些觀察和控制,以方便執(zhí)行測(cè)試和定位。對(duì)于一個(gè)軟件系統(tǒng)、子系統(tǒng)、功能、特性、模塊等,都可以使用T-IBO模型來分析可測(cè)試性需求。一種對(duì)軟件可測(cè)試需求的分析方法,參見圖1、圖2,其中分析方法的流程圖見圖1,分析步驟見圖2。步驟一,對(duì)開發(fā)需求進(jìn)行分析。需求的層次可以多于2層,如XX需求,XX子需求,XX子子需求等;也可以只有一層需求,如X1需求,X2需求。一條開發(fā)需求可以分為多條子需求,這些子需求是對(duì)父需求的進(jìn)一步細(xì)化和分解。圖2表中第一行的內(nèi)容指的是應(yīng)從哪些方面來提可測(cè)試性需求,共有輸入控制、預(yù)置條件控制、輸入觀察、預(yù)置條件觀察、操作觀察、狀態(tài)觀察、消息/事件觀察、錯(cuò)誤觀察、資源觀察、性能觀察和輸出觀察等11個(gè)點(diǎn)。這11個(gè)點(diǎn)全部來自于T-IBO模型,因此,交叉矩陣分析的核心就是利用T-IBO模型對(duì)軟件的一個(gè)可測(cè)試性分解來提出可測(cè)試性需求。步驟二,在圖2表中對(duì)于每一個(gè)開發(fā)需求、子需求分別從測(cè)試角度來考慮,需要在輸入控制、預(yù)置條件控制、輸入觀察、預(yù)置條件觀察、操作觀察、狀態(tài)觀察、消息/事件觀察、錯(cuò)誤觀察、資源觀察、性能觀察和輸出觀察等方面提出需求并使測(cè)試過程中這些內(nèi)容可觀和可控。即逐個(gè)分析其中的9個(gè)觀察點(diǎn)應(yīng)該觀察些什么內(nèi)容,2個(gè)控制點(diǎn)上應(yīng)該控制些什么內(nèi)容。實(shí)施例假設(shè)一個(gè)開發(fā)需求是這樣描述需求名打電話輸入電話號(hào)碼處理根據(jù)電話號(hào)碼,完成號(hào)碼分析、號(hào)碼接續(xù)、語音通道建立、振鈴。其中,號(hào)碼分析時(shí)可能出現(xiàn)空號(hào)的錯(cuò)誤情況,號(hào)碼接續(xù)時(shí)可能出現(xiàn)被叫占線的錯(cuò)誤情況。對(duì)性能的要求是希望從電話號(hào)碼輸入到振鈴,整個(gè)過程不超過5秒鐘。整個(gè)過程中時(shí)需要使用號(hào)碼表和語音表這兩個(gè)資源。輸出振鈴音(忙、接通)或語音(空號(hào))。一種對(duì)軟件可測(cè)試需求的分析方法過程如下1、根據(jù)開發(fā)需求的描述,從給出的11個(gè)可測(cè)試性方面提出可測(cè)試性需求。提需求時(shí)要考慮到這些需求的實(shí)現(xiàn)能夠方便執(zhí)行測(cè)試。說明事項(xiàng)1)這里記錄的可測(cè)試性需求指明了測(cè)試開發(fā)的功能時(shí)所需要提供的觀察點(diǎn)和控制點(diǎn),以及這些點(diǎn)上需要觀察和控制的內(nèi)容。也就是說,例如,在“打電話”的輸入控制處有一條需求,“能控制輸入的電話號(hào)碼”。那么在編碼實(shí)現(xiàn)“打電話”需求時(shí),就要在輸入處設(shè)立一個(gè)控制點(diǎn);通過這個(gè)控制點(diǎn),可以方便的從鍵盤輸入電話號(hào)碼。2)如果有特殊的觀察、控制要求一定要寫清楚。如對(duì)某資源需要能夠按單個(gè)用戶統(tǒng)計(jì),或者按IP地址、端口號(hào)統(tǒng)計(jì)等。這些要求一定要寫清楚,才能得到實(shí)現(xiàn)。(這根本不是技術(shù)內(nèi)容)2、從根據(jù)11個(gè)可測(cè)試性方面提出的可測(cè)試性需求來分析產(chǎn)品軟件的特性。權(quán)利要求1.一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述方法按下列步驟進(jìn)行(1)列出產(chǎn)品軟件特性的至少一個(gè)開發(fā)需求;(2)對(duì)步驟(1)提出的一條開發(fā)需求,根據(jù)測(cè)試需求從兩個(gè)控制點(diǎn)和至少一個(gè)觀察點(diǎn)來分析并得出可測(cè)試性需求;(3)重復(fù)步驟(2),直到所有開發(fā)需求都被分析完成為止。2.根據(jù)權(quán)利要求1所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的開發(fā)需求可以是多個(gè)多層需求,如Y1需求、Y2需求,Y1子需求、Y2子需求,Y1孫需求、Y2孫需求,其中Y1、Y2子需求和Y1、Y2孫需求是對(duì)上一層需求的進(jìn)一步細(xì)化和分解。3.根據(jù)權(quán)利要求1所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的控制點(diǎn)分布在輸入部分。4.根據(jù)權(quán)利要求1所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的觀察點(diǎn)分布在軟件系統(tǒng)的各個(gè)部分。5.根據(jù)權(quán)利要求1所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的二個(gè)控制點(diǎn)為輸入控制點(diǎn)和預(yù)置條件控制點(diǎn)。6.根據(jù)權(quán)利要求1所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的觀察點(diǎn)可以為輸入、預(yù)置條件、操作、狀態(tài)、消息/事件、錯(cuò)誤、資源、性能和輸出等。7.根據(jù)權(quán)利要求6所述的一種對(duì)軟件可測(cè)試需求的分析方法,其特征在于所述的輸入指通過邊界傳遞給內(nèi)部行為處理的數(shù)據(jù),包括調(diào)用參數(shù)、消息、事件等;預(yù)置條件指的是初始條件,包括數(shù)據(jù)配置、環(huán)境配置等;操作指通過一系列的分支、循環(huán)、并發(fā)處理和函數(shù)/方法/接口等調(diào)用,以實(shí)現(xiàn)某一功能的行為;狀態(tài)是指使用狀態(tài)機(jī)模型實(shí)現(xiàn)某一功能的行為,例如進(jìn)程調(diào)度中的等待、就緒、執(zhí)行等;消息/事件指系統(tǒng)中的消息、事件等通訊機(jī)制;錯(cuò)誤指系統(tǒng)中的錯(cuò)誤處理、異常處理等行為;資源指對(duì)系統(tǒng)中各種資源進(jìn)行操作、處理的行為,包括OS資源、自定義資源、數(shù)據(jù)庫(kù)資源等;性能指可以直接反映系統(tǒng)性能約束的各種軟件行為,包括流量、性能統(tǒng)計(jì)等;輸出指內(nèi)部處理后,透過邊界傳出的各種數(shù)據(jù),包括消息、事件、返回值等。全文摘要本發(fā)明涉及一種對(duì)產(chǎn)品軟件可測(cè)試性需求的分析方法。一種對(duì)軟件可測(cè)試需求的分析方法,其特征是按下列步驟進(jìn)行步驟一,將產(chǎn)品軟件特性的開發(fā)需求列出來;步驟二,對(duì)每一條開發(fā)需求,從二個(gè)控制點(diǎn)、至少一個(gè)觀察點(diǎn)來分析產(chǎn)品軟件的特性,并列出這些控制點(diǎn)和觀察點(diǎn)的內(nèi)容。提測(cè)試需求時(shí)要考慮這些需求的實(shí)現(xiàn)能夠方便執(zhí)行測(cè)試和正確定位。該分析方法可應(yīng)用于產(chǎn)品軟件的功能特性或結(jié)構(gòu),提出一種可行的可測(cè)試性需求,從而為產(chǎn)品軟件后期測(cè)試開發(fā)、執(zhí)行,問題的隔離與定位帶來方便。文檔編號(hào)G06F11/36GK1464399SQ0212296公開日2003年12月31日申請(qǐng)日期2002年6月13日優(yōu)先權(quán)日2002年6月13日發(fā)明者遲曉東,馬翔,張凱帆,龍綱申請(qǐng)人:華為技術(shù)有限公司