基於介面的軟體 自動化測試
框架和工具的發展大致經歷了三個階段(有人也據此將測試工具
分為三代):
1)簡單的錄製/回放:由工具錄製並記錄操作的過程和資料形成指令碼,通過回放來重複人工操作的過程。在這種模式下資料和指令碼混在一起,幾乎乙個測試用例
對應乙個指令碼,維護成本很高。而且即使介面的簡單變化也需要重新錄製,指令碼可重複使用的效率低。
2)資料驅動 (data driven)的自動化測試
:從資料檔案讀取輸入資料,通過變數的引數化,將測試資料傳入測試指令碼
,不同的資料檔案對應不同的測試用例。在這種模式下資料和指令碼分離,指令碼的利用率、可維護性大大提高,但受介面變化的影響仍然很大。
3)關鍵字驅動(keyword driven)的自動化測試:關鍵字驅動測試是資料驅動測試的一種改進型別,它將測試邏輯按照關鍵字進行分解,形成資料檔案,關鍵字對應封裝的業務邏輯。主要關鍵字包括三類:被操作物件(item)、操作(operation)和值(value),用物件導向
形式可將其表現為 item.operation(value)。關鍵字驅動的主要思想是:指令碼與資料分離、介面元素名與測試內部物件名分離、測試描述與具體實現細節分離。
相應地,軟體測試
自動化指令碼
的型別,從低到高的發展層次是:
1)線性指令碼:通過錄製直接產生的線性執行的指令碼。
2)結構化的指令碼:具有順序、迴圈、分支等結構的指令碼。
3)共享的指令碼:可以被多個測試用例使用,被其它指令碼呼叫的指令碼。
4)資料驅動的指令碼:資料和流程控制分離的指令碼,通過讀入資料檔案來驅動流程進行的指令碼。
5)關鍵字驅動的指令碼:指令碼、資料、業務分離,資料和關鍵字在不同的資料表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動指令碼的特點是它看起來更像描述乙個測試事例做什麼, 而不是如何做。
目前,大多數測試工具處於資料驅動到關鍵字驅動之間的階段,有些工具廠商已經提出了聲稱支援關鍵字驅動的版本。
從上面可以看到,自動化測試框架
和指令碼的發展是和軟體工程
思想的發展一脈相承的。軟體開發
的模式從面向機器、到面向過程、再到物件導向、面向服務,是乙個從底層到高層、從具體到抽象、復用的粒度從細到粗的發展過程。而軟體開發中的模組化、層次化、松耦合等思想對自動化測試框架
的設計都具有借鑑意義。
文章**於領測軟體測試網
傳統軟體 Vs 網際網路軟體
傳統軟體 vs 網際網路軟體 2009 01 21 13 54 對比項傳統軟體 網際網路軟體 價值評估 軟體的複雜度,開發成本 使用者人群數 使用者價值 只有收費的使用者才是有價值的 免費使用者價值同樣巨大 傳播視角 操作手冊 厚厚一沓,生怕哪個細節考慮不到 部分還要給予操作使用培訓。必須讓使用者不...
網際網路軟體如何防破解
國內推廣軟體,你要面對的最大問題莫過於軟體被破解了。很多軟體作者反映說,原來軟體在被破解前交費註冊的人還不少,但被破解後收入就直線下降,連成本都收不回來。您想,有了免費的東西人們還交那個錢幹什麼?在這裡,我借鑑了乙個軟體作者的防破解經驗 發行1.0版時2.0版已經寫的差不多的。發行1.0版時要把1....
工業網際網路 軟體定義的工業與網路革命
netscape創始人 矽谷著名投資人馬克 安德森 marc andreessen 曾有名言 軟體無所不在,正在 吞噬 製造業。說的就是軟體的變革顛覆了製造業的產品形態,發達國家也正在不斷用軟體定義產品功能和效能,增強對以軟體為主導的創新的重視程度,一些產品將會變成乙個平台,還有一些產品將會構成平台...