閱讀本文大概需要 4.8 分鐘。
一
之前我發了兩篇關于《Google 軟體測試之道》的薦讀和讀書筆記,有不少同學就在背景跟我說,咱們國内的環境和 Google 差的太遠,任重而道遠呀。
前兩篇可以點選連結檢視:
Google 軟體測試之道
Google 軟體測試之角色職責
嗯,确實是這樣,不僅僅是我們,就算是國外其他大公司,很多也都是和 Google 的方法不一樣。
但是我推薦這本書并不是希望我們要全盤照搬 Google 的做法,每個公司都有自己獨特的環境,我們不必去眼饞,但是我們一定要學習,要取長補短,要融會貫通,這才是讀書的意義。
今天這篇是這本書相關的第三篇文章,主要想聊聊 James 在 2013 年所預見的 Google 軟體測試的未來。
再多說一句,這也僅僅是 James 自己的了解,不完全代表 Google 的預期,更不能說明肯定是對的,我們去學習和了解他的觀點,是為了讓我們了解更多的資訊,拓展我們自己的視角,如果能帶來驚喜的火花就再好不過了。
二
James 在 2010 年出版的《探索式軟體測試》一書中,就一直強調一個理念:品質是所有人的責任。
直到 2013 年的這本《Google 軟體測試之道》,這個理念也一直貫穿始終。
在 Google 軟體測試改進中,他預言到這個目标終究會達成,其他對未來的預言都是基于這個前提。
如果真的實作了全員保證品質的目标,确實是不再需要區分獨立的測試角色,畢竟測試的工作已經完全被其他角色取代,測試變成了完全的輔助者角色,輔助其他角色更好的進行品質保證。
理想很豐滿,現實很骨感。
國内目前的環境,距離這個目标的差距還是很遠,先不說需求實作的品質,僅僅是
冒煙測試通過
這個基本的要求,目前很多開發都達不到,測試仍然隻是測 + 試的角色。
這個問題的原因不單單是因為測試,和整個行業發展也有一定的關系,目前整個軟體行業都處于一個急速膨脹的發展階段,很多人員的素質和能力并沒有經過嚴格的篩選和培養,既然這樣,各方面的人員素質都達不到統一要求,就算測試再努力,也是事倍功半。
那我們要不要往這個方向努力呢?當然需要,有些發展階段是繞不過去的,我們要做的就是腳踏實地的趟過去。
三
基于「全員保證品質」這個前提,書中分别闡述了 SET 的未來、TE 的未來以及測試管理者的未來。
SET 的未來就是開發。
從本來隻負責可測試性、可靠性和可調試性代碼實作的 SET,變為在功能代碼中同時實作測試代碼的開發工程師,進而出現具有測試思維的開發工程師。
關于這點,從我的經驗看還是有問題的,主要集中在:
1.傳承很困難。培養固定的幾個人開發人員還好說,讓他們内部去傳承幾乎不可能,是以沒有持續性。
2.目标變了,行為也會變。比如以前舉的例子,測試用例寫的好的同學,寫代碼仍然會出現可以被自己的用例測出很多低級 bug 的情況,哪怕是這兩個行為是連續進行的。
TE 的未來是測試設計。
主要特點是從之前自己負責測試,到自己規劃、組織和管理内部試用者、可信賴的測試者、早期使用者或者衆包測試者等近乎免費的測試資源。
TE 的另一個方向是垂直方向的測試專家,比如安全性測試專家、性能測試專家等等。
關于這點,如果流程上能夠滿足靈活開發要求的增量開發、灰階釋出和持續疊代,我覺得還是有可能的,特别是對于使用者體驗相關的測試,完全可以由真實使用者來測試,專業測試隻做專業性的深層次的測試。
測試管理者的未來是思想領袖,為維系松散的測試工程師和負責品質的軟體工程師的關系而存在(sorry,我也沒看懂)。
最後,書中還提到了測試基礎設施在未來最終都會整體遷移到
雲端
。
主要特點是雲端實作、集中管理、資料共享并互相關聯,一方面是減少重複造輪子的資源消耗和維護成本,另一方面可以讓更多的人來參與、維護和建構這些基礎設施。
關于這點,我覺得公司内部在某種程度上是可以達到這個程度的,但是更大範圍的共享,确實是個有待商榷的問題。
以上,今天主要聊了 James 預言的 Google 軟體測試的未來,以及涉及的 SET、TE 和測試管理者角色的未來,最後又提到測試基礎設施的未來,期間我也表達了自己的觀點,不知道你看完後是否認可?是否有其他見解?歡迎留言告訴我你的想法。