慢談軟件測試行業現狀一
現狀
一些中小型公司開始做軟件或互聯網軟件開發業務,但是老板沒有意識到研發團隊還不夠完整。因為有一些團隊完全沒有專職的軟件測試人員,這也是源於老板與干系人,管理高層對軟件測試,軟件質量管理的理解層次度低,而大部分非研發出身的老板,總是以為軟件開發代碼寫完就可以使用了,沒有深入理解軟件測試過程。還有,即使他們了解了一些軟件測試與質量管理理論,也不願意投入成本去實施軟件質量管理,這使得二三線城市的軟件測試水平大部分停留在黑盒手工測試階段,有少部分可以做到白盒自動化測試。而事實上是真正的軟件測試是有技術含量的,當一切測試過程都自動化時,也包括最基本的自動化測試。 筆者曾經看到過,一些有5年以上工作經驗的研發工程師,對研發有了一些框架上的應用經驗,但仍然對軟件測試過程認識淺薄。筆者曾經寫過關於全面的軟件測試。提及我們期望達成目標:
- 頻繁的回歸測試以確保每個迭代的成果都是可交付的
- 讓整個開發團隊參與到測試活動中以縮短質量信息的反饋周期
- 讓客戶參與到測試活動中來幫助提高測試的有效性
單元測試Unit Testing
對於才畢業的一些軟件工程師,由於一開始沒有經歷過軟件質量過程引導,很多軟件測試的認識僅僅停留在書本上,事實上早已遺忘了那些知識。當你開始接觸的單元測試,這個最基本的測試過程,還是不太理解為什么要做單元測試,要寫很多代碼,只能說你的LEVEL不夠高。研發工程師需要自己保證自己程序的質量:
單元測試通常是一段可執行代碼,並能驗證執行結構是否和預期相等。自動化單元測試能在軟件開發的任何時候都能快速,簡單的大批量執行,保證能准確地定位錯誤,保證不會因為修改而引入新的錯誤,在系統開發的后期尤為明顯。編寫單元測試代碼的時間節約了未來修改/維護低質量代碼的時間。
實際上我們從上面的總結也可以看出,單元測試的意義需要你站在整個項目全局視角來看,從長遠出發。當你只是一個程序員時,只是負責一個模塊開發,難以有這樣的體會。當你有一天能有全局視角,系統思維時,看法將不一樣。關於軟件過程的質量管理,在之前文章IT持續集成之質量管理,以及移動應用App測試與質量管理,方法與實踐在其中。
持續學習Keep Learning
在文章2016年測試狀態調查中,對軟件測試工程師職業發展趨勢:
測試人員需要發展自己思考、處理復雜性的能力,潛在的問題就是大多數測試人員都在做敏捷項目。測試人員需要的不僅僅是技能。作為測試人員,還需要發展個人的優勢或特性,比如說勇氣和很好的判斷力。思考和學習的能力。就像人腦是中央測試工具一樣,思考也是測試人員的干細胞技能。當然,思考這個話題覆蓋面很廣,包括邏輯、創造力、批判性思維、分析、綜合、問題解決等等測試人員需要的很多其他認知過程。但是如果你不能學習,不能持續學習,你的思考也會是有限的。回到個人的優勢和特性來說,如果你不充滿好奇心,你也不會學習。實踐。培養好奇心。與其他任何技能一樣,你的想法越多,你在不同領域和環境中想得越多、學得越多,你的思考和學習能力就越強。想一下你工作的環境,想一想在你不喜歡的環境中工作的情況。如果你只在敏捷團隊中工作,嘗試一下在所謂的“瀑布”項目中的工作情況,反之亦然。同樣,和擁有與你不同專業觀點和意見的人合作完成測試和軟件開發。你可以從“另一方面”學到很多有用的東西,在你不熟悉的環境中實施你自己的實踐。最后,通過思考並理解復雜的系統和領域,提高處理復雜性問題的能力。
未來會發生一些不可知的社會、經濟和技術變革,作為測試人員我們要付出自己的技能和個人優勢。我們只能決定我們要提供什么,所以我覺得這就是我們要努力的地方。測試人員需要靈活性強、適應性強,總是學習新的技能和方法,並願意承擔新的角色和活動。
筆者在2017年時,曾經電話面試過一個46歲的測試工程師/主管。她當時在一家外資軟件企業工作也有17年之久。當時我問她最高境界的軟件測試是什么?她回答插樁,從測試方法與概念上沒有錯,但她的思考與認識還不夠深。目前軟件行業中,可能她沒有參與過深入高效的軟件測試過程。另一個最大的遺憾是當年JAVA開始起步時,她們已經過多少JAVA程序的研發與測試。但她現在居然不知道Docker容器,JAVA最新技術動態,Docker容器做為軟件研發生命周期中革命性的產物,現在已不是新技術了。我知道她沒有持續的學習,讓自己隨着時間的成長,這樣是不滿足我們團隊的期望的工程師。最高境界軟件測試其實是 合而為一,不分彼此。在<<How We Test Software at Microsoft>>與<<
How Google Tests Software>>中描述相關方法與背景。在行業中有Microsoft,Google,Facebook等巨頭公司做到了軟件測試的最高境界。關於后續這一塊,我們有時間再擴展開。
---------------------------------------------------------------
今天先到這兒,希望對您在系統架構設計與評估,團隊管理, 項目管理, 產品管理,團隊建設 有參考作用 , 您可能感興趣的文章:
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計划
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規划方案一(網絡系統規划)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog。