數據驅動測試一用變量取代在腳本代碼中固定的名字、地址、數據等,通常通過變量從外部(文件、電子表格、數據庫等)讀取數據的測試,數據驅動自動化測試通常是開發自動化測試工具的最終目標。[1]
映射一(1)識別在不同組,或相同組內對應項的過程。(2)是(1)的一個表示。(3)一個關聯的多元性。(4)在數學上,將每個定義域集合元素(輸入)均指派為值域集合上某個元素(輸出)的函數。一個一對一映射將每個定義域元素均指派為值域中一個唯一元素??赡艽嬖谖幢挥成涞闹涤蛟?。一個到上映射將每個域元素至少指派為一個定義域元素。幾個定義域元素可映射為同一個值域元素。一個雙映射同時為一到一和到上的。每個定義域元素被確切映射為值域上的一個元素,而每個域元素至少被影射為定義域上的一個元素。[2]
腳本一以文件形式保存,具有正規語法的數據和/或指令,通常用于測試執行自動工具中。測試腳本可以實現一個或多個測試用例、導航、設置或清除設置及比較。用于手工測試執行的測試腳本為策劃過程。[3]
錄制/回放一某些測試執行工具的一種功能,將測試輸入記錄(捕獲)為腳本,然后執行軟件時可以回放這個腳本。[3]
隨著軟件規模和復雜程度的增加,在軟件測試工作需要更多時間的同時,項目周期卻比以前大大縮短,如何在有限的時間內完成軟件測試工作,盡最大的可能暴露軟件中隱含的缺陷,是軟件測試工作中亟待解決的問題,而軟件測試自動化將是獲取可接受的測試覆蓋率的一種有效途徑,也是軟件測試發展的必然趨勢,然而,"工欲善其事必先利其器",成功的自動化測試離不開一個合適的測試工具,自動化測試工具的購置涉及資金、資源和人員等多方
面的因素,是一項系統工程(1)。一般而言,自動化測試工具的選擇與購置大致遵循下面的程序:
評估與選擇是自動化測試工具購置活動的主要環節之一,前四個階段主要是定義需求并確定侯選工具集,本階段要對工具的各個功能特性進行逐一比較和綜合評估,從候選工具中找出質量和性能價格比等方面綜合評分最佳的工具。
測試自動化是一項長期的努力,測試工具的選擇應從長遠發展的角度出發,綜合全面考慮工具的特性。
1 錄制/回放(Record and Playck)
在自動化測試工作中,該功能是絕大多數專業測試人員開始自動化測試嘗試的第一步,他們通常會先錄制一個簡單的腳本(這類似MicrosoftWord中錄制宏一樣),然后回放、閱讀和研究這些腳本。在日后的測試中逐漸會減少直接的錄制/回放,而改用直接編寫腳本或用工具內置功能測試對象、數據庫等,但這是自動化測試所走的第一步,如果工具不能識別應用程序對象而無法進行對手工測試的錄制和回放,日后測試自動化的實現將會遇到巨大困難而導致失敗。在評估中應認真考慮工具的這一功能,主要從以下幾個方面評價錄制/回放功能:
(1)錄制/回放一個手工測試是否簡單容易?
(2)是否支持底層捕獲,如鼠標拖動、精確屏幕定位等:
(3)在錄制/回放中能否正確地識別對象?
(4)錄制形成的腳本是否易于閱讀與理解?
2 Web測試
網絡的快速發展.使基于WEB的應用越來越多,而且已經成為應用程序開發的一種趨勢,從長遠發展的角度考慮,測試工具應提供基于WEB的測試功能而不僅僅只提供基于C/S模式的功能。C/S應用程序與基于WEB應用程序的測試有很大的差別:C/S應用程序其客戶都是已知并定義好的,而且網絡操作系統也是已知的,但測試基于WEB的應用程序卻遠遠不同:客戶可能來自不同的地方(如美國、中國乃至非洲等),使用不同的瀏覽器,不同的屏幕分辨率,不同的語言,不同的連接速率和不同的操作系統(Mac、L,inux、Windows等),因而建立一個基于WEB應用的測試環境成本遠遠高于C/S模式。在評估測試工具時,需要考慮工具是否支持超文本表格、框架頁面、I)COM、不同平臺的瀏覽器、網站映像和連接等,在評估中,以下幾個特性要考慮在內:
(1)工具能否提供頁面裝載的提示信息?
(2)是否可以設置工具讓其等待頁面圖片裝載完畢?
(3)能否判定測試頁面中的超連接是否存在?
(4)能否測試WEB頁面對象功能,如對象的使能狀態、是否包含數據等?
(5)是否允許按標題去查找WEB頁面上的某一種類型對象或定位到特定的對象?
(6)能否從頁面上提取數據?如標題,隱藏的表格單元元素等。
3數據功能
一般而言,應用程序都有接收和存儲數據功能。為了測試這些應用程序,我們需要設計和產生這些數據輸人到應用程序中。在自動化測試中,若工具提供這個功能,則在測試中我們可以定義數據產生規則,讓工具自動產生大量這些數據對應用程序進行測試,該功能在測試數據庫應用程序尤其有用。在另一方面,該功能在日后創建可用于多個開發項目的,基于數據驅動的自動化測試腳本庫時非常有用,因而自動化測試工具應能產生和操縱這些數據,其需要或應該滿足的特性如下: (1)能自動地產生測試數據;
(2)數據可以指定數據類型;
(3)能否從其他文件或電子數據表中創建和讀取數據:
(4)可以隨機存儲這些數據。 4對象映射(Object Mapping)功能
如果軟件工程師在開發軟件時所用的都是一些標準而非定制的對象,就不需要自動化測試工具提供這一功能,但實際上幾乎每個應用程序都包含一些非標準的控件或對象,目前市面上的多數工具都能支持應用程序中使用的標準控件,如Pushbut-tons、Edit boxes、Checkboxes、Radio buuons等,但對一些定制的控件卻無能為力,如果工具提供對象映射功能,則當一個定制控件表現類似于一個標準控件時,可以通過映射功能,讓其歸類為這一類控件。對象映射功能的實現通??紤]以下問題:
(1)指定一個定制控件行為或表現類似與某一類標準控件,能否映射成該類控件?
(2)映射的控件是否支持該類標準控件的所有方法?
(3)能否增加定制控件到工具的控件集里? 5圖像測試
原文轉自:http://www.anti-gravitydesign.com