2020年註定是不平凡的一年,疫情仍在持續,無論前浪還是後浪都不容易的一年。結合《2019測試狀態報告》整理關於QA/Test的經驗分享給大家,希望給你帶來幫助。
什麼是軟體測試與軟體質量保證?
QA(software quality assurance engineer)與Test是完全不同的職位。
QA強調控制與評估,測試只是質量保證的部分手段,需要對模型和流程評估,進行過程改進與質量保證,貫穿產品的整個週期,向質量總監彙報,隸屬於質量管理體系;
Test是產品研發的一個過程,根據產品制定測試計劃,開發用例,找出產品的缺陷,分析相應資料,提交測試報告。同時是QA的工作物件
但是國內招聘無論工作範圍的是QA還是Test都叫測試工程師。
根據qablog的《測試狀態報告》來看團隊中只從事測試的人員比在下降,也就是說,測試工程師向質量保證工程師過渡,對於測試人員的要求更高了。
以下QA與Test工作內容統一稱為測試。順應國內形勢。
測試工程師的發展路徑是什麼樣的?
軟體測試崗位相對於其他崗位更要時間來完善發展的路徑,無論專業技術還是測試管理;需要不斷學習,探索適合當前產品的測試方案與技術,優化測試流程,釋出的產品質量直接關係公司的影響。
持之以恆的快速學習是必備技能,準備入行的同學需要考慮清楚,入行需謹慎。.
從2019的調查資料來看,團隊規模1到5人佔比50%,6到15人的佔比24%,16到50人的佔比16%,51人以上的佔比14%,國內與國外一樣多數團隊以小規模存在,這樣的團隊更靈活,方便協作,結合測試崗位的職位比從側面說明一個問題,需要承擔的任務會更寬泛,從國外的抽調資料來看測試管理接近1/4的比例,更需要你多才多藝,無論技術還是管理。
行業現狀如何?
從2017~2019年的測試工程師的工作年限分佈對比可以看出加入測試工程師隊伍的人數在減少,這是由於軟體行業的影響和測試工程師入門難度逐年提高導致的;早些時間軟體測試門檻較低,經常被人戲稱只需要點點點的工作,任何時候手工測試只是測試工程師的一項技能,基於清晰的邏輯思維,需要不停的去梳理測試流程來挖掘產品缺陷,隨著敏捷開發測試模型的逐漸普及,大量的迴歸測試和介面測試被自動化測試取代,更快更高效,同時節約成本,所以程式碼能力逐漸將成為必備選項。
成為資深測試工程師需要專業的知識儲備與大量經驗的積累,熟悉軟體的生命週期,合理制定測試策略,引進合適的測試工具,挖掘出更多產品的質量問題,為產品質量保證。需要理論指導實踐,實踐中總結經驗。
從抽調的資料看,只負責測試工作的測試工程師只有一半,受開發測試模型的進化和產品迭代的增速影響,這個比重還會逐年減少。
測試工程師崗位世界分佈圖顯示亞洲僅佔比5%,這個資料應該是不準確的,樣本的抽調對於國內的覆蓋較少,不過結合國內的實際情況來看,大多數公司的測試開發比遠低於1:1,這受傳統測試模型的影響,同時也受資源成本的限制。這種情況隨著公司對產品質量的重視會慢慢好轉,好產品會說話,高質量的好產品才是公司發展的基石。(免費領取軟體測試資料加Q3140781314)
有哪些應用會被測試?未來趨勢如何?
受移動裝置的普及,移動端的應用增長量明顯,而桌面應用比例逐年減少,同時網頁測試也受到了衝擊,雖然一些應用進行C轉B變的更靈活。
網路安全越來越受重視,容器和網路安全類測試逐年增加。
由於雲伺服器的低成本及普及,企業內部系統減少明顯,未來的趨勢更明顯。
有哪些模型會被使用?
說到測試,避免不了說測試模型。
敏捷模型逐漸成為傳統模型,但是這並不能說瀑布模型可以被取代。一個產品的開發測試模型需要根據產品特點來定義,合適的才是最好的。採用敏捷先看產品的特性是否支援。
DevOps是敏捷模型的補充,延伸了敏捷的過程,使測試人員的工作範圍再次擴大,直接為產品的部署和銷售提供有力的彈藥,未來會被更多中小企業採納。
隨著企業對成本的考慮和效率的關注,測試/指令碼驅動(TDD/BDD)開發呈逐年遞增的趨勢,但是無法取代手工測試部分,自動化測試固然能提高測試效率,往往投入與產出不配,規劃好手工測試與自動化測試的比例才能使產出最大化,成本更優。
通過模型資料可以看出,大多數團隊更喜歡短平快的敏捷模型,採用敏捷模型對團隊人員的要求也更高,不同於更傳統的瀑布模型,在產品的參與度上敏捷要求全員參加整個環節,同時三駕馬車執行,對測試管理難度提出了更高的要求。
未來對測試的要求會有什麼變化?
隨著產品研發的步伐加快,對工程師的要求變得更高,測試工程師的工作範圍也變得更寬泛。
企業更注重自動化測試,以替代人工進行迴歸或者介面測試等,從而降低成本;同時從資料可以看出測試工程師的工作範圍在向產品延伸,2019年的資料中32%測試工程師參與使用者場景整理,這是由其特定的崗位決定的,上接產品故事和研發,下連使用者思維,要求測試工程師懂產品也要懂使用者。(免費領取軟體測試資料加Q3140781314)
測試團隊的靜態產出有哪些?
關於測試文件,測試計劃、測試報告、缺陷報告、實時文件一直是不可缺測試的靜態產出。從2017~2019年的調查資料來看,學習文件、低階別的測試計劃和詳細測試指令碼等文件的重視度降低,這是由於大量採取敏捷模型的快節奏致使資源的壓縮造成,此類文件將逐漸被熱更新文件取代。但是對於團隊成員的成長並不是什麼好訊息。
哪些測試技術與方法會被使用?
探索性測試和基於會話的測試仍然是軟體測試的主要手段,將來也不會改變;過半的被調查人員使用指令碼自動化進行迴歸性測試,有效的提高測試效率降低成本;缺陷追蹤仍然是質量保證的重要手段。
安全性測試會被更重視。
對於軟體測試的挑戰是什麼?
更可能早的加入到軟體生命週期中,越早越好。重視資料維護和測試環境,保證可追溯,不是所有的問題可以及時復現,尤其2/8原則中的2的那部分。獨立的時間線,按計劃完成是對質量的保證。增加關聯簡化流程,看似矛盾。總結和分享,一個坑不要踩兩次。