技術分享 | 測試的本質是什麼?

本文將分別淺談不同階段的業務、不同端的業務、不同類型的業務的測試差異,再抽離其中的測試目標/本質。僅爲筆者個人觀點,歡迎批評指正。

一、不同階段業務對測試的需求不同

不同階段業務對測試的需求不同。這點幾乎經歷過的人員都心有慼慼焉。

從0到1的“創業型”業務

無論項目的緊急程度,還是工作量,都遠遠超過成熟期業務。此時不僅需要強大的抗壓能力,更需要豐富的經驗支持快速業務更迭、功能/性能/安全性/易用性等等。

相對於成熟型業務 90% 都在做迴歸型測試,新型業務不僅要去拿出足夠的時候去支持迴歸型測試、更要去保障業務線測試(簡言之,新型業務量~=2倍以上的成熟型業務,附帶還要幹開發聯調,第三方溝通,規範制定,方案制定與實踐等等方面)。

此時的測試人員,70%~80% 的時間會都在項目測試本身上,加上項目測試本身外的第三方溝通、項目“後期”保證、共識&流程方面的建設,測試人員幾乎沒有太多時間學習,Code 工具了(P.S. 個人認爲,此時測試人員本身的技術水平,相對來說,由於時間限制會比較少,只能靠擠時間了)。

“半瓶水”型業務

此類業務項目的緊急程度,還是工作量介於創業型業務,成熟期業務之間,而且項目規範,實踐經驗,測試方案...都有了一定程度的積累。此時業務需要的測試人員,除了測試經驗豐富外,還要有推進整體項目趨於成熟的能力,包括:項目共識的流程規範、更加成熟高效的測試方案、更全面的質量運營工作。

此時的測試人員,50%時間會都在項目測試本身上,50%時間會在工具、自動化開發,個人成長上面。這可能是最理想的一種狀態了(個人認爲,此時也是測試人員個人成長,業務/技術產出最大的一個階段了)。

成熟期業務

此類業務往往屬於公司/平臺長期發展的一塊重頭戲,盈利性業務,故而業務本身相對來說上線質量遠遠大於迭代速度了。業務大多數屬於“修修補補”“零零碎碎”的業務,迭代速度相對較慢(這裏指迭代的工作量),項目流程規範、測試方案相對來說比較固定。

此時的測試人員,幾乎會有70%左右的時間用於自身建設、工具研發等等,項目測試壓力本身相對較小。

二、不同端業務對測試的需求不同

目前幾乎所有公司招聘測試人員,都會備註有 xxx 業務測試經驗的人員優先。不同類型業務的確會對測試有不同的需求:

端上的測試

包括APP,客戶端。測試類型包括:功能測試、兼容性測試、性能測試、用戶體驗測試、軟件權限、安裝與卸載、數據安全性、離線瀏覽、APP更新、PUSH測試、交叉事件測試等等。ps:此時的端僅指前端APP,不包括後端實現。

m站的測試

測試類型包括:功能測試、兼容性測試、性能測試、用戶體驗測試、數據安全性、離線瀏覽等等。ps:此時的端僅指前端頁面,不包括後端實現。

Web 測試

測試類型包括:功能測試、兼容性測試、性能測試、用戶體驗測試、數據安全性等等。ps:此時的端僅指前端頁面,不包括後端實現。

純後端測試

測試類型包括:功能測試、性能測試、一致性測試、安全測試、數據測試等等。

三、不同業務類型對測試的需求不同

由於具體的業務類型太多,這裏僅僅舉出常見的業務:

電商類業務

這種業務涉及訂單、交易、物流追蹤等等,某一個環節出問題,可能直接流失收益或客戶,所以這類業務的測試除了通用的測試經驗外,還需要些交易方面經驗的積累,能夠減少故障的發生,同時能把控交易業務方面的需求。

廣告類業務

這種業務往往涉及打點上報、廣告排序、廣告展示等等方面,通常廣告收入是最重要的業務指標。把控提高廣告收入的需求評估,是此類業務的重點。

數據類業務

這種業務往往伴隨着大數據統計、報表計算、數據呈現等方面,屬於數據端的下游。快速高效的通過數據統計滿足各個方用戶的需求,同時又能從分析數據中給各個用戶以更有價值的指導,是此類業務的核心了。

金融類業務

這類業務往往直接和錢打交道,而且業務本身需求金融知識作爲支撐,屬於背景知識要求較高的一類業務了。當然了,既然和錢直接打交道,這類業務的測試會更加偏重數據計算。

社交類業務

這種業務往往存在若干個角色,並且伴隨着若干個角色直接的互動交互。測試重點更加偏重場景的交互,以及每種角色在業務中需求的滿足。因而,此類業務測試需要更加註重易用性、用戶測試。

遊戲類業務

這種業務除了遊戲門戶網站外,還有具體遊戲本身的測試。此類業務更加偏重對目標人羣的研究,滿足目標人羣的心理需求,設法使其精神上得到最大的滿足。

軟硬結合的業務測試

此類業務包括物聯網方向、人工智能方向等等,軟件測試不必多說,硬件的測試本身就需要專業的技術背景。個人認爲,軟硬件結合的業務,大致需要兩撥人來進行全面質量把控:

  1. 軟件方面測試人員

  2. 硬件方面測試人員

經過一段時間的磨合,這兩方面的測試人員會漸漸融合起來。

四、測試的本質

 

不同階段的業務、不同端的業務、不同類型的業務都需要不同程度、不同方法的測試。但測試的目的是什麼呢:

  • 檢查產品是否滿足需求定義(包括功能、性能、易用性...)

  • 檢查產品是否符合上線要求(除了需求定義外,可能還包括安全性/故障預防/數據統計...)

  • 檢查產品是否可解決目標用戶羣的一類問題(除了上線要求外,還要能實實在在解決用戶的問題)

  • 檢查產品是否可持續性滿足用戶羣的需求(除了解決問題外,還要使其心情愉悅/滿足/“流連忘返”...)

在實際的項目測試中,或許上面的四個方面都會有所涉及,測試最本質的東西:測試產品與用戶需求直接的差距,此差距在團隊所有成員(產品/開發/UI/測試/市場人員/運營人員...)的共同努力下,逐漸縮短這個差距。                    

總結

不同階段的業務、不同端的業務、不同類型的業務,除了通用的測試技能外,對測試都有其專項能力要求。這就是通常在說項目測試的時候,所涉及的主要內容了。測試工程師必須具備綜合的軟硬實力。通常所說的項目測試,屬於硬能力的一種,屬於測試認知的第一階段。

測試認知的第二階段,屬於測試的軟能力,是凌駕於硬能力之上的能力。不同階段的業務、不同端的業務、不同類型的業務,除了通常意義的測試之外,更重要的在於測試產品與用戶需求之間的差距,這就是測試最本質的東西了。

 

搜索微信公衆號:TestingStudio 霍格沃茲的乾貨都很硬核

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章