本文先對互聯網對時代和社會變革進行了論述,而後再由互聯網時代對軟件工業模式變革進行了介紹,最後引出附屬於軟件工業的測試行業在新形勢下的需求變化,並對趨勢進行了分析,並最終給出了相關的從業人員的職業發展建議。前端
本文開題較宏大,但最後仍然會聚集到具體的測試行業的話題上來,爲了不被你們誤解成「有始無終」,特作以下申明:python
高曉鬆在一期《曉說》的「大航海主題」節目裏面提到,他認爲目前爲止,他以爲 人類歷史上最偉大的兩項發現是:linux
兩樣東西都有一個共同特色,就是將這個世界抹平了,讓當時的人們可以以全新的視角和思惟認識這個世界。android
大航海時代伴隨着地理大發現,讓世界的各個地方的獨立孤島融入到一個世界觀中,造成了文化大碰撞,物種大交換,人類大移民。git
一些主要的衝擊體如今 [1]:github
歐洲人從美洲引進了土豆和玉米,最低產的土豆也是最高產的小麥的18倍,並且不依賴水。,高的能夠達到幾百倍。極大解決了歐洲人的農業生產力問題,並且這兩種做物被引入中國,促使中國在康熙年間人口終於突破了1億,達到空前繁榮。web
歐洲人給美洲帶去了歐洲的瘧疾,並從美洲帶出了天花。致使兩邊的人都出現了極大的死亡率。算法
西班牙人在南美洲玻利維亞發現全球最大銀礦,產出了40億倆白銀盛產白銀,而當時的超級大國中國明朝一年的財政收集才幾百萬兩白銀。致使當年西班牙一躍成爲世界最富有的國家,可以買下全世界 。購買力極強的十億白銀大量涌入中國,造成了巨大的通貨膨脹,間接致使了後面的禁海和閉關鎖國,以致於後面遠遠落後於世界化進程。sql
最先白人集中在歐洲地區。可是大航海時代的地理大發現致使如今 美洲,非洲,大洋洲和東南亞洲處處都是歐洲白人的地盤了。shell
這系列的事件,影響了後面的整個世界的地理,政治和經濟格局。
上面談到的那些事件和現在和互聯網時代存在太多的類似性。
每當我向別人宣揚互聯網的巨大力量時,總會有人提出質疑:互聯網這個東西並不像製造工業那樣產生一些實際的東西,可是如今如此的熱,確定會出問題的。
我認爲,互聯網不產生新的實物,它就是增長效率,優化資源配置,抹平信息鴻溝,製造更平等的認知世界的機會。互聯網爲什麼這麼熱,緣由在於咱們這個社會運行的狀態是很低效的,信息很不對稱的,因此互聯網每進入一個領域,都會帶來這個領域的鉅變,互聯網的動做模式會把傳統的動做管理模式的規則所有給顛覆,若是傳統模式不作出改變,只能被狂風掃落葉的掃出歷史進程了。
關於IT行業的前幾十年發展史,有興趣的能夠推薦吳軍博士寫的《浪潮之巔》,做者以浪漫主義的筆法書寫了IT行業的幾十年和恩恩怨怨和浮浮沉沉· [2]。
下面本文將主要列舉近十年(2005~2015)年來,IT行業的一些重大事件。
[1] | 曉說.大航海系列-黑人奴隸地位高要天價.20140110 |
[2] | 吳軍.《浪潮之巔》.2011 |
生長在這個時代的年輕人,要麼創造了這些歷史,要麼見證了這些歷史,要麼如今正在創造這些歷史。
前面陳述了各方面的東西,其實總結爲以下幾點:
可能不是全部的人都清楚,雖然同叫IT公司,可是IT公司仍是能夠分紅兩大類的:外包項目驅動型公司和自主產品驅動型公司。
在百度百科裏面對「外包」進行了以下的介紹:
企業在管理系統實施過程當中,把那些非核心的部門或業務外包給相應的專業公司,這樣能大量節省成本,有利於高效管理 [3]。
總體來講,絕大多數的外包具備以下特色:
這一類的傳統IT公司公司目前對外包裝都是「提供IT解決方案」的公司,好比:像東軟,軟通動力等等是比較典型的。這些公司的銷售常常會在各類招投標現場看到,或者在華爲公司裏面有些外公司的人,不少就是這些公司派去駐場開發的,裏面的員工每每會有一種「同工不一樣酬」的失落感。
這一類的公司,我的認爲會面臨逐漸被集中到少數的大集團裏面,或者分散在一些兼職的個體軟件工程師中。由於這項服務確實是一直被社會所須要的,社會的的更改化發展也確定是專人作專事,外包確定不會消亡掉。這個市場會一直存在,可是從業人員的營生類型屬於賺一些辛苦錢,拼個體力而已。
[3] | 百度百科.「外包」詞條 |
這一類公司,你們比較熟知的主流互聯網公司基本上都屬於這一類型的。這一類公司具備以下特色:
目前國內這一類的主要公司有:TABLE互聯網五巨頭。
在傳統的軟件工業,軟件產品以光盤爲載體以相似於實物的方式進行生產和出售,軟件的產出方式也是嚴格遵照軟件工程的流程。
這樣的的生產方式和傳統的製造企業是極其相似,並且若是這種模式發展下去,確定會愈來愈照搬傳統制造企業的模式,由於都是須要追求流程的標準化,這樣纔可以保證生產和規模化和有序化。
在傳統的項目驅動型的軟件企業裏面工做過的軟件開發人員必定印象深入:
爲什麼要這麼嚴格的評審流程,爲什麼要如此多的開會和文檔?其實上面提到的那些行爲都只是操做手段而不是目的,真正目的在於爲了防止如下狀況的發生:
從提出需求,到最後完整當初約定的功能軟件,週期較長,每每存在至關多的不肯定風險,對軟件項目的參與者進行協議上的約束,因此須要和甲方進行溝通和文字記錄,同時開發人員
由於週期長,開發人員衆多,減小溝通成本,必需要儘可能多的文檔。
這些都是創建在一種信息不對稱,信息流通不暢的年代所產生的開發過程。後面將提到一種新的軟件生產思路。
這是在互聯網興起以前的年代的一種軟件生產思路。
主要開發流程以下
主要的特色以下:
這種開發模式的最大特色是:快!
迭代速度快。
新功能發佈並呈如今客戶面前快。
問題的發現快。
問題的解決速度快。
這實際上是優勢,若是是坑,及時可以暴露出來也是好事
前面提到的兩種公司和兩種模式,目前在中國都存在至關大的市場。從我的的角度來講,更看好自主產品型的公司及開發模式。
本人第一次創業經歷,就是長達兩年的時間開發一個大型軟件系統,最後都沒有成功交付而胎死腹中。此次慘痛的經驗教訓,讓我今後之後對外包型的創業模式深感恐懼和抵觸心理。第一次創業裏面作的項目,很累很累,很用心很用心,同時結局也很慘很慘。
第一次創業失敗以後,又加入瞭如今的這個創業團隊。是一種徹底的互聯網經營和生產模式,徹底是一種久旱甘霖的暢快感。做爲開發團隊的一員,你的代碼時刻都在生產服務器上運行着,天天開發的功能都在線上發揮着做用,你敲下的每個字符都發揮着它的做用,並且爲後面的開發在鋪路。
前面花了很大的篇幅來說大背景和大變革,如今才正式開始進入「軟件測試」這個議題。我的認識仍是頗有必要。由於大部分開發人員都是思想和交際圈子相對比較簡單的羣體,打交道的對象每每是代碼或者機器,每每不肯意跳出技術的思惟和習慣,從更高的視角來審視本身作的事情。由於我之前就是這樣的一個技術人員,每每把全部的路線選取寄託在別人身上,並且本身缺少獨立思考的能力,結果致使本身雖然很努力,可是卻老是達不到本身想要的效果。
做爲普通一我的,必然沒法避免個體命運會隨着大時代的背景進行浮沉。具有獨立思考的能力至關重要,可以洞察趨勢,順勢而爲,必然會事半功倍。
軟件測試(英語:software testing),描述一種用來促進鑑定軟件的正確性、完整性、安全性和質量的過程。 換句話說,軟件測試是一種實際輸出與預期輸出間的審覈或者比較過程[4]。
無論是傳統企業仍是IT企業,都會有這樣的一崗位,叫QC(QUALITY CONTROL的縮寫,中文「質量控制」) [5],專門負責品質控制的。在製造企業裏面是對具體的物品進行 相應的質量檢測。
無論是實物工業生產仍是軟件工業生產,最終的目的都是將產品交付給相應的使用人或者使用場景,使產品穩定的發揮其做用。那麼既然存在交接,就必然存在驗收。而關於產品的問題的發現,從生產方來講,最好是在內部就能消化和解決,而不是到投放市場以後由用戶來發現,那樣會對產品和企業形象都是很大的損害。因此每一個企業都須要這樣一個角色,用來作質量審覈和把關。
在傳統實物生產工業,產品質量控制主要劃分爲4個階段 [5]:
一樣在軟件工業,特別是目前外包或者衆包的協做模式逐漸興起,軟件工業也逐漸像實物工業同樣造成了所謂的供應鏈,也同樣產生了如傳統工業的品質控制崗位。
總之,軟件測試是在軟件工程裏面交付可靠軟件的必要步驟。具體有有興趣的能夠查看軟件工程相關書藉。可是查看這些的時候,請只看軟件測試的定義及在軟件工程中所扮演的角色部分,後面的具體操做手段能夠忽略,由於隨着近些年互聯網和移動互聯網的掘起,不少傳統的軟件工程組織方式和理念已經嚴重落伍,已經逐漸被行業給淘汰,做爲軟件工程中的一個環節,軟件測試的手段也發生了巨大變化,這個在後面會談到的。
[4] | 百度百科.'軟件測試'詞條 |
[5] | (1, 2) 百度百科.‘QC’詞條 |
關於從業人員的體驗,如下論述事實都來自於當下熱門社區「知乎」。
如何成爲一個優秀的軟件測試人員? [6]
QA在中國有前途麼? [7]
文章主要觀點:
[6] | http://www.zhihu.com/question/20254092 |
[7] | http://www.zhihu.com/question/19666055 |
多看一些相關話題及相關人員的回覆,能夠明顯感覺到測試崗位正在朝着」自動化,專業化和技術長線化「的方向在發展了。
若是說知乎上的我的的回答可能會帶有濃厚的主觀色彩,或者說是我的認知的侷限性。那麼來自人才市場的需求應該可以成爲比較客觀的風向標依據了吧。畢竟,規劃本身的職業方向的主要目的無非是以下兩點:
本文經過對2015年5月份來自互聯網的垂直招聘網站 拉勾網 的測試相關崗位的招聘要求和薪資待遇進行了研究。
關於測試崗位,工資差別很大,要求的差別也很大。
以」測試「爲關鍵字進行職位搜索,發現出來的崗位待遇差別巨大,下面將針對不一樣的薪資結果來舉例對比。
10K~20K
15K~30K
20K以上
數據結構
算法
數據庫
進程通信
網絡協議TCP/IP
性能測試/性能優化/安全/容災
軟件工程理論和測試理論
10K~20K
3K~5K
4k-6k
4k-7k
經過對更多的高端測試崗位的技能要求作總結,繪製出以下的一個技能和事務樹,供你們參考:
自從離開校園以後,好久沒有沉下以來認真地寫點東西了。主要是本身在剛跨入社會的時候,犯了一個很嚴重的錯誤,老是想用」戰術的勤快來掩蓋本身戰略的懶惰「,一直忙低頭作事,而不多停下來冷靜地獨立思考。還好,如今開始有這個意識,也不算太晚。
以上的內容一方面是對本身這三年思想轉變和職業規劃轉變的總結,同時寫出來,也但願可以對走在相同道路上,一樣有過困惑的同行們多一點借鑑參考吧。
以上全部的結論都源於:
雖說盡可能讓依據來源豐富化,可是在在選材過程當中確定不免帶有一些我的主觀色彩,並且做者的經歷也不能表明你們的經歷,因此分享此文出來,還但願此觀點可以傳播出去讓更多的人看到,正如前端的互聯網產品的開發思路」讓產品儘早上線,儘早接受更多的用戶考驗,好壞天然分明「,因此歡迎你們來 點贊或者拍磚。
這是後續的軟件測試系列的第一篇,先以概述來定基調和方向。後面將分享此基調和方向下的相關技術和手段。