16年測試老兵給測試開發者的一劑強心劑!附上軟體測試最全知識框架圖
大家好,我是茹炳晟,想和大家聊聊「測試必須邁過的那些坎兒」。
這是測試面臨的普遍情況。
相比研發和產品來說,軟體測試在國內暫時是不太受重視;
軟體測試的待遇也比不上研發和產品;
當然現在的軟體行業也很重視軟體質量,所以軟體測試的待遇和地位也在上升;
軟體測試的薪水在 IT 行業中屬於中上的樣子。
而,這些我都經歷過。
在 16 年前,我從開發轉型到了測試。可能很多人會覺得不可理解,但我就是看到了測試領域有許多需要做的東西,裡面的學問,尤其在當時的大環境下,是非常多的。因為當時沒有人去做這塊,而且當時是沒有有開發經驗背景的人會去專門做這一塊的東西。
我也是看中了這樣一個機會,後來事實證明,轉型並沒有錯。
隨著時間的發展,後來就越來越證明整個自動化測試到後期的一些基於 API 測試,或者現在很多一些新的測試技術越來越多,而且整個測試地位也越來越高,從早年的並不受重視,或者是一些比較弱的開發去做測試,到現在一個優秀測試工程師可能是比一個開發人員更懂開發代碼。因為如果他不懂代碼,或者不懂開發是怎麼來做得,你讓他怎麼去發現開發當中的一些問題?這個過程是相輔相成的。
其實我們很多測試已經分為了三大塊。
一塊是 所謂的傳統意義上的基於業務功能的測試,基於手動測試,或者現在非常流行的,基於探索式測試,也就是說基於一些錯誤猜測,以及基於一些你做了哪些測試,你假定哪些地方有可能會出錯,而且做進一步測試,這樣一個過程,所以說這是一部分做業務測試的同學。
那麼 第二塊是做自動化測試的同學,自動化測試的同學對業務了解程度並不是很深入,但是他所做的事情是把一些手動的腳本,很方便得把它翻譯成一些自動化的腳本,可以讓機器去執行,那麼他的主要技能是主流的一些 GUI 的 Framework,比如說現在主流的像 Mobile 端的可能就是 API,或者是不同框架的這種自動化開發技術,這是第二類。
第三塊是很大的一塊,就是現在意義上的叫測試開發。測試開發並不是傳統去做自動化用例的開發,他會去做一些測試平台、測試服務,或者一些測試基礎架構的開發。你可能會問,這些基礎架構包含什麼東西?我可能舉兩個例子,你可能就知道了。你現在要跑測試,你要跑一個 Web 端的,或者跑一個 API 手機上的一個 Mobile Native 的 app 測試,你肯定一定要有執行環境,你如果是手機端的,你一定要有手機,要有安卓的 Device,或者有 IOS 的 Device,去讓你跑這些測試,那麼這些手機你怎麼來?單個來拿嗎?你肯定會去建一些機群,甚至建一些私有雲,像國外的 Lab 服務,其實包括國內的一些其他伺服器,類似雲測的服務,就是把這些設備集中在一起。
那麼這部分工作是誰做的?就是現在的測試開發去做。
其實,要做、要學的事情真的很多,想都是問題,做才是答案。我根據自己的經驗和現國內外公司對測試的要求,做了一張《軟體測試知識框架圖》,迷茫的時候可以拿出來看看,自己究竟缺了什麼。
近段時間,我在極客時間上開設了我的專欄,叫《軟體測試 52 講》,可以幫助大家全面了解學習軟體測試的各類知識點,比如「如何設計出一個好的測試用例」,我做了一個腦圖,分享給大家。
對我專欄感興趣的,可以直接掃碼,可閱讀前三篇試讀文章。
※N行代碼成為 AI 大神,他是怎麼做到的?
※ESearch:58集團基於C+語言自主研發的搜索內核
TAG:InfoQ |