我覺得比較合理和比較符合現實的比例也就是 4-6:1。我們就是按這樣來配置的,但仍然會出現測試人數不夠的情況,那是不是需要招聘更多測試呢?
如果已經做到法則6,測試的工作已經前置,那么到正式測試階段,測試工作量峰值將會下降不少,但仍然是不夠人數做測試的,這個時候本法則“人人都是測試”就適用了!
測試要實現做好測試方案,到正式測試階段,將測試方案中的工作分派給開發,讓開發也帶上測試的帽子進行測試,記住基本原則就是不要讓開發測自己負責的模塊就行了。
法則8:測試設計的難度不亞于軟件設計
我將測試方案及工作的規劃,稱之為“測試設計”。
如果測試只懂業務是很難勝任測試工作的,請看以下案例。
案例:某技術要求高的系統
該系統有幾個技術難點和測試難點:
1)B/S架構,但界面的易操作性要求很高,寫了很多JS腳本。系統需要在IE6、7、8上能正常運行。
2)系統需要部署在網絡負載平衡的環境上。
3)系統有很多Windows Service服務,要定時生成很多數據。
4)系統需要滿足一定的并發訪問量要求。
如果不具備“圖1 測試人員需要具備的技能”中的“進階技能要求”和“高級技能要求”,你將會對這些測試難點素手無策。
當時我們的測試沒有這么厲害,我相信很多項目的測試也不會這樣厲害,而很多項目其實是有很多技術要求和測試難點的,那我們該怎樣辦?
記住“法則7 人人都是測試”,項目經理或項目的技術大牛就應該承擔起測試設計的工作,但要注意要帶上測試一起來做,訓練測試逐步掌握這些技能。
法則9:不需要寫面面俱到的測試用例
曾經見過某領導對測試的要求很“苛刻”,他要求測試無論事無大小必須寫出面面俱到的測試用例。比方說一個登陸系統的功能,如果按照該領導的要求,要將所有測試數據都寫清楚,那么寫出來的測試用例至少需要10頁以上的A4紙。
這是一個比較極端的真實案例,稍微沒有那么極端的情況是,要求所有的需求都需要對應有文檔化的測試用例。
在軟件開發工作當中,其實有些工作是屬于“常識性”的,你閉著眼睛也會做的,這些內容就沒有必要文檔化。
比方說我讓你寫一個吃飯說明,你會這樣寫嗎?
1)用一只手拿起筷子;
2)用另外一只手捧起碗;
3)用筷子將碗中的飯扒到嘴中,記得要張大口噢;
……
你看了上面這段描述,不知道吐血了沒有?
我們只需要對比較復雜的、容易出錯的、有難度的地方,寫出相應的測試用例,測試用例的描述在于描述清楚測試思路,不需要事無大小都寫下來。
當條件成熟的時候,公司可以逐步建立測試用例庫,對常見的情況建立測試指南,讓所有的測試人員去學習和參考,項目中遇到類似的情況就可以直接參照用例庫了,不需要再寫一次測試用例。
法則10:測試也是開發,開發也是測試
當我是一個人寫程序的時候,我就是按照“法則10”來干的;當我和另外一位程序員負責一個軟件的時候,那三年時間我們基本上也是按照“法則10”來干的。
當我做的項目的人數是幾個人以上后,這個“法則10”就很難實施了,不是我不想實施,而是因為各種客觀條件并且我的領導不同意。
我的觀點是:一名優秀的測試同時也應該是一名優秀的開發,一名優秀的開發同時也應該是一名優秀的測試!
但目前常見的現狀是:
1)能做好測試的優秀開發有,但數量不多;更多的是沒有測試意識,代碼質量很差的程序員。
2)測試大部分是不懂開發的,我們認為優秀的測試往往也是不懂開發。
我曾經想嘗試這樣的管理模式:
1)開發必須每年有一段時間換崗做測試工作。
2)測試也需要每年有一段時間換崗做開發工作。
3)干脆就不招聘測試,只招聘開發,但要求該崗位也要負責測試工作。
第1)點很難實現,因為開發基本不愿意去做測試。
第2)點基本無可能,因為測試編碼基本功通常為零,而且很多測試是因為不喜歡編碼才做測試的,悲劇!
對于第3)點,我承認,我是在“癡心妄想”!
現實可行的做法可能是這樣的:
1)讓有培養潛質的開發帶上測試的帽子,負責某些項目的測試工作。該方法能提升開發的編程素養,也可以培養綜合性人才。
2)讓具備條件的測試在某項中帶上程序員的帽子,讓他寫代碼。
我一直沒有能在我管理的公司中嘗試這樣的管理模式,但我相信這樣的管理方法一定會極大的提升公司的生產力和戰斗力,看你敢不敢和能不能去嘗試了?
小結:
要改善測試工作首先要從思想上重新定位:
1)測試并不是一個低技術含量的工作,相反,測試工作重要性和難度并不亞于軟件設計。
2)測試并不是項目后期才開展的工作,而是從頭到尾都需要的工作,是保證項目始終在正確軌道上的重要工作。
如果你是測試工程師,提升你的水平,發揮你更大的能量,這是你的當務之急。想別人和公司重視你,是靠你自己的實力去爭取的!
如果你是項目管理者,你要注意的是:
1)項目管理者最優先要做的事情就是保證大家都在做正確的事情,你要從測試的角度從項目一開始就進行監控。
2)給測試工程師權力和成長機會,幫助他們成長,讓測試工程師分擔你更多的工作。
3)測試其實是一種帽子,其實誰都可以戴,要善于安排測試人力資源。
如果你是程序員,你需要多從測試的角度來檢驗自己的工作,你的工作目標就是不讓測試工程師測出任何缺陷,將測試工程師“廢掉”!
原文轉自:http://www.cnblogs.com/umlonline/p/3485631.html