我之前做過短暫的開發,后來主要是測試,豐富的測試經驗(但僅限于黑盒),并且有帶領團隊半年時間,期間和老板學習了6-Sigma(黑帶),也做過幾個專利,所以很有流程,改善,和客戶需求方面的sense, 并且感覺很有創新的意識,現在專職作QTP自動化開發,一個項目剛剛結束了,于是把隨想發出來,共同討論。
回顧整個項目過程中各階段操作,作出以下總結:
1、需求確認階段
此時需要手動測試人員的大力支援,并且建立良好的溝通,提升我們熟悉業務效率,溝通包括:
1)需求提出:與手動測試接洽人確認自動化實施的策略是什么.
將老板與客戶的想法作為大的方向,結合手動測試實際需求,并考慮到自動化實現的現狀,共同擬定出項目的Scope。
提出需求的絕不可以是自動化Team的“一廂情愿”。當然,現實中有時是由自動化方提出的更多一些,但是這個根本的原則是,要得到手動的認可與確認,否則當東西做出來后,他們說一句這不是我想要的東西時,我們自動化Team將全體暈倒……
2)需求確認與熟悉:自動化Team對提出的需求進一步分析,制定出自動化的Auto-Test Case。
分析的前提是,熟悉業務,即看懂test case并可以實際測試。原則上講,作自動化的人應該是對所做業務非常熟悉的人,至少要有手動測試經驗的。但實際上,我們不可能熟悉所有的項目,于是如何快速掌握業務操作流程就頗為重要。此時最捷徑的方式就是與手動測試人員溝通,溝通的效果越好,則此處所用的時間就越少。
PS:在我們的上一個項目中,我們在需求確認階段,看完了所有手動Test Case,將其分類出我們需要的,然后與之確認,說實話,有點耽誤時間。
2、開發階段
如果說需求確認階段我以前有過經驗的話,開發階段對于我來說可算是全新的。以前我們自動化項目,對于開發階段,代碼變化很少,其重點是如何將多個設備或者 PC的并行操作串聯起來??墒沁@里的項目不一樣,需要很強的編程能力,需要對QTP很熟悉,這也是我比較薄弱的地方。正應為如此,我在這個階段學習到的東西也是最多的。
首先,很好的Frame框架,為我們的編碼及維護帶來很大的方便。
其次,編碼方面,對于常用的函數,以前都需要看Help的規范后才可以編寫,現在非常熟悉,可以直接快速編碼。學習了許多新的編碼技巧,如:
1)Dictionary Object使用,這個以前聽都沒聽過,汗~~
2)描述性編程的實際應用,以前只是看過相關的概念
3)時間函數的應用,如Sync方法,WaitProperty屬性,或者自編輯一個For循環,動態等待時間。
再次,協同編碼保證代碼同步。
原文轉自:http://www.anti-gravitydesign.com