automation對于QA的測試而言毋庸置疑是很重要的一部分,這也是一個很大的領域,有非常的多的東西值得去研究,作為一個QA的整個career path估計也不為過。
說到automation,特別是對于一個剛開始的項目而言,很多時候我們第一反應就是現有的框架或者技術能不能實現我這個產品所要的一些操作,可不可以做automation。這樣的思考本身沒有問題,因為很可能會有技術上的障礙或者很多的東西要去準備。但是基于這樣的思路,最近卻遇到一些問題。經過其他同事的提醒和自我反思,現在對于automation在項目中的開展有一些和以前不同的體會。也許下面提到的一些東西你之前早就想過或者對你們的項目根本不適用。
背景是這樣的,最近在做一個新的產品,有client和server端,而且是不同的平臺。因為是新的產品,所以automation的framework需要準備,當然有很多的組件是可以借用自其他現有項目。于是一開始我們就在基于框架的能力來討論automation要如何去開展,包括負責開發framework的QA, 產品feature測試的QA,還有對應的developer lead。經過幾輪反復的討論,基本的architecture倒是有了,看似主要的功能也可以做了。但是某天項目經理們(JM)過來問了幾個問題,發現還是有很多的地方不清楚,比如下面的問題。
1. 基于這樣的框架,有哪些產品需求里面定義的模塊可以被automate?
2. automation rate估計可以到多少?
3. Automation framework有哪些具體的item要準備,什么時候可以ready?
4. 對產品和developer的dependency (比如stub)有哪些?
...
因為和automation QA有幾次討論,開始我還自以為心里比較有底,講了一通,結果到后來談到這些具體的問題,發現很多地方還是不太清楚。結合大家的意見,包括來自項目經理,以及developer team的問題,加上項目的現狀,仔細思考之后我覺得可能需要一些和之前不太一樣的做法。
1. 從產品出發而不是測試框架出發
之前我們很多的討論都是從framework或者technical的角度來看哪些能做哪些不能做。后來覺得這可能有些本末倒置,就想做一個產品,應該是先看我們要做成什么樣子,再去想技術上要怎么準備,雖然技術上的實現也可能影響到產品的設計。就想做飯應該是想要吃什么,而不是因為只有綠豆和大米,就只能綠豆稀飯之類的?;谶@樣的考慮,我們先把framework的技術問題放到一邊,先把所有的功能列出,并且向下細分到大的功能點,然后問自己幾個問題:
a. 這個功能點我們準備automation嗎?如果不,為什么?
b. 如果要automate這一部分,產品方面需要哪些support,需要操作暴露接口或者提供stub等等?
c. framework,或者說將來的automation程序,需要針對這一部分做什么?
基于功能點的list,針對上面的每一個問題,我們可以做一個matrix,然后一個個來過,這樣思考的點就會具體很多,也避免遺漏掉。
2. automation不只是QA的事情
之前的一些潛在的觀念會覺得developer,甚至項目經理都不care QA怎么做automation,甚至不care你多少要做automation。粗淺的來說,看似有道理,反正我們到時候都測到不就行了。但是這種思路是不對的,因為
a. Developer care automation,因為他們首先也想知道哪些會被automation cover,將來很容易做regression。另外,他們也想在早期的時候知道哪些部分需要為QA的automation做一些支持,留好相應的接口,而不是等到后期被要求加東西。
b. JM也care automation。因為這個會影響到項目的進度,而且對新項目而言,automation本身就是很有風險的事情,需要投入多少人力和時間,預期和實際的收益是怎樣的。而且和developer一樣,JM也想弄清楚需求里面的哪些部分會被automate,這對于風險的評估和控制也是很重要的。
3. 要做就需要明確的task breakdown和時間點
這個其實不只是對automation,所有的task都是這樣的,這也是我從JMs身上學到的東西,確實是如此,特別是一個團隊很多人一起做事情的時候,如果大家一開始對要做成什么樣子,會用什么樣的方案,以及預期的時間點沒有很清晰,是很難得到預期的結果的。
4. 哪些假設真的成立嗎?
在做一些設計和判斷的時候,我們明確的或者隱含的做了很多假設,假設這一部分是這么做的,介紹那個東西肯定會有的,甚至包括假設對某個東西別人和你有一樣的理解。很多時候,如果不detail的拿出來review,你會發現別人的想法可能真的和你不一樣,或者你了解到的狀況是有偏差的。
這些都是這一兩周關于項目automation的一些教訓和思考,記在這里和大家分享,也是給自己提個醒。因為是個人經驗,所以不一定完全正確,歡迎討論。特別感謝一起討論的幾位同事,包括他們的耐心。
原文轉自:http://www.anti-gravitydesign.com