何謂 Keyword-Driven Testing
上一篇 / 下一篇 2007-10-09 21:43:03 / 个人分类:QTP
1v+u7@uA"E Z0转载:http://blog.joycode.com/oldsidney/articles/23580.aspx51Testing软件测试网1m Nao$nA:a(Q
51Testing软件测试网-z?~`o9| ?Mercury 新發表的 QuickTest Professional 8.0,又出現了一個新的名詞 (對我來說是新的名辭啦) - Keyword-Driven Testing。到底什麼是 Keyword-Driven Testing 呢?51Testing软件测试网gF)_a)N.d*pAv
a"}ZM
c.p
_/K^0以錄製方式建立測試的問題
5j6Vb5G}
Q9{051Testing软件测试网X,L3B+x7FH
一般來說,自動化測試通常是透過錄製的方式建立測試腳本的,這樣的方式看似容易,但是實際上會遇到下列的問題:
- 測試人員大多不具技術背景,難以完全掌握測試工具
- 應用軟體必須達到一定的穩定性,才能開始錄製測試腳本
- 自動化測試腳本與文件是分開的
- 維護自動化測試腳本的成本非常高
!^
sr&TI"w
]0關鍵字驅動 (Keyword-driven )
XF ]X6p&l051Testing软件测试网1{,hR {4~5K%C$V
在 QuickTest 8 的「關鍵字驅動 (Keyword-driven )」測試架構,主要是為了解決上述「透過錄製產生測試腳本」的問題的。
1^T,DWr
zb0
4Yej5sV#P0透過「關鍵字驅動 (Keyword-driven )」測試架構,測試人員不需要「錄製測試腳本」,進而改成「設計測試腳本」。
T5J+hD*ms%`051Testing软件测试网hLrcF X
建立 Object Repository51Testing软件测试网
GYr'eb Hp
%f,A8}NTI0在之前的文章有提到,通常測試工具都是「Object Base」的。在 QuickTest 儲存 Object 的地方稱為「Object Repository」。
*\]"_hs0
I0JUf&D1y0所以一開始,要先將應用軟體的 GUI Object,先記錄在「Object Repository」中。所以會先開啟「Object Repository」,按下「Add Objects」按鈕,將應用軟體的 GUI Object 加入「Object Repository」中。51Testing软件测试网e-x!DHn
!z8gx M1C0
-q"O;E"I-jA,e0
B&H@ i k7m`*a0接下來點選應用軟體視窗的標題列,會出現對話視窗問您是不是要把您剛剛點選的視窗加入「Object Repository」,點選「OK」。51Testing软件测试网5L rb]P$`6No-m
P}W"svK O2^'P$QT0
$l%w%y[%QZ/wh0
X4Th)Q@{8}6[0由於您選擇的 Object 是一個視窗,所以 QuickTest 還會進一步問您,是不是連視窗內的所有 Object 都要加入「Object Repository」,選取「Selected object and all its descendants」後點選「OK」。
QD[0]['}051Testing软件测试网 caHM-\3G/I
51Testing软件测试网ik)W2m5`
C&H/iq&dB0之後,您就會看到 「Object Repository」中會出現這個視窗內的所有 GUI Object。51Testing软件测试网6v:o
l ouK8zg^^ T
u
kD u[Wk+g051Testing软件测试网g(R5X y{1v{|
P9f&w.I!R$v1Nf0接下來,建議您將那些 Object 名稱很奇怪,或是看不出代表哪一個 Object 的 Object 名稱作個修改。例如我將原本名為「Button_5」的 object,改名成為「NewOrder」。51Testing软件测试网nul{.z5Q4X$C"p
51Testing软件测试网 gfG`
g3L
在使用測試工具時,這是非常重要的一個動作,為您測試腳本中的 object 名稱,訂定一個統一的規範,可以替日後的維護,減少非常多的成本喔!51Testing软件测试网5DbCJ!Po R t VA-c
2z5I'M-BA']FE051Testing软件测试网GKqA9P
~.J\'I
51Testing软件测试网klPh2W]
Y
可以開始設計測試腳本了51Testing软件测试网X"OC`%?JA
51Testing软件测试网;A"j
jZ)S6R0tf"s
接下來,您可以開始設計測試腳本的工作了!注意我使用的是「設計」而不是「錄製」,因為建立測試腳本的過程,就像是您在一個 Excel 文件上設計測試個案一樣。
4L:fd[7L.f0
p
Vo#R5C$o+b0您將會設計每個測試步驟,每個測試步驟主要有三個元素:
[%[!C-HV{$udi$Y051Testing软件测试网:\\6BJ
]
- Item:這個測試步驟是作用在哪個 object 上,可能是個視窗、按鈕、或是輸入欄位。
- Operation:在這個 object 上,您要執行什麼動作,如Click、Type、Select。
- Value:有些動作,會需要輸入資料,如從一個清單 (list) 上選擇某個選項,或是在輸入欄位 (edit box) 中輸入某些值,您必須告訴 QuickTest 要用什麼資料。
而且當您設計好一個測試步驟後,在Documentation欄位,會自動以英文句子顯示這個步驟的說明,這也是 QuickTest 的另一個新功能「Auto-documentation」,您在設計測試步驟的同時,文件也自動產生了。51Testing软件测试网gH&_9AIz5C5~0M
`AQ;m;~&de0接下來,我將以在 Flight ( QuickTest 內建的範例程式 ),建立一個「新增訂單」的測試個案。51Testing软件测试网a;w.t5af
R+D}"N:Ql_0這個測試個案的第一個步驟就是先 Active Flight Reservation 的主視窗。要建立這一個測試步驟,以要在 Keyword View 上的 Action1 下方點一下,就會出現 Object 的清單,供我選擇要作用的 object。我只要選擇「Flight Reservation」這個視窗 object 就行啦。
!l i8gh"o0
`O NFv9l0
6D!S2j2d0Ou
T(^051Testing软件测试网^O"o0IV
[M
接下來,因為我要讓這個 Flight Reservation 視窗 Active,所以我只要在 「Operation」欄位選取 Active 。因為這個 Active 不需要任何的資料,所以我不用在 「Value」欄位中輸入任何資料。
4u0U\]Kp#S051Testing软件测试网o*U'v5W B v
所以我的第一個測試步驟就完成了。同時也可以看到在 「Documentation」欄位中自動出現「Make the "Flight Reservation" window active.」的說明。51Testing软件测试网cz
SA$}Z.r3vb:d H9_
F&QKa2D(U0id
X"e.i051Testing软件测试网
@!evF
|:vZ
+DQ/NT9WU l[X.{a0第二個測試步驟,我需要在主視窗上的「Data of Flight:」中輸入出發日期,我同樣也按照上面的方式,在「Item」欄位選擇「Data of Flight:」,在「Operation」欄位選擇「Type」,然後在「Value」欄位輸入我要出發的日期「12/12/04」,到這裡我已經完成我的第二個測試步驟。