版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 中文5300字</b></p><p> 文獻出處:Liu C H. Data flow analysis and testing of Java Server Pages[C]// Computer Software and Applications Conference, 2004. COMPSAC 2004. Proceedings of the, In
2、ternational. IEEE, 2004:114-119 vol.2.</p><p> 畢業(yè)設計(論文)外文資料翻譯</p><p> 學 院: 計算機工程學院 </p><p> ?! I(yè): 計算機科學與技術(shù) </p><p> 學生姓名: ________</p><p
3、> 班級學號: ________</p><p> 外文出處: </p><p> 數(shù)據(jù)流分析和java服務器頁面測試</p><p><b> 劉鴻漸</b></p><p><b> 摘要</b></p><p>
4、Web應用程序通常依賴于服務器端的腳本來處理HTTP請求,生成動態(tài)內(nèi)容與其他組件進行交互。服務器端的腳本通常與HTML語句混合,很難理解和測試。特別是,這些腳本沒有任何編譯檢查,可能容易出錯,因此,測試服務器端腳本以確保Web應用程序的質(zhì)量和可靠性變得至關(guān)重要。</p><p> 在本文中,我們在java服務器頁面(JSP)中采用傳統(tǒng)的數(shù)據(jù)流測試技術(shù)。java技術(shù)是一種非常流行的,用來開發(fā)Web 應用程序的服務
5、器端腳本。我們指出,JSP隱含對象和動作標簽可以引入一些需要被處理的數(shù)據(jù)流測試工件。測試模型提出捕捉JSP頁面的數(shù)據(jù)流信息的各種隱含對象和動作標記的注意事項。基于測試模型,我們描述一種方法來計算揭示JSP頁面過程內(nèi)的數(shù)據(jù)異常和過程間數(shù)據(jù)流測試路徑。</p><p><b> 1.介紹</b></p><p> Web應用程序迅速擴展到社會的各個領(lǐng)域,如政府、商業(yè)、
6、教育和工業(yè)。與其他軟件一樣,Web應用程序必須進行徹底的測試,以確保其正確性,并符合軟件需求。隨著web應用程序的發(fā)展給予了廣泛關(guān)注,然而,盡可能多的關(guān)注給了Web應用程序的開發(fā),存在于Web應用程序測試的報道非常少,網(wǎng)絡應用程序仍然在專案過程中測試,許多領(lǐng)域的網(wǎng)絡應用程序測試仍然未開發(fā)。最近,一些方法已被提出以解決Web應用程序測試。大部分的辦法集中于在頁面級恢復Web應用程序的架構(gòu),以提供測試的路線圖行使網(wǎng)頁和他們的關(guān)系。但是傳統(tǒng)的
7、結(jié)構(gòu)測試仍然是web應用程序所必需的,以用來提供足夠的代碼覆蓋率。因此,在文本中,我們的目標是在數(shù)據(jù)流分析和JSP頁面測試做出努力,讓其在Java技術(shù)的Web應用程序中起到至關(guān)重要的作用。 </p><p> JSP頁面已被廣泛用于開發(fā)web應用程序來處理HTTP請求,用java組件如java bean的交互,并生成動態(tài)頁面。確保JSP頁面被正確寫入以及它們與其它組件的交互得到妥善處理是很重要的。然而,JSP頁
8、面通?;煜_本(即JSP 腳本)以及HTML報表生成動態(tài)網(wǎng)頁,這使得JSP頁面難以理解和測試。</p><p> 此外,作為一種腳本語言,JSP頁面沒用任何編譯器檢查,因此很容易出錯。雖然已有幾個測試工具測試JSP頁面,比如HttpUnit,,JSP頁面測試被認為是困難的,測試用例仍然在專案過程中,最重要的是,JSP頁面都引入了一套類似XML標簽和隱式對象的動作。
9、 </p><p> 當JSP頁面內(nèi)的程序邏輯是行使使用傳統(tǒng)的數(shù)據(jù)流測試技術(shù)時, 這些動作標記和隱式模式對象可以提出一些問題。</p><p> 在本文中,我們通過JSP頁面介紹識別和分析可能的數(shù)
10、據(jù)流測試工件,一種測試模型提供了抽象各種JSP隱含對象和動作標簽的數(shù)據(jù)流信息,用于計算涉及隱含對象和動作標簽的數(shù)據(jù)流測試路徑的方法描述和說明。</p><p> 本論文的主要內(nèi)容如下:第2節(jié)簡要回顧了現(xiàn)有的網(wǎng)絡應用程序測試方法。第3節(jié)描述了數(shù)據(jù)流測試工件提出JSP隱式對象和動作標簽。第4節(jié)提出了數(shù)據(jù)流測試模型來表示這些JSP測試工件。第5節(jié)說明了計算JSP頁面的過程內(nèi)和過程間數(shù)據(jù)流信息的方法。最后部分總結(jié)了結(jié)論
11、,并描述了未來的研究方向。</p><p><b> 2.相關(guān)工作</b></p><p> 最近,更多的網(wǎng)絡應用程序測試的方法已經(jīng)被提出,Yang et al.[13]拓展傳統(tǒng)軟件測試架構(gòu)以支持網(wǎng)絡應用測試。開發(fā)一套工具,以幫助分析文件,開發(fā)測試用例,執(zhí)行測試,監(jiān)控故障,并支持測試測量。Kung et al.[6,7]在對象和關(guān)系方面,提出了一個非結(jié)構(gòu)化網(wǎng)頁應用
12、的測試模型。他們把HTML文檔作為對象,并分析與Web應用程序的其他組件及其可能的數(shù)據(jù)流的相互作用。數(shù)據(jù)流測試策略提出從內(nèi)部對象,對象間的和客戶端之間選擇測試路徑。</p><p> Ricca和Tonella[10]描述一種捕獲網(wǎng)頁,表單,框架的分析模型和它們之間的關(guān)系。該模型提取靜態(tài)和動態(tài)Web應用程序的Web頁。從模型中,測試用例可以推導出測試數(shù)據(jù)流的網(wǎng)頁。Lucca et al.[8]提出了一個復雜的測
13、試模型來表示一個Web應用程序的基于模型的各種實體,根據(jù)他們的模型,提出了一種策略,為生成單元和集成測試的網(wǎng)絡應用程序生成初步測試案例。Wu and Offutt[14] 用一個頁面的原子量來描述結(jié)構(gòu)靜態(tài)和動態(tài)頁面的組合技術(shù)和若干規(guī)則。基于用戶的交互,他們僅僅測試用例的靜態(tài)頁面和原子元素組成的序列。Benedikl et al.[1]提出一種自動化的測試過程的Web應用程序的工具,基本上,該工具可以生成測試輸入并且能自動探索網(wǎng)站的靜態(tài)和
14、動態(tài)頁面。</p><p> 除了用于測試Web應用程序的功能的方法,Kallepalli and tian[5]and Tonella and Ricca[11] 利用Web應用程序在執(zhí)行過程中收集使用信息和故障日志,來支持可靠性分析,與此同時,Elbaum al.[3]利用Web應用程序捕獲數(shù)據(jù)比采用白盒技術(shù)生成用例測試費用少。</p><p> 3.JSP頁面的數(shù)據(jù)流測試工件&l
15、t;/p><p> 數(shù)據(jù)流測試主要研究變量及其潛在用途的定義為探索程序的數(shù)據(jù)異常,一個變量的問題可分為C-Use(計算使用)或p-Use(判定使用)。測試程序的路徑是基于定義使用鏈的選取(或定義使用鏈),其中一個變量的定義 - 使用鏈是使用自定義的變量,沒有任何重新定義的路徑介入。探索JSP頁面的數(shù)據(jù)異常,我們需要考慮的不僅是由JSP技術(shù)推出的jsp頁面的變量而且還要考慮隱含對象和動作標簽。隱含對象,比如請求和響應
16、對象,允許JSP開發(fā)人員訪問JSP-provided服務和資源,而無需顯式聲明的對象。特別是,一些隱含對象具有控制輸入/輸出JSP 頁面的流量功能。例如,請求對象,相同的請求對象可以提供給該服務給定的HTTP請求的所有JSP頁面。這會導致JSP頁面之間的數(shù)據(jù)交互。此外,響應對象的sendRedirect()方法允許HTTP請求重定向到另一個JSP頁面,重定向不但可以影響數(shù)據(jù)在JSP頁面中的流動,而且還可以引入兩個JSP頁面之間或JSP頁
17、面和一個Java servlet之間的數(shù)據(jù)交互。</p><p> 除了隱含對象,在JSP技術(shù)引入了一組標準的類似XML的動作標簽,如such as <jsp:useBean>and<jsp:forward>動作標簽的代碼處理程序,允許JSP頁面與其他JSP頁面和Java對象交互關(guān)聯(lián)。例如,看圖1第五行l(wèi)ogin.jsp頁面,有一個<jsp:useBean>標簽分配一個標記屬
18、性測試Java對象testBean。該測試屬性在第8行作testBean對象的引用參考,其中,變量的數(shù)據(jù)登錄和密碼從login.jsp頁面?zhèn)鬟f給test.verify()方法。結(jié)果是,<jsp:useBean>標簽需要考慮當捕捉JSP頁面和Java對象之間的數(shù)據(jù)交互時,計算JSP頁面的數(shù)據(jù)流信息。</p><p> 此外,在圖1中的12行,<jsp:forward>標簽允許HTTP請求傳
19、送帶參數(shù)my_mum到debug:jsp頁面。<jsp:forward>標簽不僅改變login.jsp頁面的流量,而且還導致的login.jsp和debug.jsp頁面之間的數(shù)據(jù)交互。注意,不同于傳統(tǒng)的函數(shù)調(diào)用,簡單的把<jsp:forward>標簽從login.jsp頁面到debug.jsp頁面執(zhí)行沒有任何回調(diào)的控制權(quán)。這樣的單向數(shù)據(jù)流必須考慮使JSP頁面的數(shù)據(jù)流信息可正確計算。</p><
20、p> 圖1.JSP動作標簽數(shù)據(jù)交互的一個例子</p><p> 表1總結(jié)了JSP隱含對象和動作標記幾個基本的數(shù)據(jù)流測試工件的介紹。應當指出除了<jsp:forward>標簽,<jsp:include>的標簽允許數(shù)據(jù)參數(shù)傳遞給另一個JSP頁面或Java servlet于是可以引入JSP頁面和servlet之間的數(shù)據(jù)交互。雖然,<jsp:include>標簽僅包括來自其他
21、JSP頁面和Servlet到當前JSP頁面的輸出。控制流是類似于傳統(tǒng)函數(shù)調(diào)用,并且將返回到當前JSP頁面。</p><p> 4.數(shù)據(jù)流量測試模型的JSP頁面</p><p> 從控制結(jié)構(gòu)的觀點來看,JSP頁面更像是傳統(tǒng)的方法,而不是對象類盡管一個JSP頁面可以包含多個腳本功能。原因是,一個JSP頁面只有一個入口點,并且JSP頁面中定義的所有功能只能在JSP頁面中進行訪問。因此,對于抽
22、象JSP頁面的數(shù)據(jù)流信息,我們通??紤]JSP頁面的傳統(tǒng)程序和捕捉他們的過程內(nèi)和過程間數(shù)據(jù)流測試工件。</p><p> 為了表示對JSP頁面間數(shù)據(jù)流信息,控制流圖(CFG)注明DEF/USE信息采用。定義使用注釋的CFG是一個有向圖。節(jié)點代表JSP腳本語句塊的邊緣,代表語句塊之間的執(zhí)行流程。特別是,CFG注釋發(fā)生變量,隱式對象和利益行為的標簽</p><p> 需要注意的是,在第3節(jié)所
23、述,response.sendRedirect(),pageContext.forward()和<jsp:forward>標簽可以構(gòu)成一個單向數(shù)據(jù)流。因此,該過程內(nèi)測試模型可能不是一個單入單出射CFG。此外,在JSP頁面中的HTML報表作為報表輸出的變量沒有任何定義或使用。另外,每個動作標記塊,包括開始標簽,零個或多個標簽屬性,標簽體,和結(jié)束標記,表示為CFG單塊。</p><p> 圖2示出圖1中
24、的注解的CFG為login.jsp頁面的清晰度/使用。定義和變量的用途,隱式對象,和動作標記在對應邊注解。值得注意的,在圖1的12行,從開始的所有語句的<jsp:forward>標記,并在結(jié)束</ JSP:forward>標記都被認為是的<jsp:forward>的一個XML塊標記。此塊是由CFG.In添加節(jié)點12表示,“end”節(jié)點在CFG cereated由于<jsp :forward>
25、; tag.AT這個節(jié)點,控制流從login.jsp頁面轉(zhuǎn)移到debug.jsp頁面而不回報,過程間的數(shù)據(jù)流可以被引入。在這一節(jié)點, 控制流從login.jsp頁面到debug.jsp頁面轉(zhuǎn)移沒有返回,并可以引入數(shù)據(jù)流。</p><p> 圖2.DEF/USE注釋的login.jsp的CFG。</p><p> 表示涉及一個以上功能或一種JSP頁面的數(shù)據(jù)流的信息,用高清注釋過程間控制流
26、圖(ICFG)/使用信息所采用的數(shù)據(jù)流信息,該ICFG已被用于在傳統(tǒng)節(jié)目的交互功能間數(shù)據(jù)流模型[4,12]。為了捕捉JSP頁面和Java組件之間的間數(shù)據(jù)流,CFG的建設要考慮到除了隱式對象和動作標記的功能。以下列表中的幾種情況,其中間數(shù)據(jù)流可能發(fā)生和ICFGs需要建設相應的JSP頁面和Java組件?!癿ain”腳本函數(shù)或JSP頁面的腳本函數(shù)調(diào)用同一個JSP頁面中的另一個腳本函數(shù)。</p><p> 或<J
27、SP:的setProperty>標記或通過直接引用Java組件的方法:在JSP頁面中通過<jsp中的getProperty>調(diào)用相應的Java組件。</p><p> JSP頁面通過調(diào)用另一個JSP頁面或的Java servlet的<jsp:include>的標簽。</p><p> JSP頁面調(diào)用另一個JSP頁面或的Java servlet通過的<
28、jsp:forward>標記中,reponse.sendRedirect()方法,或pageContext.forward()方法。</p><p> 請注意,動作標簽的<jsp:的getProperty>,<jsp的:包括>有,在ICFG可以通過連接代表調(diào)用JSP頁面將這些動作標簽的節(jié)點構(gòu)造類似于傳統(tǒng)的功能calls.As結(jié)果控制流程的所謂的Java方法或JSP pages.Ho
29、wever,條目節(jié)點的<jsp:正向>標記,所述pageContext.forward()方法,和的sendRedirect()方法導致單向控制flow.Thus,所述IFCG的結(jié)構(gòu)需要連接對應的“結(jié)束”節(jié)點的<jsp:forward>標記中,pageContext.forward()方法,和的sendRedirect()方法轉(zhuǎn)發(fā)(或重定向)JSP頁面的入口節(jié)點轉(zhuǎn)發(fā)(或重定向)JSP頁面或Java方法。</
30、p><p> 為了說明,考慮Figure3.In線7所示的交互JSP頁面,該頁面icfg.jsp可以通過一個請求對象,屬性組成user_x和my_y,到fw.jsp頁面使用的的<jsp:正向>tag.Thus,屬性user_x和my_y可直接或分別在icfg.jsp頁(在Lines2and4)定義并在fw.jsp頁面中使用(在Lines12和13)。而且,在第6行中,變量x,屬性user_x的別名,傳遞
31、給其中x是2,行屬性的使用也user_x通過相同的請求傳遞給in.jsp頁第8行的本地函數(shù)INC()在icfg.jsp頁反對使用的<jsp:include>的標簽,并在Line17使用。</p><p> 圖4呈現(xiàn)注解ICFG用于圖3,其中陰影節(jié)點表示IFCG.The定義的主入口和出口節(jié)點和變量,隱式對象的使用中所示的交互JSP頁面的清晰度/用途,和動作標簽被注解在對應節(jié)點。請注意,在圖4中,“結(jié)束
32、”的icfg.jsp頁的節(jié)點被連接到fw.jsp頁的入口節(jié)點來代表間數(shù)據(jù)流由<jsp的:正向>引起標記。此外,控制流的<jsp:include>的標簽是類似于INC()函數(shù),其中控制流會回icfg.jsp頁面時,頁面in.jsp和ICN的處決()函數(shù)完成。</p><p> 5.JSP頁面數(shù)據(jù)流量測試方法</p><p> 根據(jù)第4給出的試驗模型,JSP頁面數(shù)據(jù)
33、流測試可以從過程內(nèi)可以實現(xiàn)和過程間perspectives.From的過程內(nèi)的角度來看,定義 - 使用鏈(或測試路徑)可從DEF獲得/ UE的注釋腳本函數(shù)或JSP page.In特定的CFG,以探討涉及隱含對象和動作標記數(shù)據(jù)中的異常,我們定義的請求對象的“定義”和“用途”和Java對象與動作相關(guān)的標簽在JSP腳本如下:如果(1)在第一時間創(chuàng)建了請求對象請求對象的屬性的定義;(2)該屬性在“名稱”中的屬性定義:與<jsp中相關(guān)的&l
34、t;jsp param>標簽:正向>或<jsp的:包括>標記;(3)該屬性在response.sendRedirect的重定向URL字符串中指定()方法;或(4)該屬性是在聲明了request.setAttribute(指定“JSP的腳本的“)。</p><p> 如果該屬性的是在一個語句request.GET中參數(shù)(“一”)引用使用請求對象的屬性或在JSP腳本的陳述request.ge
35、tAttribute(“一”)。</p><p> 標簽:如果對象o在<useBean的JSP>的“id”屬性(即,name屬性)定義的Java對象o定義。</p><p> 使用Java對象o如果對象o的方法是在JSP腳本或?qū)ο髈的一份聲明中直接引用在“名稱”中引用的陽離子標簽屬性的<jsp:的setProperty>和<jsp的:的getPropert
36、y>。</p><p> 有了上面的定義,我們可以計算的涉及JSP pages.For例如隱含對象和動作標記過程間的數(shù)據(jù)流的信息,考慮在login.jsp頁面請求對象中Figure1.Since請求對象是在第一時間創(chuàng)建被調(diào)用login.jsp頁面時,請求對象的屬性的用戶登錄和用戶密碼被認為是在圖2.However所示的CFG的“入口”節(jié)點被定義,請求對象的屬性my_mum被認為是<:正向JSP>
37、;標簽嵌入到:<param JSP>標記,因為被指定my_mum要在節(jié)點12界定。</p><p> 此外,由于在<JSP:useBean>標記,屬性測試被認為在節(jié)點5.It進行定義,然后在節(jié)點8使用derectly引用方法驗證(),并通過該標記用于在節(jié)點10的<jsp:的getProperty>。因此,從圖2,我們可以得到定義 - 使用鏈<條目,6>的屬性USE
38、R_LOGIN,一個定義 - 使用鏈<條目,7>的屬性user_passwd,和定義 - 使用鏈<58>和<5,10>的測試attribute.Moreover,對于局部變量登錄,passwd文件,和num,存在定義 - 使用鏈<6,8>,<7,8>和<8,12>,<8,(9,10)>,<8,(9,12)>分別。</p><
39、;p> 從過程間的角度來看,定義 - 使用鏈變量,和動作標記在一個腳本函數(shù)定義并在另一個腳本函數(shù)中使用(或JSP頁面)可以在注釋ICFG.For實例DEF/使用獲得的,在圖3中,請求對象的屬性USER_ID可以在icfg.jsp頁面defiend并在fw.jsp和in.jsp pages.From圖4中使用,我們可以計算兩個過程間定義 - 使用鏈<項,12>和<進入17>的屬性user_id.These定
40、義 - 使用鏈涵蓋從ICFG,jsp頁面在頁面fw.jsp的node12的入口節(jié)點的路徑,并在頁面in.jsp到節(jié)點17。</p><p> 此外,請求對象的屬性my_y通過了該icfg.jsp頁面defiend的<jsp:param>的標記,在fw.jsp page.Thus時,我們可以得到一個過程間定義 - 使用鏈<7,13>為my_y.Moreover,存在過程間定義 - 使用鏈為
41、本地變量x,y被定義并在相同icfg.jsp頁面的不同腳本功能使用。</p><p> 6. 結(jié)論和未來工作</p><p> 本文介紹了支持數(shù)據(jù)流分析和JSP pages.In的方法測試的方法,按特定JSP頁面的隱含對象和動作標記所構(gòu)成的數(shù)據(jù)流測試工件識別并提出described.Test模型來表示JSP數(shù)據(jù)流測試工件各種JSP隱含對象和行動tags.The可能情形的控制流chara
42、cterristics的考慮網(wǎng)頁,JSP隱含對象和動作標記可能會導致間數(shù)據(jù)流也highlighted.Moreover,我們定義了數(shù)據(jù)定義和使用在動作標簽中指定的隱含請求對象和Java對象,并演示如何計算JSP頁面的變量,隱式對象,并從過程內(nèi)和過程間的觀點活動標記的數(shù)據(jù)流的信息。</p><p> 原型工具的開發(fā)正在進行中,以自動定義的收集和使用信息的變量,隱式對象和動作標記并促進定義 - 使用鏈的計算對JSP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外文翻譯--數(shù)據(jù)流分析和java服務器頁面測試(譯文).docx
- 外文翻譯--數(shù)據(jù)流分析和java服務器頁面測試(譯文).docx
- 外文翻譯---數(shù)據(jù)流分析和java服務器頁面測試(英文為圖片)
- 外文翻譯--數(shù)據(jù)流分析和java服務器頁面測試(英文為圖片)
- 外文翻譯---數(shù)據(jù)流分析和java服務器頁面測試(英文為圖片)
- 外文翻譯--數(shù)據(jù)流分析和java服務器頁面測試(英文為圖片).pdf
- 外文翻譯--數(shù)據(jù)流分析和java服務器頁面測試(英文為圖片).pdf
- 服務器升級 外文翻譯
- 基于Internet的嵌入式Web服務器數(shù)據(jù)流的研究與實現(xiàn).pdf
- 面向數(shù)據(jù)流的Java程序指針分析技術(shù)研究.pdf
- 數(shù)據(jù)流概要與數(shù)據(jù)流分析若干關(guān)鍵問題研究.pdf
- 基于控制流分析和數(shù)據(jù)流分析的Java程序靜態(tài)檢測方法的研究.pdf
- 服務流程的數(shù)據(jù)流建模.pdf
- 數(shù)據(jù)流聚類分析算法.pdf
- 廣州本田轎車數(shù)據(jù)流分析
- 數(shù)據(jù)流圖
- 服務器數(shù)據(jù)恢復
- 外文翻譯--針對安卓平臺的移動網(wǎng)絡服務器(譯文)
- [學習]服務器數(shù)據(jù)拯救服務
- 數(shù)據(jù)流概念漂移檢測和不平衡數(shù)據(jù)流分類算法研究.pdf
評論
0/150
提交評論