軟件測試與軟件開發,誰更勝一籌?

摘要

加入軟件測試實驗室已經一年多了,我一直比較迷茫,因爲想要找到一個自己真正有意向的方向。本人信息安全專業,比較傾向於軟件開發和軟件測試這兩個方向。其實這兩個方向並不矛盾,因爲研發與測試本就是密不可分的。但是研發和測試仍然有着很大的差別,再深入一點來講,研發與測試的思維方式都是迥乎不同的。因此我一直不能決定往哪個方向深入。在這期間也做過一些小型的開發項目工作以及在實驗室的測試工作。網上的資料有限,無法全面地評估這兩個方向的優劣。無奈只能向實驗室已經工作的學長請教。本文總結一下與學長溝通交流中學到的一些東西,僅僅是結合自己的所見所聞,並非以偏概全。本人能力有限,如有不妥之處,還望海涵,希望能對和我一樣的人提供一定的參考。

背景

之前在網絡上搜集了不少的資料,都是一些比較老的帖子。但是可以看出,軟件開發畢竟先於軟件測試行業要早太多,結合一些帖子來看,我國軟件測試行業剛起步的時候,軟件測試的待遇並不是很好。但是可能有另外的原因,一個是當時軟件測試行業不成熟,另一個是當時一些軟件測試人員的水平可能並不高。很多還停留在手工測試以及只使用簡單測試工具的階段。也難怪傳統的開發人員會對測試人員產生偏見。近年來測試行業有了很大的發展,但是軟件測試的人才仍然稀缺。據我從已經工作的朋友瞭解到,一些中小型的企業甚至沒有專業的測試團隊。很多測試工作都是由研發人員來承擔的。但是開發人員進行測試思維容易受限,弊端是顯而易見的。其實軟件測試在軟件研發的過程中是很重要的,測試專家朱少民老師在《軟件測試方法和技術》一書中明確指出了軟件測試的重要性。

研發與測試對比

1、測試與研發的能力要求
在以前很多人認爲,做測試沒什麼難度,甚至有人認爲不用寫代碼,談不上技術難度。然而一個真正好的測試工程師,必須瞭解開發的原理,掌握測試工具的使用,除此之外還要會寫測試腳本和一些測試工具。進行自動化測試。這樣的工作也正是我們說的測開(測試開發工程師),甚至在一些大廠裏面,要求能力上能勝任開發的,纔有做測試開發工程師的資格。如果一個測試人員,只會單純的手工測試,或者只會單純的使用測試工具而不懂代碼,那麼在目前的測試行業是很難走下去的。所以從能力方面來講,雖然測試人員不用參與算法研發等,但是能力要求並不低於甚至要高於研發的能力。而且,測試人員的研發工作更多的是對於腳本的開發和測試工具的開發,而不是業務研發。

2、測試與研發的工作強度和待遇
問過實驗室的學長,學長的回答是,測試與研發平均到時薪上兩者幾乎是差不多的(前提是測試人員技術到位,不是像前文中所說的只會手工測試和單純的使用測試工具的測試人員)。但是測試人員的加班時間可能比起開發來說確實要少一些。按月來算的話,平均測試人員與研發人員薪資相差可能2K左右。如果是測開人員的話,與研發人員的差別可能不是很大。

3、測試與研發的工作性質
測試與研發的工作性質上有着本質的區別,研發注重實現,測試注重驗證。借用學長的話,測試思維是帶有破壞性的,目的就是找出軟件或系統中的錯誤或者說缺陷,保障軟件的質量。但是測試不能絕對地說找出軟件中所有的BUG。測試只能發現缺陷,並不能杜絕缺陷。通俗的說,研發關心主流程和功能的實現,而測試則是“找茬”與“挑刺”。怪不得在測試人員能力要求中,溝通技巧佔了第一位。

寫在最後的話

最後想說一句,還是那些老話,三百六十行,行行出狀元。一分耕耘,一分收穫。不管是做研發還是測試,只要做到精益求精,有探知和樂於學習的態度。只要肯投入,不論多多少少,就一定會有收穫,不管是收穫金錢也好,經驗也好。總比你什麼都不投入強得多。回到本文的標題,我覺得研發與測試沒有誰更勝一籌,主要還是看一個人,能不能把一件事做到極致。

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