——對動態可繼承物件的動態操作
曾經測試過這樣的產品,所有、或者大部分功能模組中,都包含一些同特性的子功能,其在功能及頁面上存在大量繼承關係。以至於這些對應子功能的操作使用邏輯相同、頁面控制項屬性相同。
這些特點描述的種種,預示著測試**在結構上可以使用物件導向程式開發思想。
乙個通俗的舉例:
記得我們大多數測試軟體中,功能頁面的「幫助」功能麼!
通常,在重點功能模組中,都會包含乙個「幫助」按鈕。我們一起分析一下。
1.
所有的「幫助」按鈕觸發後都會呼叫同一篇「文件」。
2.
所有的「幫助」按鈕的某些屬性一致,如
text
屬性都是「幫助」。
3.
所有的「幫助」功能的測試邏輯都是一樣的,只是測試內容不同。
好的,我們可以這樣理解,1、
2、3可以作為屬性來描述這個功能測試的類。每個類的
例項化物件——「各個功能模組中的幫助按鈕的測試方法」
,都會繼承1、
2、3的特點。
設計測試方法:
1.
click
「幫助」按鈕。
2.
判斷是否彈出幫助文件
3.
在被測試模組的頁面上獲取功能名稱作為幫助鏈結內容的預期檢查結果。
4.
通過預期檢查結果判斷在幫助文件的當前實際顯示結果是否正確。
到這裡我們完成了一類的功能的測試方法的設計,或者我們可以叫它測試元件。
可以根據此,來完成所有可繼承的測試方法。
通常做到這裡,會遇到乙個嚴重的問題,可繼承測試方法的豐富,也可以說是複雜,讓測試開發團隊之間的推廣形成一定的障礙。
我是這樣解決的——
再編寫乙個測試驅動函式,用來判斷頁面中的屬性內容,自動的判斷需要呼叫哪寫測試方法進行測試。就不需要測試開發人員去了解現在複雜的測試方法了。
比如,當測試邏輯層**選中了某個功能,則我們的測試驅動函式通過描述物件程式設計,會判斷這個功能頁面是否包含「幫助」按鈕,從而判斷出是否呼叫我們之前設計的測試方法。
物件導向思想
物件導向思想 物件導向是以現實生活中客觀存在的食物 即物件 來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以食物物件為中心來思考 分析問題,並根據事物的本質特徵將其抽象為系統中的物件,作為系統的基本構成單位。物件導向思想主要分為3個主要部分 物件導向分析 物件導向設計 物件導向...
物件導向思想
is a基於類繼承或介面實現,is a 是表達這句話的一種方式 這個東西是那個東西的一種 例如 野馬是一種馬。是乙個 has a關係是基於用法 即引用 而不是繼承。換句話說,如果類a中的 具有對類 b例項的引用,則 類 a has a類b 例如 馬有韁繩。有乙個 is a 代表的是類之間的繼承關係,...
物件導向思想
我們在編寫程式的過程實際上也是解決問題的過程,對於具體的某乙個事物最好採用一類解決問題的方法,使我們解決問題時可維護性 可擴充套件性 可重用性更好。在物件導向產生之前,人們採用的是面向過程的程式設計方法,就是按照計算機思維寫出 一步步執行下去,也就是將客體所構成的現實世界對映到由功能模組組成的解空間...