先構建測試體系還是先開展軟件測試外包項目?
最近,在和一些金融客戶交流,他們中有很多希望在近期采購專業測試服務,但在操作上總有一些顧慮。大多數的顧慮都幾乎圍繞這幾個問題:先構建測試體系還是先開展測試項目?外包的初期由一家完成還是多家完成? 建議從哪一種測試領域開始切入?
我相信,萬事開頭難,不過,始終還是要走出一步。
1、 先構建測試體系還是先開展測試項目?不能說完全開展一方,然后再開展另一方。
我們推薦先進行測試工作的前期調研,然后構建一個體系的原型,然后逐步開展測試項目,同時完善測試體系。一套完整的測試體系不是靠一兩個項目能夠輔助完成的,要靠多個項目的積累。天陽在項目實施和測試體系建設方面有很多豐富的經驗,在這方面可以節約您很多寶貴的時間,通過我們的調研,而后再實施兩個以上的典型項目,我們相信,您的測試體系的基本結構應該可以建立了。
這樣的工作開展方法是天陽在為大量客戶構建體系和實施測試中總結的最佳實踐,它的基本原則是由易到難,由簡到繁,原型擴展。在原型基礎上,以大量的實踐結果作為原型擴展的依據,從而使原型趨向豐滿和完善。
2、 外包的初期由一家完成還是多家完成?
在測試業務外包的初期,我們推薦咨詢和實施由一家合作公司完成,同期引入第二家合作公司實施,一定是同期。有需要的話,在測試體系和外包服務管理基本進入運行軌道后,再逐步引入多家實施。
為什么咨詢由一家完成呢?如果我站在貴公司的角度,或許并不是因為在排除哪一家實力不行,而是在考慮哪種模式更可行。所以,它的可操作性應該放在第一位?刹僮餍泽w現在多個方面,首先,一家咨詢的管理成本較低,貴方人力情況暫時不是很充沛,這樣,可以把更多的精力放在實際參與的體系建設和項目中來,雙方面可以更多的交流,共同推進工作。再者,我們已經談到:首先構建體系原型,然后實施,而后逐漸完善?梢钥闯,前期的大量工作還是比較基礎的,如果引入多家反復對這些基礎工作進行實施,會極大的浪費您的財力和時間,在工作的推進上,也不見得是個好的做法;蛟S,您引入多家咨詢和實施,為了看到差異,同時做一個比較。在這一點上,為了使您更清楚的看到宏觀和微觀上的差異,所以我們推薦一家做體系建設,實施工作由兩家完成,這里指的是兩個不同的實施內容。于此同時,您仍然可以看得到另外一家對于目前體系建設工作的評價和定位,在技術和過程上可以很好的避免風險。
在此過程中,為了避免出現惡性競爭,客戶的態度是最關鍵的。我們之前在xx銀行是多家同期實施的,其中就出現過惡性競爭,但客戶方面發現后(當時是我們建議的),采用協作和溝通的方式,讓大家彼此消除了不必要的猜忌。實際上,客戶作出這樣的表態,其實也是給自己贏得了更大的產出,合作公司間在一種良性競爭中可以創造的價值應當是不言而喻的。
3、 建議從哪一種測試領域開始切入?
從基本面上看,功能測試實施過程較長,人力投入較大,對工程師的業務能力要求很高,并且在短期內不容易產生很大的影響力,比如:吸引高層領導的眼球,讓開發組高看一眼等。但對于構建體系的選擇上非常適合,因為,功能性測試可以從 UT 、 SIT 、 UAT 等多個工作階段切入,而且,天陽在這幾個階段的行業經驗也極為豐富。性能測試的基本面,性能測試周期較短,人力投入較少,對工程師的技術水平要求很高,但能夠在短期內產生很大的影響力,比如:經過調優測試,某系統性能提高 XX 倍、發現 XX 個性能隱患等。天陽在技術能力上給很多客戶留下了深刻的印象,解決了很多生產問題和性能隱患。但性能測試在整個測試體系中所占的比例偏小,這個是個必須正確看待的問題,畢竟功能測試在測試過程、方法和各類條件約束上更加嚴格,比如:缺陷管理,在性能測試中,一個項目不會發現太多的缺陷,他們大多數是具有代表性的幾個不同類型的缺陷。而功能測試中,缺陷的數量很多,在缺陷的類型、嚴重程度、優先級上都有著嚴格的定義,而且處理流程相對復雜,其實更代表著嚴謹。另外,性能測試對于前期的準備工作要求很高,如調研、環境、數據等,或許需要一定的開發人員支持。
結合基本面,我們認為不僅要落實好體系建設,更要在短時間內給領導者和開發組以信心,并贏得他們的支持,所以,建議進行體系建設的同時,同期開展功能和性能測試。
在選擇上是有一定技巧的,大的方面看: 1、 應該選擇已經投產的項目,投產的項目的軟件版本相對穩定,對測試有序實施的保障很大。
2、 有著一定規模的需求變更,但不是巨大規模。帶有一定的變更內容,容易使功能測試在缺陷產出上有個好的報表效果,當然,不是為了報表好看,而是在一定的缺陷數量下能夠發現很多過程性的問題,更好的完善與開發方的協作;
3、 可以實施的周期在 2 ~ 3 個月,不宜太短,也不宜太長;
4、 這個已經上線的系統,在未來幾年內對于系統的性能有著較高的要求,比如:未來客戶的激增、業務量隨市場的發展將會較高;
5、 選擇一個業務規則相對通用的業務系統,不要選擇太具有我行特色的業務系統,這樣可以讓測試工程師更方便熟悉、了解、掌握您的系統;
6、 最好選擇一個業務線較短的系統(跨系統較少),這樣采用的檔板會較少,實施相對容易;
7、 盡量選擇總行級系統,不要選分行系統。如果方便,選擇一個在全行系統中位置較重要的系統。比如:核心帳務系統、卡業務系統、第三方存管業務系統、證券業務系統、網上銀行業務系統等;
8、 這一點也很關鍵,選擇一個關系較好的項目組,能夠得到項目經理的支持是非常必要的。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/