两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種Web應(yīng)用系統(tǒng)測(cè)試方法

文檔序號(hào):6379588閱讀:173來源:國(guó)知局
專利名稱:一種Web應(yīng)用系統(tǒng)測(cè)試方法
技術(shù)領(lǐng)域
本發(fā)明涉及Web測(cè)試領(lǐng)域,尤其涉及Web應(yīng)用系統(tǒng)測(cè)試方法。
背景技術(shù)
目前針對(duì)Web應(yīng)用軟件的功能測(cè)試模型較多,側(cè)重點(diǎn)不盡相同,且各有優(yōu)缺點(diǎn)。主要包括面向?qū)ο蟮腤eb應(yīng)用測(cè)試模型、面向鏈接與交互等動(dòng)態(tài)內(nèi)容的結(jié)構(gòu)模型等。面向?qū)ο蟮腤eb應(yīng)用測(cè)試模型既考慮了 Web應(yīng)用軟件的靜態(tài)結(jié)構(gòu)表示、又考慮了動(dòng)態(tài)交互行為的表示,是一種相對(duì)比較全面的測(cè)試模型,然而,該模型只能捕獲靜態(tài)數(shù)據(jù)流,對(duì)不同的導(dǎo)航場(chǎng)景造成的數(shù)據(jù)流交互不能檢測(cè)。面向鏈接與交互等動(dòng)態(tài)內(nèi)容的結(jié)構(gòu)模型側(cè)重于Web應(yīng)用系統(tǒng)的導(dǎo)航特性,所有與 結(jié)構(gòu)相關(guān)的實(shí)體都被明顯地表示出來。然而,隨著Web應(yīng)用技術(shù)的發(fā)展,新近的Web應(yīng)用系統(tǒng)既側(cè)重靜態(tài)結(jié)構(gòu),也側(cè)重動(dòng)態(tài)的數(shù)據(jù)交互,同時(shí)還會(huì)注重腳本、組件及對(duì)象的構(gòu)建。因此,如何使得測(cè)試系統(tǒng)在既能考慮Web應(yīng)用系統(tǒng)中的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,也能保證測(cè)試的正確性和完整性,是一個(gè)亟待解決的技術(shù)難題。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題之一是需要提供一種既能考慮Web應(yīng)用系統(tǒng)中的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為也能保證測(cè)試正確性和完整性的Web應(yīng)用系統(tǒng)測(cè)試方法。為了解決上述技術(shù)問題,本發(fā)明提供了一種Web應(yīng)用系統(tǒng)測(cè)試方法。該方法包括根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型;基于所確定的有限狀態(tài)機(jī)模型,確定待測(cè)Web應(yīng)用系統(tǒng)的測(cè)試狀態(tài)轉(zhuǎn)移圖;對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷以生成測(cè)試用例集;根據(jù)所生成的測(cè)試用例集對(duì)所述待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。這樣,既能考慮Web應(yīng)用系統(tǒng)中的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為也能保證測(cè)試的正確性和完整性。根據(jù)本發(fā)明一方面的方法,狀態(tài)轉(zhuǎn)移圖G= (V, E)是有向圖,且頂點(diǎn)集V表示應(yīng)用狀態(tài)集,有向邊集E表示變遷集,每個(gè)有向邊對(duì)應(yīng)一個(gè)變遷,每個(gè)頂點(diǎn)對(duì)應(yīng)一種狀態(tài),以s表示狀態(tài),以t表示變遷。根據(jù)本發(fā)明一方面的方法,在對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷以生成測(cè)試用例集的步驟中,對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行深度優(yōu)先遍歷以生成測(cè)試用例集。根據(jù)本發(fā)明一方面的方法,所述對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行深度優(yōu)先遍歷以生成測(cè)試用例集的步驟進(jìn)一步包括A)、確定當(dāng)前訪問狀態(tài)s及初始狀態(tài)到當(dāng)前狀態(tài)的變遷路徑,記為path= {t0, t” t2, t3, · · · , tp · · · tn},其中,i為序號(hào),ti表示路徑path中的第i+Ι個(gè)變遷,并標(biāo)記當(dāng)前狀態(tài)s為已訪問;B)、對(duì)于當(dāng)前狀態(tài)S,檢查當(dāng)前狀態(tài)s是否存在未訪問的變遷,如果存在未訪問的變遷t,那么把變遷t加入變遷路徑path,使得path= {t0, t1; t2, . . . , tn, tn+1=t},并標(biāo)記變遷t為已訪問,進(jìn)入步驟C),如果不存在未訪問的變遷,將路徑path作為一組測(cè)試用例加入到測(cè)試用例集中,彈出隊(duì)尾tn,進(jìn)入步驟D);C)、如果變遷t的結(jié)束狀態(tài)s’為未訪問,則令當(dāng)前狀態(tài)為S’,并返回步驟B);如果變遷t中s’為已訪問,則將路徑path作為一組測(cè)試用例加入到測(cè)試用例集中,返回步驟B)。D)、判斷變遷路徑path是否為空且當(dāng)前狀態(tài)是否不存在未訪問變遷,若判斷結(jié)果為是,則遍歷結(jié)束,反之,重復(fù)執(zhí)行步驟B)以檢查當(dāng)前隊(duì)尾變遷tn_i的起始狀態(tài)Slri是否存在未訪問過的變遷。這樣,能夠提高本方法的處理效率。根據(jù)本發(fā)明一方面的方法,所述根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型的步驟進(jìn)一步包括基于狀態(tài)集States、請(qǐng)求數(shù)據(jù)集Requests、和響應(yīng)數(shù)據(jù)集Responses、狀態(tài)遷移函數(shù)集TFs、響應(yīng)函數(shù)集RFs和初始狀態(tài)InitState來構(gòu)建限狀態(tài) 機(jī)模型 WAS= {States, Requests, Responses, TFs, RFs, InitState}。根據(jù)本發(fā)明一方面的方法,所述根據(jù)所生成的測(cè)試用例集對(duì)所述待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試的步驟進(jìn)一步包括由所生成的測(cè)試用例集轉(zhuǎn)換得到的TTCN-3可執(zhí)行的測(cè)試套對(duì)待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。根據(jù)本發(fā)明一方面的方法,通過如下步驟來由所生成的測(cè)試用例集轉(zhuǎn)換得到TTCN-3可執(zhí)行的測(cè)試套將變遷中的應(yīng)用請(qǐng)求數(shù)據(jù)和應(yīng)用響應(yīng)數(shù)據(jù)轉(zhuǎn)換為TTCN-3形式的數(shù)據(jù)格式;將變遷轉(zhuǎn)換為TTCN-3測(cè)試行為函數(shù);將變遷路徑轉(zhuǎn)換為TTCN-3測(cè)試用例。本發(fā)明的其他優(yōu)點(diǎn)、目標(biāo),和特征在某種程度上將在隨后的說明書中進(jìn)行闡述,并且在某種程度上,基于對(duì)下文的考察研究對(duì)本領(lǐng)域技術(shù)人員而言將是顯而易見的,或者可以從本發(fā)明的實(shí)踐中得到教導(dǎo)。本發(fā)明的目標(biāo)和其他優(yōu)點(diǎn)可以通過下面的說明書,權(quán)利要求書,以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。


附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖I是根據(jù)本發(fā)明實(shí)施例的Web應(yīng)用系統(tǒng)測(cè)試方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的Web應(yīng)用系統(tǒng)測(cè)試方法步驟S130中采用深度優(yōu)先遍歷算法對(duì)測(cè)試狀態(tài)轉(zhuǎn)移圖G= (V,E)進(jìn)行遍歷的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例Web應(yīng)用系統(tǒng)測(cè)試方法步驟S140中將測(cè)試用例集轉(zhuǎn)換為TTCN-3可執(zhí)行測(cè)試套的流程圖;圖4是根據(jù)本發(fā)明實(shí)施例的TTCN-3數(shù)據(jù)描述轉(zhuǎn)換對(duì)應(yīng)關(guān)系示意圖。
具體實(shí)施例方式以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。下面參考圖I來說明本發(fā)明實(shí)施例的Web應(yīng)用系統(tǒng)測(cè)試方法的各步驟。步驟S110,根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型,記為 WAS= {States, Requests, Responses, TFs, RFs, InitState},其中,States 表不狀態(tài)集,Requests和Responses分別表不請(qǐng)求數(shù)據(jù)集和響應(yīng)數(shù)據(jù)集,TFs (Transfer Function)和RFs (Response Function)分別表示狀態(tài)遷移函數(shù)集和響應(yīng)函數(shù)集,InitState表示初始狀態(tài)。步驟S120,基于步驟SllO中確定的有限狀態(tài)機(jī)模型,確定待測(cè)Web應(yīng)用系統(tǒng)的測(cè)試狀態(tài)轉(zhuǎn)移圖G= (V,E),頂點(diǎn)集V表示應(yīng)用狀態(tài)集States,有向邊集E表示變遷集Transtions,變遷transition表示狀態(tài)之間的一次遷移。 步驟S130,對(duì)步驟S120中確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷,生成測(cè)試用例集,優(yōu)選地,進(jìn)行深度優(yōu)先遍歷。步驟S140,根據(jù)所生成的測(cè)試用例集對(duì)待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。下面進(jìn)一步詳細(xì)說明步驟S110。可將有限狀態(tài)機(jī)模型WAS= {States, Requests, Responses, TFs, RFs, InitState}中的狀態(tài)集合States中的狀態(tài)定義為三兀組State= {Function, FunctionState, Data}。其中,Function表示應(yīng)用功能,FunctionState表示當(dāng)前應(yīng)用功能的狀態(tài),Data表示當(dāng)前應(yīng)用功能對(duì)應(yīng)的數(shù)據(jù)。例如,State={“Login”,“Login in”, “admin”}表示系統(tǒng)中用戶 admin 已登錄狀態(tài),其中,F(xiàn)unction= “Login”表示用戶登錄函數(shù);FunctionState為“Login in”,表示當(dāng)已登錄狀態(tài);Data為“admin”,表示當(dāng)前登錄用戶信息。可將有限狀態(tài)機(jī)模型WAS中請(qǐng)求數(shù)據(jù)集Requests的請(qǐng)求數(shù)據(jù)定義為三元組Request={ReqType, ParaType, ParaData}, ReqType 表示請(qǐng)求類型,ParaType 表示請(qǐng)求對(duì)應(yīng)的參數(shù)名和參數(shù)數(shù)據(jù)類型,ParaData表示請(qǐng)求的具體數(shù)據(jù)信息。有限狀態(tài)機(jī)模型WAS中響應(yīng)數(shù)據(jù)集Responses的響應(yīng)數(shù)據(jù)Response與請(qǐng)求數(shù)據(jù)Request 類似,也可定義為三兀組 Response= {ResType, ParaType, ParaData}, ResType 表不響應(yīng)類型。例如,請(qǐng)求數(shù)據(jù)Request={ “LoginRequest”,“Username string” “Passwordstring”,“admin” “000”}表示用戶名為“admin”,密碼為“000”的用戶請(qǐng)求登錄系統(tǒng),亦即,ReqType= “LoginRequest,,,ParaType= { “Username string,,,“Password string,,},ParaData= { “admin”,“000”}。與之對(duì)應(yīng)的表示歡迎登錄的響應(yīng)數(shù)據(jù)Response可為{ “LoginResponse”, uHomeTitle String”, “Welcome tothe Electronic DocumentsSystem”},亦即,ResType 為“LoginResponse”,ParaType 為{HomeTitie String},ParaData為{ “Welcome to the ElectronicDocuments System,,}。定義狀態(tài)遷移函數(shù)集TFs (Transfer Functions)和響應(yīng)函數(shù)集RFs (ResponseFunctions)。其中狀態(tài)遷移函數(shù)TF :D_>State,表示當(dāng)前應(yīng)用狀態(tài)下接受用戶請(qǐng)求時(shí)如何進(jìn)行狀態(tài)轉(zhuǎn)移,且DGStates X Resquests ;當(dāng)系統(tǒng)處于狀態(tài)s(s e states),若收到用戶請(qǐng)求r(r e Requests),則應(yīng)用轉(zhuǎn)移到下一個(gè)狀態(tài)s’ =TF (s, r)。狀態(tài)響應(yīng)函數(shù)RF:D_>Responses,表示在當(dāng)前狀態(tài)下接受客戶請(qǐng)求如何進(jìn)行響應(yīng),D^States x Resquests;當(dāng)系統(tǒng)接受用戶請(qǐng)求后,會(huì)向用戶返回響應(yīng)信息res=RF(s, r)。定義初始狀態(tài)InitState。所有的Web應(yīng)用系統(tǒng)的初始狀態(tài)都可以定義為InitState= {0,0,0},且 InitState e States。下面進(jìn)一步詳細(xì)說明步驟S120。步驟S120中,根據(jù)有限狀態(tài)機(jī)定義測(cè)試狀態(tài)轉(zhuǎn)移圖。通過根據(jù)Web應(yīng)用系統(tǒng)的有限狀態(tài)機(jī)模型定義相應(yīng)的測(cè)試狀態(tài)轉(zhuǎn)移圖G=(V,E),可以更好地描述Web應(yīng)用系統(tǒng)的交互性行為和不同應(yīng)用狀態(tài)之間的關(guān)系。
如上所述,狀態(tài)轉(zhuǎn)移圖G= (V,E)是有向圖,且頂點(diǎn)集V表示應(yīng)用狀態(tài)集States,有向邊集E表示變遷集transitions,每個(gè)有向邊對(duì)應(yīng)一個(gè)變遷,每個(gè)頂點(diǎn)對(duì)應(yīng)一種狀態(tài),以s表示狀態(tài),以t表示變遷??蓪⒆冞w可記為transitions= (Si, Sj, x/y),表示應(yīng)用狀態(tài)之間的一次轉(zhuǎn)移,其中 Si, E States, S」E States, x E Requests, y E Responses,,且TF (Si, x) =Sj, FR(Sj, x)=y ;即Si是變遷的起始狀態(tài),Sj是變遷的結(jié)束狀態(tài),x和y分別是應(yīng)用狀態(tài)發(fā)生轉(zhuǎn)移時(shí)的用戶請(qǐng)求和系統(tǒng)響應(yīng)。對(duì)測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行深度優(yōu)先遍歷生成測(cè)試用例集這里的測(cè)試用例是指針對(duì)具體業(yè)務(wù)流程的從開始狀態(tài)到結(jié)束狀態(tài)的一個(gè)訪問變遷路徑。下面進(jìn)一步詳細(xì)說明步驟S130。下面參考圖2詳細(xì)說明一個(gè)采用深度優(yōu)先遍歷算法對(duì)測(cè)試狀態(tài)轉(zhuǎn)移圖G= (V,E)進(jìn)行遍歷的各步驟。步驟S231 :確定當(dāng)前訪問狀態(tài)s及初始狀態(tài)到當(dāng)前狀態(tài)的變遷路徑path= {t0, t” t2, t3, · · · tj ,標(biāo)記當(dāng)前狀態(tài)s為已訪問。步驟S232 :對(duì)于當(dāng)前狀態(tài)S,檢查當(dāng)前狀態(tài)s是否存在未訪問變遷t,如果存在變遷t=(s, s’,x/y)未訪問,進(jìn)入步驟S233,如果不存在未訪問變遷,進(jìn)入步驟S235。步驟S233 :把未補(bǔ)充訪問的變遷t加入變遷路徑path,使得path= {t0,t1; t2, . . . , tn, tn+1 = t},并將變遷t標(biāo)記為已訪問,進(jìn)入步驟S234;步驟S234,如果變遷t的結(jié)束狀態(tài)(即s’)為未訪問,則令當(dāng)前狀態(tài)為t的結(jié)束狀態(tài)s’,如果變遷t中s’為已訪問,則路徑path可以作為一組測(cè)試用例,加入到測(cè)試用例集TS (Test Cases)中,返回步驟 S232。步驟S235 :路徑path可以作為一組測(cè)試用例,加入到測(cè)試用例集TS中,彈出隊(duì)尾tn,然后進(jìn)入步驟S236。步驟S236,判斷變遷路徑path是否為空且當(dāng)前狀態(tài)是否不存在未訪問變遷,若判斷結(jié)果為不存在,則遍歷結(jié)束,反之,重復(fù)執(zhí)行步驟S232以檢查當(dāng)前隊(duì)尾變遷tn_i的起始狀態(tài)Slri是否存在未訪問變遷。通過如上4個(gè)步驟生成的測(cè)試用例集TS將覆蓋測(cè)試狀態(tài)轉(zhuǎn)移圖中的所有變遷,即覆蓋了待測(cè)Web應(yīng)用系統(tǒng)的所有應(yīng)用狀態(tài),如果對(duì)于測(cè)試用例集TS中的所有測(cè)試用例都能通過,則認(rèn)為待測(cè)的Web應(yīng)用系統(tǒng)符合需求。優(yōu)選地,步驟S140中,可優(yōu)選為由所生成的測(cè)試用例集轉(zhuǎn)換得到的TTCN-3可執(zhí)行的測(cè)試套對(duì)待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。
下面參考圖3詳細(xì)說明步驟S140中的詳細(xì)步驟。步驟S341 :將變遷t=(Si,Sj, x/y)中的應(yīng)用請(qǐng)求數(shù)據(jù)x和應(yīng)用響應(yīng)數(shù)據(jù)y轉(zhuǎn)換為TTCN-3形式的數(shù)據(jù)格式。該過程包括下述兩個(gè)階段,其轉(zhuǎn)換對(duì)應(yīng)關(guān)系如圖4所示。階段一抽取變遷中應(yīng)用請(qǐng)求數(shù)據(jù)X和應(yīng)用響應(yīng)數(shù)據(jù)y的數(shù)據(jù)類型,轉(zhuǎn)換成TTCN-3數(shù)據(jù)類型其中TTCN-3數(shù)據(jù)類型一般通過record關(guān)鍵詞來定義,需要指定類型名稱、成員變量名和變量數(shù)據(jù)類型。將表示數(shù)據(jù)類型的ReqType和ParaType,以及應(yīng)用響應(yīng)數(shù)據(jù)類型的Restype和ParaType抽取出來,轉(zhuǎn)換為Record格式的描述形式,其中ReqType和Restype轉(zhuǎn)換為Record類型名稱,ParaType轉(zhuǎn)換為TTCN-3格式的成員變量描述形式。 階段二 將變遷中應(yīng)用請(qǐng)求數(shù)據(jù)X和應(yīng)用響應(yīng)數(shù)據(jù)I中的具體測(cè)試用例ParaData轉(zhuǎn)換成TTCN-3數(shù)據(jù)實(shí)例其中TTCN-3數(shù)據(jù)實(shí)例一般通過template關(guān)鍵詞定義,需要指定實(shí)例化數(shù)據(jù)的record類型和數(shù)據(jù)模板名稱,并初始化該record類型的成員變量值。根據(jù)表示數(shù)據(jù)類型的ReqType和Paratype指定相應(yīng)的record類型,然后根據(jù)具體數(shù)據(jù)ParaData初始化成員變量值,最后定義一個(gè)切合實(shí)際需要template名稱即可。步驟S342 :將變遷t=(Si,s」,x/y)轉(zhuǎn)換為TTCN-3測(cè)試行為函數(shù)。在測(cè)試中,一個(gè)變遷表示一個(gè)測(cè)試行為,并可通過判斷測(cè)試響應(yīng)數(shù)據(jù)是否為測(cè)試輸入數(shù)據(jù)的正確響應(yīng)來確定該測(cè)試行為是否通過。TTCN-3測(cè)試行為一般通過TTCN-3函數(shù)來表示,且通常從測(cè)試輸入數(shù)據(jù)、測(cè)試預(yù)期結(jié)果和測(cè)試判斷機(jī)制這三方面來描述。其中函數(shù)參數(shù)定義操作的測(cè)試輸入數(shù)據(jù)類型和預(yù)期響應(yīng)數(shù)據(jù)類型,函數(shù)體定義測(cè)試過程和測(cè)試判斷邏輯。定義TTCN-3測(cè)試行為函數(shù)參數(shù)類型根據(jù)變遷中的應(yīng)用請(qǐng)求數(shù)據(jù)X和應(yīng)用響應(yīng)數(shù)據(jù)y對(duì)應(yīng)的record類型,定義TTCN-3測(cè)試行為函數(shù)參數(shù)類型,分別代表測(cè)試輸入數(shù)據(jù)類型和預(yù)期響應(yīng)數(shù)據(jù)類型。定義TTCN-3測(cè)試行為函數(shù)體將測(cè)試輸入數(shù)據(jù)發(fā)送到測(cè)試端,然后將接收的響應(yīng)信息與預(yù)期響應(yīng)信息進(jìn)行比較,如果一致則斷言測(cè)試通過,如果不一致則斷言測(cè)試失敗或出錯(cuò)等。步驟S343 :將變遷路徑path= {t0, t” t2, t3,· · ·,tj轉(zhuǎn)換為TTCN-3測(cè)試用例。根據(jù)具體的變遷實(shí)例化相應(yīng)TTCN-3測(cè)試行為函數(shù)的輸入?yún)?shù),然后將具體的變遷路徑轉(zhuǎn)換成TTCN-3測(cè)試函數(shù)調(diào)用序列,最后定義測(cè)試配置,便可將一個(gè)測(cè)試用例的變遷路徑轉(zhuǎn)換為一個(gè)完整的可編譯執(zhí)行的TTCN-3測(cè)試用例,相應(yīng)地,測(cè)試用例集TS便轉(zhuǎn)換成了 TTCN-3可執(zhí)行測(cè)試套。可見,本發(fā)明提供的Web應(yīng)用系統(tǒng)測(cè)試方法有效保證了 Web應(yīng)用交互性功能測(cè)試的完備性。此外,能夠通過與TTCN-3測(cè)試機(jī)制的結(jié)合有效分離測(cè)試設(shè)計(jì)與實(shí)現(xiàn)過程,從而為提高測(cè)試代碼的可移植性提供了支撐。TTCN-3 (Testing and Test Control Notation Version3)即測(cè)試與測(cè)試控制表示法第3版,是一種抽象描述能力很強(qiáng)的測(cè)試語言,其靈活的參數(shù)化機(jī)制可以有效實(shí)現(xiàn)測(cè)試設(shè)計(jì)與測(cè)試實(shí)現(xiàn)過程的分離,從而提高測(cè)試代碼的可重用性。主要用于描述在多種通信端口上的各種響應(yīng)系統(tǒng)測(cè)試。應(yīng)用典型領(lǐng)域有協(xié)議測(cè)試、服務(wù)測(cè)試、基于平臺(tái)的CORBA測(cè)試、API測(cè)試等,除此之外,TTCN-3還可以用于許多其他種類的測(cè)試,如互操作性測(cè)試、健壯性測(cè)試、回歸測(cè)試、系統(tǒng)和集成測(cè)試等。本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)?!?br> 權(quán)利要求
1.一種Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,包括 根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型; 基于所確定的有限狀態(tài)機(jī)模型,確定待測(cè)Web應(yīng)用系統(tǒng)的測(cè)試狀態(tài)轉(zhuǎn)移圖; 對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷以生成測(cè)試用例集; 根據(jù)所生成的測(cè)試用例集對(duì)所述待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。
2.根據(jù)權(quán)利要求I所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,狀態(tài)轉(zhuǎn)移圖G=(V,E)是有向圖,且頂點(diǎn)集V表示應(yīng)用狀態(tài)集,有向邊集E表示變遷集,每個(gè)有向邊對(duì)應(yīng)一個(gè)變遷,每個(gè)頂點(diǎn)對(duì)應(yīng)一種狀態(tài),以s表示狀態(tài),以t表示變遷。
3.根據(jù)權(quán)利要求2所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,在對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷以生成測(cè)試用例集的步驟中,對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行深度優(yōu)先遍歷以生成測(cè)試用例集。
4.根據(jù)權(quán)利要求3所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,所述對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行深度優(yōu)先遍歷以生成測(cè)試用例集的步驟進(jìn)一步包括 A)、確定當(dāng)前訪問狀態(tài)s及初始狀態(tài)到當(dāng)前狀態(tài)的變遷路徑,記為path={tQ,t” t2, t3, · · ·,tp · · · tj,其中,i為序號(hào),ti表示路徑path中的第i+1個(gè)變遷,并標(biāo)記當(dāng)前狀態(tài)s為已訪問; B)、對(duì)于當(dāng)前狀態(tài)S,檢查當(dāng)前狀態(tài)s是否存在未訪問的變遷,如果存在未訪問的變遷t,那么把變遷t加入變遷路徑path,使得path= {t0, t1; t2,. . . , tn, tn+1=t},并標(biāo)記變遷t為已訪問,進(jìn)入步驟C),如果不存在未訪問的變遷,將路徑path作為一組測(cè)試用例加入到測(cè)試用例集中,彈出隊(duì)尾tn,進(jìn)入步驟D); C)、如果變遷t的結(jié)束狀態(tài)s'為未訪問,則令當(dāng)前狀態(tài)為s’,并返回步驟B);如果變遷t中s’為已訪問,則將路徑path作為一組測(cè)試用例加入到測(cè)試用例集中,返回步驟B); D)、判斷變遷路徑path是否為空且當(dāng)前狀態(tài)是否不存在未訪問變遷,若判斷結(jié)果為是,則遍歷結(jié)束,反之,重復(fù)執(zhí)行步驟B)以檢查當(dāng)前隊(duì)尾變遷tn_i的起始狀態(tài)Slri是否存在未訪問過的變遷。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,所述根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型的步驟進(jìn)一步包括 基于狀態(tài)集States、請(qǐng)求數(shù)據(jù)集Requests、和響應(yīng)數(shù)據(jù)集Responses、狀態(tài)遷移函數(shù)集TFs、響應(yīng)函數(shù)集RFs和初始狀態(tài)InitState來構(gòu)建有限狀態(tài)機(jī)模型WAS= {States, Requests, Responses, TFs, RFs, InitState}。
6.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,所述根據(jù)所生成的測(cè)試用例集對(duì)所述待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試的步驟進(jìn)一步包括由所生成的測(cè)試用例集轉(zhuǎn)換得到的TTCN-3可執(zhí)行測(cè)試套對(duì)待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。
7.根據(jù)權(quán)利要求6所述的Web應(yīng)用系統(tǒng)測(cè)試方法,其特征在于,通過如下步驟來由所生成的測(cè)試用例集轉(zhuǎn)換得到TTCN-3可執(zhí)行的測(cè)試套 將變遷中的應(yīng)用請(qǐng)求數(shù)據(jù)和應(yīng)用響應(yīng)數(shù)據(jù)轉(zhuǎn)換為TTCN-3形式的數(shù)據(jù)格式; 將變遷轉(zhuǎn)換為TTCN-3測(cè)試行為函數(shù); 將變遷路徑轉(zhuǎn)換為TTCN-3測(cè)試用例。
全文摘要
本發(fā)明公開了一種Web應(yīng)用系統(tǒng)測(cè)試方法。該方法包括根據(jù)待測(cè)Web應(yīng)用系統(tǒng)的交互性功能需求構(gòu)建有限狀態(tài)機(jī)模型;基于所確定的有限狀態(tài)機(jī)模型,確定待測(cè)Web應(yīng)用系統(tǒng)的測(cè)試狀態(tài)轉(zhuǎn)移圖;對(duì)所確定的測(cè)試狀態(tài)轉(zhuǎn)移圖進(jìn)行遍歷以生成測(cè)試用例集;根據(jù)所生成的測(cè)試用例集對(duì)所述待測(cè)Web應(yīng)用系統(tǒng)進(jìn)行測(cè)試。這樣,既考慮了Web應(yīng)用系統(tǒng)中的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,也保證測(cè)試的正確性和完整性。
文檔編號(hào)G06F11/36GK102929775SQ20121040895
公開日2013年2月13日 申請(qǐng)日期2012年10月23日 優(yōu)先權(quán)日2012年10月23日
發(fā)明者顏佩瓊 申請(qǐng)人:中標(biāo)軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
疏勒县| 十堰市| 长宁县| 肇源县| 仁怀市| 柘城县| 慈溪市| 伊吾县| 广元市| 德兴市| 潢川县| 佛山市| 杨浦区| 勐海县| 南召县| 濉溪县| 安国市| 江西省| 上杭县| 项城市| 凉城县| 蒲城县| 佛教| 佛坪县| 台北市| 类乌齐县| 潍坊市| 土默特右旗| 东兴市| 分宜县| 宣城市| 吐鲁番市| 白水县| 纳雍县| 保靖县| 延庆县| 北流市| 北安市| 苏州市| 呼和浩特市| 新民市|