1. 程式人生 > 其它 >測試大咖漫談如何搞定軟體質量?

測試大咖漫談如何搞定軟體質量?

本週測試開發技術公開課 《利用 Shell 打造 Android 自動化測試框架》 ,報名方式見文末!

關於質量保障,好像已經說過太多,但這裡還是抽象的嘮叨幾句。

多年的軟體測試和質量保障工作讓我越來越清晰的認識到: 質量絕對不是一個環節,一個工種可以搞定的 。比如:

  • 從對語言的誤用,到對第三方元件的誤用;

  • 從需求根源就有問題,到需求傳遞過程中出現的誤差;

  • 從設計程式碼基本邏輯設計不合理,程式碼架構設計不合理;

  • 從一些引數配置錯誤到上線的版本弄混;

  • 從架構師不良的設計,到運維人員不規範的操作;

質量問題可以產生於任何一個環節。

隨著系統越來越複雜,單點的問題會累計成片的問題,面的問題,最後產生災難性事故。這些例子見得太多太多了。因此, 搞定質量是系統性工程,是絕對的
TeamWork。人、流程、技術、標準都是不可或缺的。


如果只嘗試從單一角度解決質量問題,即使採用再牛逼的技術,下再多的力氣,定再多的流程,也可能只會事倍功半。

但是我發現, 很多團隊解決問題總是極度偏向一個維度的

  • 有的組織定義一大堆流程,並嚴格執行,最後演變成了摳文字的遊戲和郵件大戰,而對採用落後的技術給生產力、質量帶來的極大拖累視而不見;

  • 有的團隊極度追求技術,什麼新用什麼,最新的架構、框架全都用上,卻發現開發人員一行單測也不寫,連型別轉換,不捕獲異常,少寫個等號這樣的基礎程式碼級別的 bug 都要等系統測試階段再發現;

  • 有的團隊開發人員極為強悍,從程式碼工程角度來看架構、設計、程式碼、單元測試、評審都無懈可擊,但是需求竟然是郵件來回溝通,到最後還是為其所累;

  • 還有的團隊似乎每一個點都照顧到了,還過了 CMMI5,貌似一切都很好,但是發現,改一個按鈕的需求要搞一個半月才能上線,要知道,開發效率也是質量的一環啊。

以上這些都是我見過的真實的例子。

所以, 如何搞定質量呢? 答案是” 綜合治理 “這幾個字。

至於如何做,其實不同的團隊實現起來會大不一樣。因為團隊結構不一樣,產品型別不一樣,公司文化不一樣,怎麼會有萬靈藥呢?

在大多數情況下, 質量的長足改進都是對基礎的重視和通過無數次磨練團隊成員打造出來的,對於老的團隊,更需要拿出傷筋動骨的勇氣和從每一行程式碼搞起的決心。


****可惜國內大部分團隊的質量體系只停留在一個初級階段(我做過上百人的訪談,還是有一點發言權的)。我們國內大部分 IT
團隊離成熟、高效仍然有很遠的距離,需要我輩一起努力。

那麼問題來了, 在這種前提下,測試人員如何開展工作?

我的觀點如下:

1. 測試工程師的傳統工作邊界會越來越模糊甚至會被打破。 不再固守”系統測試“這片疆土,而把測試工作左右移是一個必然趨勢。

測試左移需要開發技能和開發人員的半成品對接,這是個殘酷的現實;測試右移也是趨勢,利用生產資料、行為做測試也將是測試人員需要掌握的技能,這裡就需要測試人員掌握一些運維知識和資料分析知識,這些也和開發技能難以分開;

而隨著系統越來越複雜,各種非功能性測試也會越來越重要,而大部分非功能測試同樣需要開發技能(如效能測試,安全測試)。沒有這部分技能是無法做好測試的。測試對開發技能既要求廣,又要求深,其實挺過分的。

**2. **人的認知和學習能力有極限,作為一個群體,又會是正態分佈的樣子。因此不可能所有人都是大神級人物(企業也招不來養不起或不願意養),
測試會是以 TeamWork 的形式 Cover 各個質量環節的一部分,並形成一張質量網。

在縱切面上會有一些人鑽得很深,如安全測試工程師,效能測試工程師,做框架的測試開發工程師,系統測試分析師,這樣才有可能把精力集中在一點,搞定技術的難點,把事情做下去;又例如有些業務極為複雜的企業,需要很多
BA 來搞定業務複雜性,有一些 BA 是偏向測試的;

如果組織很大,你就會發現無數流程上的低效率,反模式,這時候其實需要有一些人專注過程,一些測試人員會承擔起這些責任。這些都會造成測試人員內部的分工,也會造成測試人員之間的薪酬差異逐步拉開。我覺得測試做測試的同學應該找準自己的努力方向,要學的太多,精力總是有限的,得自己有個人發展路線圖。

**3. ** 不要把自己侷限於”我是測試工程師“
,這樣你的職業路線才會逐漸開拓,你對組織的貢獻才會逐漸加大。這個不展開說了,工作久了並有一定靈性的同學都會懂。

**4. ** 做好測試工程師其實挺難的 ,甚至可以說投入產出比要低於其他 IT
崗位。測試的上限很高,挑戰很大,如果你真的喜歡測試,需要持續突破自我,努力堅持下去。 (end)

_ 【原創資訊】 作者_ 劉曉光, 霍格沃茲測試學院特邀嘉賓 ,某網際網路巨頭企業資深測試技術專家,有 10
餘年軟體測試經驗。本文略有刪改。

活動推薦 | 測試大咖公開課

**Shell **作為一門指令碼語言,是測試工程師日常工作的重度依賴工具,也是深入分析待測系統的重要工具,是自動化能力的重要基礎。

本週霍格沃茲測試學院公開課,兩位資深測試技術專家 從基礎到高階實戰, 手把手帶你掌握 Linux 三劍客核心技能,並打造簡易實用的
Android 自動化測試框架

講師資訊

思寒 ,測吧科技 CTO,霍格沃茲測試學院校長,AppCrawler 開源工具作者。

曉東 ,某金融企業資深測試技術專家。

直播時間

  • 基礎實戰:9月19日(本週四)晚8點-9點

  • 高階實戰:9月20日(本週五)晚8點-9點

報名方式

掃碼回覆關鍵詞「 三劍客 」入群。

Tips :關注公眾號,及時獲取測試開發技術乾貨資訊。

點一下好看,就少一個 Bug ↘

來霍格沃茲測試開發學社,學習更多軟體測試與測試開發的進階技術,知識點涵蓋web自動化測試 app自動化測試、介面自動化測試、測試框架、效能測試、安全測試、持續整合/持續交付/DevOps,測試左移、測試右移、精準測試、測試平臺開發、測試管理等內容,課程技術涵蓋bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相關技術,全面提升測試開發工程師的技術實力

點選獲取更多資訊