領測軟件測試網
軟件測試技術門戶p&eB c3HW{:r軟件測試技術門戶c9U-im
Ir+K8@2Y+y-_k
軟件測試技術門戶l*q"[
\+M6 編寫一個 Eclipse 插件軟件測試技術門戶v$p7S0W)E
O`-}7`B i&f
u1x~Em{X使用 Eclipse 插件的原因,還得從Eclipse本身說起。自從2001年11月IBM宣布了捐出價值4千萬美金的開發軟件給開放源碼的Eclipse項目,Eclipse便開始向能夠進行任何語言開發的IDE集大成者的方向發展。Eclipse是替代 IBM Visual Age for Java 的新一代的 IDE 開發環境,它的目標不僅僅是成為專門的Java 程序的 IDE 環境,根據 Eclipse 體系結構,通過開發插件,它能擴展到任何語言的開發,甚至能成為圖片編輯等多媒體工具。更難能可貴的是,Eclipse是一個開放源代碼的項目,任何人都可以下載 Eclipse 的源代碼,并且在此基礎上開發自己的功能插件?梢詿o限擴展,有著統一的外觀、操作和系統資源管理,這正是 Eclipse 的潛力和魅力所在。軟件測試技術門戶
m%^)u
p#U:_d
軟件測試技術門戶cY(c;q%l+_除了 Eclipse 平臺本身所具有的強大魅力之外,插件易于安裝,且操作方便簡單也是我們考慮用插件的方式來完成測試用例的自動生成問題的原因之一。另外的一個原因是我們在項目開發過程中使用的是 WSAD,即 WebSphere Application Developer Integration Edition 5.1。WSAD 就是基于 Eclipse2.1.1 平臺的,因此可以無縫的將 SPTestSuite 插件集成到項目統一的開發環境中。
)DX0t_W(a:R
,s@] FS1I:b基于以上考慮,我們決定開發一個 Eclipse 插件來解決測試用例自動生成的問題,這個插件就是 SPTestSuite(此插件只適合 Eclipse 2.1.1)。SPTestSuite 插件要完成自動代碼生成所需的全部功能,它以向導的方式運行,引導用戶完成代碼的創建。用戶只需
8?q^4rp
tq-{
- 運行此插件;
- 填寫需要測試的存儲過程列表,或者從外部選擇一個包含存儲過程信息的文件;
- 指定數據庫連接信息。
軟件測試技術門戶e(\^b-QJxtSPTestSuite 插件將根據用戶選擇的存儲過程,連接數據庫獲取相應的存儲過程參數,然后依據代碼模板自動生成測試用例,并在 workbench 的工作環境中打開。用戶需要對生成的代碼做一些改動,一般來說,只需要修改存儲過程的調用參數即可。如果用戶需要定制自己的代碼模板,需要在生成代碼前對代碼模板進行修改。這樣就基本上解決了手工完成存儲過程測試用例工作量較大、效率較低的問題,并且通過采用代碼模板的方式實現了可定制和擴展。軟件測試技術門戶[3Y+Hd1xzZ9V
&x7qW-nX&rT-N
 'p*x;N4~"L4pU |
 {?|*dm0wH
 w-f"x7h3\+fC%k
_ |
回頁首 | |
軟件測試技術門戶vz zb5B r#@;tc軟件測試技術門戶
v&[c4R?D d
軟件測試技術門戶2O5k\$k.[N0BR7 插件擴展了 JUnit 框架
;h[
{
f1{'C#~
軟件測試技術門戶Z*M)B4R)TZ-Q,i為了解決測試效率低下和回歸測試的問題,我們選擇使用 JUnit 測試框架。通過對 JUnit 測試框架進行擴展,我們可以增加以下特性:
z9X"Ig_q;B.}
- 使得能把測試結果保存為 XML 文件:
j,j/hJ1~_writeToFile(String fileName, String time,ArrayList testResultList)軟件測試技術門戶O"TCCC7m
N#^
XML具有自描述、平臺無關性等特點,可以在不同操作系統間進行數據交換。我們選擇把測試結果保存為 XML 更重要的就是 XML 文件本身也是一個小的文件數據庫,通過簡單的 XML 變成即可實現對歷次的測試結果的比較分析。
- 增加了一些驗證方法,如:verifyInErrors 可以對輸入參數進行嚴正,避免測試用例本身存在問題。
- 目前,利用 JUnit 支持的主要方法就可以實現對測試結果的斷言,從而得到測試用例的執行結果:
Assert.assertEquals(…, …);
Assert.assertFalse(…);
Assert.assertNotNull(…);
Assert.assertSame(…);
Assert.assertSame(…, …);
Assert.fail(…);
|
軟件測試技術門戶j!AoG{{6I6Qp!h
i8K&US$A{j
軟件測試技術門戶,I.uB7Z%AMzS
 |
軟件測試技術門戶whSD4l
|