隨著公司組織架構的調整,戰略調整,產品的實現技術不斷變化,現在的測試人員可以說是什麼都可以幹。
有些人做產品,有些人做平台,有些人做工具......
有些人有點象專職開發,有些人有點象專職運營......
facebook,google的一些敏捷測試理念中,測試人員應該致力於提出測試解決方案,研究各種測試工具為主,具體的測試執行工作,由coding的開發同學去做。
變化後面也有很多不變的,測試手段無外呼白盒測試,黑盒測試,靜態測試,動態測試,單元測試,整合測試,系統測試,安全測試,效能測試等等。那些奮鬥在一線的測試工程師的工作內容實則沒有什麼大的變化,訪談的結果是大家覺得自己也沒有成就感,工作很累。
這一切都讓我迷惑了,很多人象我一樣也迷惑了,測試人員的核心價值到底是什麼?
● 核心價值一:測試設計能力
最基本的也是最重要的價值就是測試設計。無論是採用白盒,黑盒,手工還是自動化等不同的方式,精華都在測試設計中。測試設計能力入門容易,做深難,需要耐得住寂寞,不斷的學習積累,同時需要的知識面非常廣。
下面幾點可以提公升測試設計能力:
1、對產品的熟知程度
2、對使用者的了解程度
3、技術實現/依賴產品/中介軟體/db設計/快取機制/安全機制等技術的深入了解程度
4、產品執行環境(包括服務端,客戶端,瀏覽器,系統併發量,吞吐量等)
5、bug回溯(定位/分析)
非常值得一提的是bug回溯,是一項非常有意義的活動。很多公司特別重視線上bug的預防,分析,卻忽略了線下bug的回溯。而實際上,大家都有這樣的印象,發現bug的不一定是你設計的tc,而是在執行tc時發散的其他測試場景。通過bug原因分析,可以更精準的幫助你識別易出問題的點。而且現在的技術,環境都是多樣性的,總會出現一些你意想不到的bug,它的存在一定是有原因的。這些東西需要通過bug回溯不斷的積累。
bug回溯 與測試設計形成良性迴圈
● 核心價值二:制定測試策略
大家都知道測試是不能窮舉的。在有限的人力、時間、資源情況下,如何更快,更全面的覆蓋被測物件,是需要策略的。
我記得以前天彤說過,專家級的測試工程師可以對被測物件進行「精準爆破」,非常認同。對於象**這麼龐大複雜的系統來說,如果不能做到精確設計,精確測試,為了保障大使用者量大資料量的併發下,想最大程度的規避可能出現的風險,讓測試同學以眉毛鬍子一起抓的方式進行測試就是在勞民傷財。
不同產品,不同的團隊,產品成熟度,人員的成熟度,所採用技術的成熟度等等,都可能導致測試策略的不同。制定測試策略的過程,就是對當前的專案、團隊進行量體裁衣。
影響測試策略的因素:
△ 專案型別。如:新產品,完善功能,重構型的,底層公升級,資料庫公升級,不同的專案型別,測試重點也不同,採用的測試工具和測試型別也不盡相同
△ 產品成熟度。主要考慮產品的業務是否穩定,成熟。是屬於創新型,試水產品,是否是成熟行業,需求明確穩定等等?
△ 使用研發技術和研發平台。採用新的研發工具,新的研發技術,還是公司成熟的技術,工具,使用什麼樣的資料庫設計,包括產品的設計思想,產品架構等
△ 團隊能力及默契度。穩定型團隊?新團隊?半新半舊,人員技術能力如何?人員特點如何?(特別需要說明的是,通過bug回溯可以發現團隊開發或測試人員的技術能力,**質量,業務掌握情況,邏輯清晰等這些個人特質,針對不同的人可以在測試時做不同的重點驗證)
△ 研發模式。採用什麼研發模式,傳統的瀑布,還是敏捷,迭代等。這種研發模式以往常出現的問題是什麼?該模式在該團隊的執行是否成熟,穩定?
△ 產品線上執行環境。包括服務端和客戶端的執行環境,負載機制,快取機制,伺服器分布等
△ 產品線上併發量,吞吐量等指標。關注目前指標及增長趨勢
△ 產品使用使用者。使用產品的使用者人群眾分布?目前的使用滿意度如何?使用者的計算機使用水平如何?使用者反饋的最大問題是什麼?使用者的使用習慣是什麼?競爭產品在使用者中的優勢是什麼?
△ 測試過程保障。上線前測試依賴的環境、資料、技術、平台、工具保障,有現成的,還是需要開發?
測試策略的方面
△ 測試型別
△ 各種測試型別的測試程度、測試通過/停止標準
△ 使用測試技術
△ 依賴平台、工具
在工作中,大家對一些事情存在一些誤區:
1、編碼能力。我們不盲目崇拜編碼能力,而是隨著測試手段不同,測試深入程度不同,需要我們有能力去識別**中存在的風險,對產品的技術實現有更深入全面的掌握,才能更有針對性的進行測試,所以,我們必須具備編碼能力。
2、創新。我們不能為了創新而創新,而是在工作過程中,技術結合業務,為解決實際的問題自然而然的生長出來的新東西。這個創新一定是解決我們工作中的問題或使用者的問題的。
3、工具。工欲善其事,必先利其器,隨著我們被測試物件的複雜化,多樣化,使用技術的差異化,一些常規手段無法測試的內容,一些重複的勞動密集性的事務,需要讓工具代替手工去做,自然而然的就會產生工具。所以,我們不是迷信工具,也不是崇拜工具,工具是為我們服務,帶來價值的。如果這個工具不能給我們帶來價值,就算做乙個工具,沒有人使用,又有什麼意義呢?
在實現測試設計與測試策略制定過程中,我們為解決實際問題自然會生出一些工具,平台,我們要鼓勵大家用創新的思維去思考和解決問題,這樣的產出是非常有價值的。
軟體測試的核心價值是什麼?
***********************************=分割線******************************==
軟體測試的核心價值是什麼
既然是 核心價值 就應該能用一句話說清楚。關於軟體測試的核心價值是什麼,各種觀點爭論了很久,似乎很難得出乙個明確的結論。這裡有個很重要的原因,就是我們都深陷在測試工作的細節裡面,沒辦法看清自己的位置和價值。不識廬山真面目,只緣身在此山中。要想搞清楚這個問題,我們必須走出圍城來進行分析,如果把軟體測試...
我理解的軟體測試
最近的思考,記錄下來 所有測試用例是一張最全的大網,它包括了保證軟體質量所必須進行檢查的所有內容。這些內容必須借最有效的方法實現 一部分由單元測試 一部分用介面測試 一部分納入ui自動化測試 自動化用例要分fast級別和all級別 一部分用 評審 一部分用效能測試來保證,前面這些都無法實現的用手工測...
觀點 軟體測試的核心價值是什麼?
既然是 核心價值 就應該能用一句話說清楚。關於軟體測試的核心價值是什麼,各種觀點爭論了很久,似乎很難得出乙個明確的結論。這裡有個很重要的原因,就是我們都深陷在測試工作的細節裡面,沒辦法看清自己的位置和價值。不識廬山真面目,只緣身在此山中。要想搞清楚這個問題,我們必須走出圍城來進行分析,如果把軟體測試...