2. 在團隊開發裏,在項目伊始,對所有隊員描述壹個大家***同努力的目標。這樣做的好處是在開始的時候就做對的事情,讓每個人都清楚和統壹目標,否則有的人會因為覺得自己的角色可能不重要,所以不用太用心,給全組士氣造成影響。另外壹個好處是避免以後再廢話。
3.講述所有人(不同角色的人)所應具備的素質。人就是這樣,如果開始的時候就做對的事情,有了警鳴鐘,事情進展的會順利些。雖然這些事情看似多此壹舉,但不得不考慮人的本性就是如此。
4.經常的去思考如何把技術和產品做到最大限度的優秀。這樣會產生壹些靈感或想法,來改進現有的東西。
5.使用統壹的接口。
6.對領導,要想得到項目的具體實施,需要去爭取他們的肯定和***識。
7.要驗證的場景很多,找出、設計出不同的場景。比如:COM驗證郵件是否發出,郵件文本驗證, 不同控件的特有的點擊事件,用同壹套代碼對不同版本產品的驗證等等。
8.UI自動化的技術。UI Automation 離不開像Mita, KAF ,Maui這樣的對UIA技術框架又封裝了壹層的框架,準確的應該叫類庫。
他們都有各自的特點:
1):Maui是最貼近UIA core的壹層了,KAF,MITA 都是在maui的基礎上建立起來的,這麽說可能不準確,但他們都應用了maui的東西。 2):MITA:要比maui好用,它的架構本身就是應用裝飾模式,並且對windows application 支持的還算不錯,包括WPF,所以使用MITA做UI自動化簡單,宜用,比起UIA框架提供的元素好用多了。
3).KAF:它的內部都引用了Maui和MITA, 可能是考慮到Maui雖低層,但不支持WPF;MITA雖支持wpf,但對外部不公開com. 我覺得KAF就是為瀏覽器的UI自動化而生。它對瀏覽器的支持超過前兩者。
目前UI自動化的技術還存在很大的缺陷,有三點:
壹是在UI element查找時,不支持正則表達式;
二是產品的UI技術總是不斷變化,從win32,到wpf,再到Rebun, 這就造成了對同壹個界面元素的唯壹標識的不壹致性。對自動化開發限制和挑戰很大,針對於特定系統,特定版本的軟件,要有兼容的解決方案才能克服。問題的根源是在產品設計時,開發者就沒考慮UI automation自動化這事,windows OS也很難讓所有在windows上運行的程序都有唯壹而且統壹的標識。
三是不支持二級查找。目前都是從UI tree的根節點開始查找,而不能直接從所有的二級或三級節點查找ui element.
9.要想提高開發速度,可以通過良好的成熟的架構設計,工具和管理。
10.使用好日誌。記錄信息時,需要記錄好log lelver, when, where, How. 對troubleshooting很有幫助