讀『Google軟件測試之道』

讀『Google軟件測試之道』

在IT領域,Google是一面旗幟,是一家非常善于思考善于嘗試的公司。隨著面臨挑戰的不斷增大,傳統的測試開展方式也越來越力不從心,這本書講述的就是一次完整的轉型過程,非常的有價值。這是本老書了,一年多前就拜讀過,當時更多看到的是差距和困難,隨著一年的努力和嘗試,突然覺得有點開竅,和大家做一些分享。

基本理念

Google在質量方面的基本共識是:

質量不是被測試出來的

具體的工作目標是:

讓每個工程師都注重質量

從業多年,這個口號其實經常能聽到,但是大多數時候只是一個口號而已,很長一段時間,我甚至覺得開發人員缺乏質量意識已成為了一種天性,如何破開這塊堅冰,Google也許能帶來點啟示。

組織變革

Google的變革是從組織開始,面臨的是幾個比較大的問題。

測試部門是否需要保留?
從思維角度說,開發是一種創建思維,而測試是一種破壞思維,兩者是無法同時兼容的。
一個部門是比較難兼容兩種思維方式的,所以Google保留了獨立的測試部門。

測試部門的定位如何?
新部門的名稱叫做 Engineering Productivity工程生產力部門。
從部門的名稱就可以看到,主要關注生產力提升方面。

工程生產力部門如何工作?
關鍵在于人員的分工,主要有兩類角色SET和TE。
TE(測試工程師)和常規測試角色類似,主要負責功能層面的驗證。
SET(測試開發工程師)這是一個全新的職責,其目標是幫助開發人員進行測試。

Google變革的核心是新增了一個全新的角色SET,這個角色主要起到了開發和測試的融合劑,也是把質量意識進行普及的關鍵。

測試分類

SET這個角色是如何協同工作的,關鍵是Google的測試分類。

測試分類是這樣的:

小型測試:單元測試。
中型測試:兩個或兩個以上模塊,關注功能交互。
大型測試:三個或以上,使用真實用戶場景和數據。

初看到這個分類,我是感覺有點凌亂的,命名上也太不嚴謹了。
從技術角度,對三類測試有個更詳細的區分,明確了很多。

小型測試 中型測試 大型測試
時間 10ms內 1s內 盡可能快
強制結束 1min 5min 15min
網絡服務 模擬 僅本地
數據庫 模擬
文件系統 模擬
用戶界面 模擬 不鼓勵
系統調用 不鼓勵
多線程 不鼓勵

小型測試的特點是運行時間短,而且沒有外部依賴。
并不是符合所有條件就算小型測試,如下代碼雖然符合,但仍然不算小型測試,因為其輸出結果不穩定。

    public String getString(){
        return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS")
                        .format(new Date());
    }

三類測試的分工如下:

小型測試運行時間短、無依賴、輸出穩定,這些特性無疑都非常有利于測試,大多數開發人員完全能夠勝任,所有小型測試是由開發人員SWE來負責。同時,小型測試是所有模塊的基石,構成了這個質量體系的穩固基礎。并不是所有代碼都能符合小型測試的要求,所以SET的第一個職責是幫助開發人員將代碼重構符合小型測試。

中型測試會涉及到外部依賴和模塊間接口,相對難度較高,所以主要由SET來負責,同時,SET會負責接口相關的開發。

大型測試主要面向用戶,會由TE來負責。

在Google,SWE、SET和TE共同協作來完成質量工作,但三者之間有著嚴格的邊界區分,小型測試數量龐大易于測試,需要的是細節邏輯的掌握,SWE負責最為合適;在此基礎上,中型測試需要實現接口和外部依賴,專業性較強,由SET負責;大型測試主要面向用戶和價值,由TE來負責。三者共同構成了質量的金字塔。

ACC測試法

TE角色由于小型測試和中型測試的支持,主要關注用戶體驗和業務價值。工作方法叫做ACC測試法。

A特性、C組件、C能力是一個矩陣表達法。每一項能力(系統功能)需要同時考慮功能和特性(業務價值)兩方面。

特性1 特性2 特性3
組件1 能力
組件2 能力
組件3 能力

ACC是一種測試計劃的安排法,和傳統的樹形結構相比,增加了特性的維度,突顯了業務價值。但是這種方法主觀性比較大,對測試人員有一定的要求。

小結

書中對于SET和TE的工作有著較為具體的描述,限于篇幅就不再贅述。整本書讀下來,讓我印象最為深刻的Google解決問題的思路。面對質量這個業界的巨大難題,Google的做法不是口號,也是不是革命,而是面對每個具體問題,進行了非常人性化的解決,將一個非常大的問題進行了分解。雖然其解決方法有著濃重的Google特色,我們不可以完全照搬,但是解決問題的思路和衍生的眾多技術成果卻是非常值得我們學習的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內容