
經常有想轉IT行業的同學,在了解軟體測驗和軟體開發之后不知道轉那個崗位好,今天就系統的,從多個維度來比較軟體測驗與軟體開發,具體包括從基本素質要求、性格要求、入職門檻、知識結構、競爭壓力、職業發展、職業前景等,希望能給在選擇軟體測驗與開發朋友一個相對全面的解答,
一、【基本素質要求】
這里的基本素質包括比如邏輯思維能力、分析問題能力、溝通能力、協作能力、懷疑精神等方面,
【軟體測驗】: 作為一名優秀的測驗工程師,需要比較強的綜合素質,具體包括比如“五心”,責任心、細心、耐心、專心、信心等,具體這里不闡述了,可以看我以前的相關文章;五大“學問”,
邏輯學,很多公司在招聘的程序中會刻意來考察下測驗工程師的邏輯思維能力,
刑偵學,測驗工程師需要通過分析問題的表象,借助專業的工具,良好的知識背景來分析問題背后深層次的根本原因,
心理學,測驗工程師,需要不僅僅站在用戶的角度來測驗,也需要清楚開發人員的心理,分析他們的出錯模式,
統計學,測驗報告就是統計學知識很好的展現,
經濟學,好的測驗一定是為了幫助提高軟體質量,從而提高用戶滿意度,帶來更多的市場,從而實作盈利,
溝通能力體現在測驗工程師需要跟開發人員和用戶溝通,協作和懷疑精神對于測驗工程師而言也是非常重要的素質,
【軟體開發】: 需要說明一點的是,這里指的軟體開發更多傾向于軟體編碼,不包含軟體設計以及軟體需求分析人員,這個是軟體編碼未來的職業方向,作為一名優秀的開發工程師,在素質方面,更偏向于某一個方面,對邏輯思維能力的要求相對測驗工程師較低一點,因為在成熟的開發模式下,普通的編碼人員更多地師掌握一門開發語言的語法和一個開發平臺,所以在印度高中生都能編程,但是在中國行不通,從這個方面來看,對“五心”的要求和對“五大學問”的要求沒有那么全面,如果說測驗更強調綜合素質,那么開發更看重某些方面的素質,
二、【性格要求】
有人說性格決定命運,從某種意義上來說也是對的,性格會在一定程度上決定一個人的興趣,一個人會喜歡那種型別的作業,
【軟體測驗】: 從全面性的角度來看,作為一名優秀的測驗工程師,性格上最好是相對外向點,雖然這個不代表你需要像銷售人員那樣外向,善于與人交流,但起碼你要愿意主動與開發人員,與用戶溝通,另外,對于性格而言,要求測驗工程師更加敏感,更具備懷疑精神,挑剔的,追求完美的性格以及刨根問底的心態也是比較重要的,從溝通的角度來看,太過于內向的人不太合適軟體測驗這個行業,起碼不適合一線的測驗工程師,
【軟體開發】: 開發工程師對于性格來說,要求沒有那么明顯,性格的內向、外向跟成為一名優秀的開發工程師關系不大,因為開發工程師更多的是面對開發環境,不斷在修改代碼?這里面也有不少作業是重復繁瑣的,所以性格上要求是能承受寂寞的,所以寫代碼寫的比較久的人,有時會覺的很急躁,改變這種急躁的辦法有兩個,一個是爭取去做有思想的設計,有溝通的需求分析,另一個是轉型,比如做開發管理、產品經理、專案管理,亦或者是測驗開發,
三、【入職門檻】
這個部分是為想進入軟體測驗和軟體開發領域的人而專門寫的,網路上很多人都在說,軟體測驗入職門檻低,軟體開發入職門檻高,其實這個觀點有失偏頗,下面具體來比較,
【軟體測驗】: 客觀上來講,進入軟體測驗領域的方式更多,但不是入職門檻更低,比如有些人可以通過行業知識背景進入軟體測驗領域,具體比如金蝶、用友都有不少測驗工程師是學財務的,而不一定是學計算機的,甚至有些人可以通過性格和基本素質進入軟體測驗領域,比如微軟以前招過家庭主婦做軟體測驗,不是微軟不重視測驗,實際上微軟比任何軟體企業更重視軟體測驗,在微軟所有產品里面,測驗工程師比例比開發是要高的,還有些是從軟體開發工程師轉型做軟體測驗,所以進入軟體測驗領域的方式很多,正是因為方式多,就給人造成一種跡象是入職門檻低,還有從現狀的角度來看,因為需求的因素,企業不經意間降低了對軟體測驗工程師的要求,但是這個是飲鴆止渴,很多企業慢慢發現了這個問題,所以說,以后測驗工程師的要求會越來越高,
【軟體開發】: 客觀上來講,進入軟體開發領域方式相對較少,但也不是入職門檻更高,因為,在印度高中生都能編程,實際上掌握一門開發語言的語法,掌握一個開發平臺,就可以做編碼了,尤其在成熟的開發企業如此,但從學歷的角度來看,高中生要想做軟體測驗還是非常困難的,只是因為,開發工程師必須要學一門編程語言,所以表面上看起來要求更高,還有一個因素是受傳統因素的影響,做軟體開發的人相比軟體測驗的人多很多,所以從競爭壓力上來看,要求就更高了,是比較出來的高,
四、【轉行難度】
轉行,其實最重要的原因不外乎就是以下幾點:對現在的薪酬不滿意、現在的職業出現了瓶頸、新的行業有更大的發展空間,喜歡新的作業方式等,這里就不討論轉行的動機,這里考慮更多的是轉行的障礙,主要的障礙有,如何結合自身實際情況選擇轉行的方向?如何克服作業經驗不足或不相關?如何克服專業知識匱乏?什么樣的年齡適合?這部分是為轉行做軟體開發還是軟體測驗的人專門寫的,網路上也有人不少人都在說,我之所以轉行來做軟體測驗,是因為入職門檻低,前景好,是因為學得會,而軟體開發我學不會,真的是這樣嗎?不一定,適合的才是最好的,
【軟體測驗】: 自身的實際情況,包括前面講的基本素質、性格特點等,以及入職門檻因素,如果綜合素質很全面、性格外向、溝通能力強,有不錯的行業知識背景,比如有金融背景、財務背景、物流行業背景、證券背景、電子商務背景、移動通信背景等等,同時年齡在35歲以下,轉行測驗會比較合適,經過專業知識學習,結合行業分析加上有經驗的人得指導,轉行的難度還是比較小的,可行性還是比較高的,因為可以利用好自身的過去的一些東西,
【軟體開發】: 轉行開發的角度來看,很難只靠基本素質和性格特點就輕易地轉行,這個難度比較大,從過去的知識背景的角度來看,轉行開發比較難以利用上,所以過去的經歷對于轉行開發幾乎沒有幫助,從這點來看,要轉行開發,就必須接受從零開始,所以,年齡超過25歲,有過兩年以及以上作業經驗的人,不太合適轉行開發,因為要浪費兩年的作業經歷,
五、【知識結構】
知識結構決定職業發展,知識結構決定行業發展,包括未來職業規劃的考慮,下面從一個優秀的測驗工程師應該具備的知識結構來對比軟體測驗與軟體開發,
【軟體測驗】: 一個優秀的測驗工程師需要的知識結構,從全面性角度來看,包括如下幾個方面,第一是計算機知識,包括編程語言,掌握至少一門開發語言,比如c、java、C#等,一門腳本語言,比如Tcl、python、Perl、Ruby、Shell中對于測驗工程師未來更廣的職業發展非常有幫助,資料庫知識,雖然并不是所有的測驗工程師都需要掌握一門資料庫,比如做移動互聯網的,對資料庫要求相對較低,但對于大部分大型專案,都會有資料庫,所以掌握至少一門資料庫,比如Oracle、DB2、Mysql等,另外作業系統,比如Linux、Unix核心命令也非常重要,對于有些涉及到網路的,網路和通信知識,比如Tcp/IP協議也非常重要,另外資料結構、軟體工程等其他計算機知識也最好也具備,第二部分是軟體測驗核心技術,掌握軟體測驗核心的方法論,具體包括軟體測驗需求分析與軟體測驗用例設計核心工程方法,掌握主流的軟體測驗工具,比如性能測驗工具LoadRunner,自動化工具典型代表QTP,測驗管理工具QC、開源測驗管理工具Testlink、Bugzilla、Bugfree、Jira等,掌握核心的研發流程,比如RUP,測驗流程,比如雙V模型,或者是現在流行的敏捷測驗等,也是同樣重要,方法是秘笈、工具是兵器、流程是套路,雖然測驗好比武術,棍術好比黑盒測驗,劍術好比白盒測驗,不同的武術對知識結構要求是不一樣,這個也是前面講到的進入軟體測驗領域的方式相比開發要多的原因之一,第三個部分是行業知識與背景,這個對于有些行業而言,非計算機專業的人會有些相對的優勢,
【軟體開發】: 一個優秀的軟體開發工程師需要的知識結構,從全面性角度來看,包括如下幾個方面,第一也是最重要的是精通至少一門編程語言語法,比如Java、C、C++、C#等,至少熟悉一個開發平臺或工具,跟具體開發語言對應的平臺,比如Eclipse、Netbeans、VC等,熟悉一門資料庫,比如Oracle、DB2、Mysql等,熟悉作業系統,比如Linux、Unix包括相關的編譯環境,比如gcc等,熟悉軟體工程、熟悉演算法、資料結構,這個方面可以多看看,設計模式方面的書籍,第二部分是英語,英語對于做好軟體開發也有非常大的幫助,因為開發平臺和環境都是英文為主,英語也有助于幫助理解一個編程語言的語法,
六、【競爭壓力】
競爭壓力的分析有助于幫助我們選擇,選擇大于努力指的是,同樣花5年的時間,所能達到的不同的程度,競爭壓力的大小取決于行業發展現狀,行業越成熟,競爭壓力越大,
【軟體測驗】: 軟體測驗的發展史相對于軟體開發來看,相對來說是不太成熟的,尤其是在中國,從很多獵頭招聘網站來看,想招一個10年左右測驗經驗的人,很難,原因是真正意義上軟體測驗的興起基本上在2000年左右才開始,發展到今天,軟體測驗從業人員和軟體開發從業人員的比例相比國外成熟的1:1的比例還是相差甚遠,所以相對來說,競爭的壓力相對較小,嚴格意義上來說,軟體測驗在中國的情況,還是亂世,所以亂世出英雄,另外,很多企業已經意識到軟體測驗對于軟體質量的重要性,很多的軟體事故迫使企業真正思考測驗的核心價值,所以客觀上也導致了,軟體測驗需求在增加,雖然對測驗工程師的要求越來越高,
【軟體開發】: 軟體開發的發展史相比軟體測驗來看,相對來說還是比較成熟的,雖然相比印度等軟體大國來看,遠不如別人成熟,軟體開發在2000年左右的時候很火,曾經有一句口號是“學好C++,走遍深圳都不怕”,當時的深圳嚴重缺少C++人才,但現在市面上其實不缺少初級的開發工程師了,因為初級的已經相對飽和了,另外做開發,如果3年時間內都只是做編碼的作業,也會遇到職業瓶頸,另外從學習的角度來看,開發平臺和語言的更新相比測驗平臺還是要快一點,所以客觀意義上也導致軟體開發的壓力大些,另外在同一個企業里面,正常來講,開發加班會比測驗加班要多,
七、【職業發展】
關于職業發展,其實測驗與開發的職業發展在有些方面是一致的,比如將來都可以往管理方向發展,也都可以考慮往需求分析方面發展,甚至也都可以往咨詢和培訓服務方面發展,這些是他們的共同點,
【軟體測驗】: 前面講到過,軟體測驗從綜合素質,知識結構等角度來看,要求比軟體開發要更全面,這也直接導致了,軟體測驗的職業發展路線要廣于軟體開發,在測驗技術領域,可以從測驗執行工程師、測驗設計工程師、測驗系統工程師、測驗架構工程師、測驗專家這個道路晉升,也可以走比如自動化測驗、測驗開發、性能測驗、易用性測驗、安全性測驗等專項,另外從管理的領域來看,可以從普通測驗工程師,測驗專案經理、測驗主管、測驗經理、測驗總監、大部門測驗總監等晉升,另外從外圍IT職業,測驗還可以走行業測驗專家,比如金融領域測驗專家,專案管理、軟體測驗咨詢與培訓等、軟體質量保證(SQA)、軟體銷售、技術支持等只要是IT領域的職位都行,
【軟體開發】: 軟體開發的職業發展其實也比較廣泛,在開發技術領域,可以從軟體編碼、軟體設計與架構、軟體需求等領域晉升,也可以從普通開發工程師、開發專案經理、開發經理、開發總監或者研發總監等晉升,另外也可以轉型來做測驗,通過學習測驗關鍵技術,來做測驗領域的測驗開發,但從外圍IT職業,開發相比測驗能走的相對還是要窄些,很難走行業專家,除非先走需求分析,最后走行業專家,
八、【職業前景】
嚴格意義上來講,軟體開發和軟體測驗都有非常不錯的職業前景,因為IT服務人類,IT改變人們的生活方式,IT對于現代社會而言非常重要,但從歷史的角度來看,軟體測驗與軟體開發的職業前景還是有一些區別的,
【軟體測驗】: 無論從行業現狀,軟體測驗的重要性,以及軟體測驗發展史來看,至少在可以預見的未來10年時間內,整個軟體測驗行業應該會處于蓬勃發展這樣一個生命周期中,因為一項職業從孕育、發展、成熟、穩定需要一定的時間來承載,這點,大家也可以從一些官方的資料來看到,
【軟體開發】: 從相對于生命周期來看,軟體開發早已經不是以前很多企業只是關注把軟體做出來,就像現在要做出一個類似于淘寶的電子商城,其實從功能上,從代碼實作上來看,已經很成熟了,花幾千塊可以買現成的模板,定制下,就可以,所以開發模式在改變,工廠化,模塊化思想已經很成熟,所以將來的軟體開發一定會關注,個性化、差異化,從這個意義上來看,軟體開發的職業前景會受到需求的影響,另外,從行業資訊來看,比較新的開發技識訓得到關注,老的慢慢會淡化,
總體而言,如果非得要在軟體開發和軟體測驗做一個結論性的比較,還是比較困難的,所以給每一位看到此文章的人一個建議,如果你很難選擇把哪個作為自己的職業來思考,就強烈建議你可以問下這兩個領域資深的人,他們的建議對于你來說應該比較關鍵,
另外,清楚地問下如下幾個問題:
1、你的優點是什么?缺點是什么?
2、你想做什么樣的作業?你能做什么樣的作業?
3、有哪些事情是一定要靠自己的,有哪些事情是一定要借助外力,
所以,有時我們不僅僅是要埋頭干活,也需要抬頭看路,另外,人生沒有捷徑可走,但要懂得借勢而上,如果你對你的職業不滿意,轉行是一種選擇,樹挪死,人挪活,只是在挪的時候,分析下自己,因為你可以改變你自己,分析下外部的環境,因為你需要去適應環境,
身為一名IT技術人員磨練自己的技術是必不可少的,歡迎加入測驗交流群(313782132),可以與大牛在線隨時討論自己感興趣的話題,讓自己用最少的時間學到最多的東西,
在此基礎上,可以進行一些可靠性,容錯性,兼容性等用例的設計,測驗下軟體的穩定性,
點擊我,加入我們吧!群內有許多來自一線的技術大牛,也有在小廠或外包公司奮斗的碼農,我們致力打造一個平等,高質量的軟體測驗交流圈子,不一定能短期就讓每個人的技術突飛猛進,但從長遠來說,眼光,格局,長遠發展的方向才是最重要的,
35歲中年危機大多是因為被短期的利益牽著走,過早壓榨掉了價值,如果能一開始就樹立一個正確的長遠的職業規劃,35歲后的你只會比周圍的人更值錢
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/202864.html
標籤:AI
