關於開發與測試

2022-09-06 11:45:20 字數 2337 閱讀 5673

最近總是有一些網友問我乙個問題「現在有機會轉開發,應不應該轉?」。我想我也需要單獨發表一篇文章來表達一下自己的看法了。我會從乙個新入行的測試人員一直往上發展大概會是乙個怎樣的情況入手,來表達我的觀點「開發技術是測試人員發展的基礎,也是測試人員發展的歸宿」。當然了,我現在表達的是測試人員一直往上發展,如果你已經對自己的發展感到很滿意了,則不在這裡的討論範疇。(相信會有不少這樣的人來提出自己的疑義)

從你剛入行開始,你面前基本上是有兩條路可以發展。一是技術,二是管理。先說管理,很多人做了很短的時間就走向了管理,team lead,甚至manager。他們的工作已經很少用到技術了,更多的是學習和運用管理的知識。這樣的人不在少數,我當時做測試3個月一轉正就是team lead了,老闆也非常希望我專注在管理方面。可是下一步怎麼辦?一般出現這種情況的都是在中小公司,而不是大而正規的外企.下一步你的發展會由於技術不夠紮實而出現了瓶頸.第一,你不可能回頭去搞技術了,因為你管理的地位,工資都高於技術人員,而且還有年齡的問題,這些因素造成了你只能繼續管理。第二,如果你想跳槽到大的外企搞管理,可能性幾乎為零,因為你沒有大外企的經驗又沒有出眾的技術。第三,如果你想在本公司或類似公司往上爬,比如做director,很可惜,這些公司往往不配備test director的職位,並且其他director的職位也很難由乙個做測試的人來承擔。(可能會有特例,但是應該很少)。因此,剛入行不久,沒有紮實的技術沉澱,就走向了管理,很快就會發展到頭了。

再說技術,我們知道測試的最高title就是sdet和set了。實際上都是乙個東西,微軟叫sdet,google叫set。說白了,這種職位本質上就是開發,只不過不是產品的開發,而是測試的開發。需要很強的開發背景。因此,乙個普通測試人員想要得到這種工作機會,開發的經驗是必不可少的。另外,微軟,google這種最top的公司,基本上已經沒有ste, sqae這種職位了。而我們大多數人做的測試工作恰好正是這種職位。頂尖大公司的這種職位都外包了。因此,你想通過普通的ste, sqae這種職位進入頂尖公司,可能性基本為零。因此,如果從技術上來講發展,無論從title上還是公司上往往上走,開發的功夫都是必須的。

因為我說的是一直往上發展,因此到了sdet後怎麼發展?基本上三條路,第一管理,第二開發,第三繼續測試。先說管理,你從技術上一路走過來再走向管理跟前面講到的那種管理是天壤之別了。首先,你已經是在頂尖公司了,其次,你已經具備了高深的技術水準了。放眼望去,整個測試行業還能有幾個適合你的位子呢?還能有多少人能跟你相提並論呢?這條路可以lead->manager->director->vp->senior vp往上發展。那麼發展到了最後還怎麼發展呢?這個時候,我估計應該年紀很大了吧?錢很多了吧?享受生活吧。

再說轉開發,因為sdet具備了比較強的開發水平(比一般公司的開發人員的水平要高),因此可以比較容易的轉向開發。轉向開發之後就屬於開發的發展之路了,就不多說了。

最後說繼續測試,一直以來都有個疑惑,為什麼我從來沒見過senior sdet?本來sdet可以向senior, principle這條路走下去。我以前也想過自己發展成test architect。可是,為什麼沒見過?依我現在的感覺來說,測試的技術很快就學到頭了,開發的技術由於一直是在做測試程式,而不是真正的產品,因此提高的程度也受到了很大的限制。因此,在技術上來講,一直工作下去就會維持在一種不是很高技術水平的狀態。這種狀態達不到senior的要求。這也是為什麼周圍很多sdet不知道工作了多少年,還是sdet。目前來看,想發展的話,維持在sdet不算現實。必須走向管理,或者轉向開發了。這也是為什麼director在回答我的問題「我在測試方面應該怎麼發展?」。回答竟然是「短期來看要學好c,長期來看還是c,轉向開發」。根本就沒有提到測試。

以上是我自己的分析與理解。

大概幾個發展路徑

1.qa->management

2.qa->sdet->management

3.qa->sdet->dev

當然還有其他的可能,比如

4.dev->qa......

5.qa->dev......

6.qa->dev->sdet......

7.dev->sdet......

8.sdet......

我想大家可以分析一下自己以前的發展之路,看看以後應該如何發展?當然了,如果自己已經滿意了就算了。我的發展之路是這樣的

dev->qa->management->sdet->(lead/dev/senior if possible)

總而言之,在整個的發展路徑中,如果你缺少dev,都會限制你更好的往上發展。還有就是發展的高低,一要看title,二要看公司。很多小公司的manager可能根本都進不了大公司。很多大公司的普通員工一旦跳槽到小公司很容易就能公升職。比如乙個朋友在國內做了6年的外包經理,面試大公司總是失敗,因為技術不行。還有朋友在頂尖公司只是sdet,跳到盛大就是director.

這裡我想破除很多測試人員的乙個幻想,我強調的一點是「不懂開發的測試沒有太大的前途」。

關於測試與開發的工資

今天查了一下開發與測試的工資水平,一些資料應該能說明一些問題。我們以矽谷的mountain view為代表 google總部所在地 開發 junior software engineer 62k software engineer 98k senior software engineer 110k ...

《摘》關於測試驅動開發

測試驅動開發的基本過程如下 1 明確當前要完成的功能。可以記錄成乙個 todo 列表。2 快速完成針對此功能的測試用例編寫。3 測試 編譯不通過。4 編寫對應的功能 5 測試通過。6 對 進行重構,並保證測試通過。7 迴圈完成所有功能的開發。測試隔離。不同 的測試應該相互隔離。對一塊 的測試只考慮此...

關於開發與運營

開發是從無到有的過程,更多的是需要進行決策與選擇。而運營更是重複生產的過程,基本上所有需要決策的內容都已經有明確的標準與流程,執行者只需要嚴格按照流程與標準執行。軟體開發中在生命週期中的基本過程是屬於開發,如需求分析 概要設計 測試等等。而專案管理與支援過程是屬於運營,可以重複的 專案管理活動如編制...