「快速迭代」模式下測試人員將何去何從?!

「小步快跑,快速迭代」

軟體測試交流群:680748947

「小步快跑,快速迭代」是企鵝帝國的掌舵人馬化騰給業界的建議。他把多年來騰訊的內在轉變和經驗得失總結為創造生物型組織的「灰度法則」,這個法則具體包括需求度、速度、靈活度、冗餘度、開放協作度、創新度、進化度這7個維度。

馬化騰把騰訊的漸進式創新解釋為「小步快跑,試錯迭代」。也許每一次產品的更新都不是完美的,但是如果堅持每天發現、修正一兩個小問題,不到一年基本就把作品打磨出來了,自己也就很有產品感覺了。

我曾經玩過現在很火的手游《XX飛車》的端游,那時我還不是測試人員,但我那時我就想:為什麼這個遊戲能夠一個月更新一次版本?!這需要花費多少的人力物力?

互聯網產品想要不斷發展,在上線之初需要不斷獲得用戶,慢慢的勢必需要在不斷滿足用戶需求的基礎上進行產品的持續更新迭代

那麼如此快速的更新迭代就給測試人員帶來了不小的衝擊。

同時,隨著互聯網軟體快速迭代、快速交付的需求日益凸顯,軟體測試人員漸漸從「幕後」走向「台前」,將承擔軟體過程中更多的工作與更大的挑戰,為在質量和效率之間取得平衡,質量保障工作的技術性正在不斷提升。

注意,我說的是質量保證,而不是單純的找bug。

在飛馬網對京東張琪(京東商城POP平台測試與質量管理部負責人)的採訪中可以看出他對現如今快速迭代下的軟體測試人員的建議:

  • 隨著互聯網軟體行業的蓬勃發展,很多軟體公司開始朝著互聯網方向轉型,隨著軟體規模的增大及複雜度的提升,軟體測試行業對於人才的需求量增大,尤其是技能全面的人才。測試與產品、研發和運維的邊界日趨模糊,這就要求測試人員成為「多面手」,測試行業在人才的技能廣度上提出更高要求。
  • 對於測試人員來講,一旦發現bug,這還不夠,還需要有效定位bug,這個bug究竟是什麼原因引起的,這就需要廣博的相關知識,除了一些代碼知識外,是否和資料庫相關,是否和系統部署或配置等運維因素相關,這些都需要逐一進行判斷,這就對於測試人員的綜合能力有著較高的要求。
  • 測試人員需要根據系統的設計、實現方法、同時結合該軟體產品的特性、用戶群、對於軟體產品質量從多個方面進行評估,如:系統功能及邏輯、系統易用性、系統可靠性、系統性能或效率、系統可維護性等。測試人員對於軟體產品的缺陷挖掘及產品質量的保障更加系統化。
  • 隨著互聯網的發展,我們的工作模式也在發生著改變,所以對於一些比較新的工作模式或優秀實踐,只要他有可能提高我們的工作效率或可能對團隊帶來正向引導,我認為我們就應該去嘗試,比如敏捷流程,BDD,DevOps等。這種嘗試可以先在小範圍團隊中試行,以此減小試錯帶來的風險,待檢驗真正適合團隊後,即可大規模推廣執行。

對於高質量的軟體系統,測試人員在整個軟體生命周期中扮演著多種角色:

  1. 質量衛士:對整體軟體系統的質量負責,這個是測試人員的基本角色。但質量不僅僅是沒有bug,還包含良好的用戶體驗,系統穩定性、良好的性能等。
  2. 流程推動者:一個強大的企業或團隊一定有一個經過歷練和不斷優化形成的流程。同樣,構建一個良好的軟體系統同樣需要有一個高效的流程作為保障。軟體質量保障工作貫穿於整體軟體生命周期中的每一個環節。所以,測試人員就肩負起高效流程的構建及推動者的角色。
  3. 質量文化佈道者:質量對於測試人員來說,是分內的事,但只有測試人員重視質量是遠遠不夠的。一個優秀的產品,需要每個階段的參與人員都要對其質量負責,這就要求測試人員肩負起「質量文化佈道者」這一角色,將質量觀念傳播給項目中的各個參與者,使質量文化深入產品、開發、測試,讓大家都有「質量」意識,共同為構建高質量的軟體產品而努力。

軟體測試交流群:680748947

對於質量保障這一塊,該採取哪些質量控制手段來保證軟體/系統質量?

總體思路是這樣的:流程式控制制 + 測試深度 + 測試廣度。

其中流程式控制制主要有:質量保障工作前置,越早發現問題修復代價越小。流程埋點,流程數據分析及改進,流程基本穩定後再著手將其系統化,以提升效率。

流程式控制制中的一些關鍵階段的質量保障措施如下:

提測前質量保障:需求評審 +設計評審 +代碼評審 +用例評審 +靜態代碼掃描;

測試中質量保障:分層測試 +自動化測試 +上線前checklist檢查點 +產品試用機制 +基線壓測機制;

上線後質量保障:線上驗證 + 定期自動化回歸 + 系統穩定性監控 + 線上壓測;

測試深度包括:自動化測試 + 介面測試 + 少量白盒測試 + 探索性測試;

測試廣度包括:功能 + 性能(線上壓測 + 線下基線檢測) + 安全 + 易用性 +可維護性(注釋 + 重要行為日誌)。

未來測試人員技能全面化是一個趨勢。但要求測試人員既要懂產品,又要懂開發,這對於要經常趕工期的測試人員來說是非常大的挑戰。

建議是:

重點在工作中學習,在工作中提升,或者擠出一些業餘時間來學習。

關於趕工期,大家普遍有這樣的觀點:因為測試時間少,大家就會趕工期,然後就拚命地去通過手工測試的方法趕工,因為手工測試來的直接哇,直接上手就測。長久看來就會發現,越這樣,未來隨著項目的增多就越需要趕工,時間就越不夠用,長此以往,形成惡性循環。

所以大家必須改變思維,解放思想,要在繁雜的工作中堅持學習。我們是否能夠擠出一點時間來嘗試新的實踐呢?如:採用靜態代碼掃描的方式將大量低級錯誤在代碼提交前就修復,採用自動化測試將一些重複的勞動用機器來代替。這些都是值得學習並實踐的。

建議可以多參與到日常產品的設計方案討論會議及開發的系統設計方案討論會議中來,在真實場景下學習產品和研發的設計思路,加之自己的理解,久而久之,就逐漸培養起測試人員的產品思維和開發思維了。

軟體測試交流群:680748947

希望大家能在測試行業中找准自己的定位,在競爭越來越激烈的未來,守住自己的「坑」。

最後,本文引用了飛馬網對京東張琪的採訪對話,如涉及知識產權問題,請聯繫我,將立即處理。

謝謝大家~


推薦閱讀:

Xebium詳解09-FIT引擎
學習軟體測試從哪幾個方面學習呢?
3.掀起介面測試的蓋頭-HTTP初窺(二)
【資料包】軟體測試資源整理|使用於初學者
我是如何使用python來確定理財策略的

TAG:軟體測試 | 質量管理 | 職業發展 |