<!--[if !supportLists]--> ??? 對于windows 標準控件支持和面向對象的支持<!--[endif]-->
Rational Robot
對于
windows
標準控件支持非常好,并且可以識別出標準控件的所有屬性。
QTP
對于
windows
標準控件的支持一般,特別是對于
ObjectIndex
這樣的空間屬性無法識別。
??????????????????
驗證方法
分別運行
兩個工具軟件的
Object Spy
,識別標準控件的屬性。以及在實際腳本中使用。
發現
QTP
對象的辨認需要每個控件都手工辨認,無法用變量識別。
??????????????????
可能導致的風險
在項目的實際運用中,如果面向對象的支持不好,將可能導致腳本的重復使用率很低,特別需求變更頻繁的項目需求,界面變化大,很可能導致
QTP
腳本不能重復使用。
<!--[if !supportLists]--> ??? 對于Windows API 標準函數的調用<!--[endif]-->
Robot
支持標準的
Win API
函數,包括系統函數和高級語言編寫的
標準接口的
Windows API
函數。
QTP
無法調用
Win API
函數,支持
WScprit (Windows Script Host)
的對象應用,能使用一些簡單的函數功能。
???????????
驗證方法
??????????????????
實際應用
??????????????????
可能導致的風險
無。但是
WINAPI
函數的使用將會使腳本更加靈活,編程也事半功倍,特別是在對于一些算法的驗證的時候,可以用高級語言如
C++
編寫算法功能,編譯成動態鏈接庫,讓
Robot
調用
,并比較界面結果和算法結果。
<!--[if !supportLists]--> ??? 對于第三方控件的支持<!--[endif]-->
兩個軟件對于第三方的控件支持都很差,盡管
Robot
提供了控件解決方法,但是,該控件要在編譯源代碼的時候被編譯進去(這是很多程序員都不愿意發生的事情),而
QTP
也無法識別第三方控件,特別是基于
C/S
結構的應用程序時
??????????????????
驗證方法
實際應用,可以用部分第三方控件作試驗,可以看到,當
Robot
在編譯了
Rational ActiveX TestControl
控件以后,可以支持控件的識別,但是還是不能識別該控件的屬性。以下舉例說明兩個軟件對于一個第三方提供的
DBGrid
控件的支持程度。
Robot
在添加了
ActiveX test Control
以后,我們發現它可以識別一些控件屬性,至少可以保證在測試過程中不會因為控件無法識別而導致腳本出錯。而很遺憾的,我們看到
QTP
無法識別該控件。
??????????????????
可能導致的風險
由于第三方控件的應用,使自動化測試的風險大大的增加,因為在實際的運用過程中,會發現因為識別的問題,會使腳本無法流暢運行,測試結果無法交驗,自動化的測試過程變成半自動化半手工的方式。現在,還沒有更好的解決方法,只能期待以后測試軟件的更新。
<!--[if !supportLists]--> ??? 自動腳本功能模塊化<!--[endif]-->
將自動化測試腳本的各個功能模塊化,是自動化測試腳本中的一個重要任務,使得自己編寫的功能模塊提供接口,
可以被整個測試小組使用,這將減少測試人員的重復勞動,并且使腳本更加易于維護。
Rational Robot
很好的提供了頭文件的調用,把功能函數寫入頭文件,在各個腳本中調用就可以了。
至今尚未發現
QTP
提供該功能,或類似的功能。只能支持在同一個腳本中調用功能函數。或許與
TD
聯起來以后能支持該功能,尚待研究。
??????????????????
驗證方法
實際應用。
??????????????????
可能導致的風險
測試腳本的功能模塊化,可以使整個測試小組更有效率的合作,避免重復勞動,提高工作效率。同時,減少腳本的維護時間和復雜程度,以應對需求變更頻繁的項目。在實際工作中,應盡可能的將軟件功能細化,并編寫與之對應的腳本。
<!--[if !supportLists]--> ??? 學習難易度<!--[endif]-->
Robot
是使用
Rational
公司自己的
QABasic
語言,類
VB
,需要有一定的編程經驗,學習周期比較長。其界面
完全是腳本。
QTP
是
VbScript
語言,同時支持比較直觀的界面操作,簡單易學,容易上手,學習周期很短。
<!--[if !supportLists]--> ??? 學習資料方面<!--[endif]-->
網上基于
Rational Robot
的自動化測試框架,已經比較成熟,并被應用,該自動框架提供了許多有用的、成熟的、可靠的功能函數,可以被直接運用到項目中不必自己再耗費精力開發。
QTP
尚未發現該相對應的函數庫。
<!--[if !supportLists]--> ???? 腳本的管理方面<!--[endif]-->
Rational
使用自己的
Project Manager
與相關的項目聯系,可以在
Project Manager
中直接編寫測試用例,并將腳本與之關聯。并可在
Project
中直接運行腳本。
QTP
需要與
TD
結合起來,一起使用。
<!--[if !supportLists]-->? 數據驅動<!--[endif]-->
Robot
提供自帶的
Datapool
的功能,可以從數據庫,文件,或自己生成數據,但是應用比較復雜,也可以使用自己編寫的函數直接從
Excel
文件中讀取數據作為數據驅動。
QTP
直接在界面上就可以操作數據驅動,直觀而且簡單。
?
基準測試對比性測試
,
一般用來廠商之間同類產品之間
,
相同產品版本之間的對比。