我們精選了一下網友答案:
···································^^····································
近期經常有一些考慮轉行IT的網友朋友問我一些軟件測試相關問題,雖然問法五花八門,各有不同,但是總結下來無非就是幾大類。臨近年底,蛋哥近來也真是閑得蛋疼,就把大家想知道的答案專門整理了一篇長文,供大家閱讀和參考,希望對考慮轉行和已經轉行軟件測試的朋友有所幫助。
本文探討主要包括:
顧名思義,就是在規定的條件下對一個產品或程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。通俗來講,軟件測試是保障軟件質量全過程的集合。
軟件質量會根據產品、行業、階段不同而有所變化,所以測試應該覆蓋軟件的整個生命周期,比如調研、需求、設計、研發、測試、上線、運維等。
敲黑板,軟件測試要貫穿產品整個生命周期,而非大家淺顯理解的開發完后簡單測試的那一段小過程。
另外,所有為了保障軟件質量的工作,測試人員都應該積極主動的參與,比如前期的市場調研、競品分析、用戶畫像;后期的線上運維配置、環境配置、業務監控等等。
測試早就不再是大家認知的功能性測試,而是需要具備更多的專業技能,比如自動化測試、性能測試、手工測試等等。
軟件測試伴隨著軟件產品應運而生,早期的開發規模比較小、產品也較為簡單,所以測試的含義也很狹窄,開發人員將測試統稱為“調試”,目的是糾正軟件中已知錯誤。在國內市場,很多軟件企業都存在著重開發、輕測試的現象,甚至有很多互聯網和軟件企業都沒有專門的測試崗位,而是在產品上線前要求開發和非專業人士的內部測試,這就造成軟件產品的質量問題頻出,上線后出現各種問題。
近兩年來,隨著互聯網的快速發展,軟件系統變得越來越復雜,一個軟件產品不再是由1-2個開發人員單獨編寫,而是團隊配合,可能每個人只負責一個單模塊,對于產品全局沒有全據了解,所以這些軟件在運行時就非常容易錯誤,行業內將此稱之為Bug。
并且每一個軟件工程師都會有思維死角,不容易發現自己編寫出來的錯誤,所以這時就需要專門的軟件測試工程師用專業的測試方式來檢查產品了。
并且,因為我國企業對軟件測試技術的認知較晚,所以這方面的專業技術人才在國內還很稀缺。據調查顯示,目前國內軟件測試人才缺口已達到30萬,中國軟件業每年新增約20萬測試崗位就業機會,但是企業、學校培養出的軟件測試人才不足需求量的1/10,并且需求與供給間的差距仍在進一步拉大。華為就曾一次拋出過50名軟件測試人員的招聘大單,而其他大廠也紛紛打出高薪招聘軟件測試人才的啟事。
隨著用戶對產品要求逐漸提升,測試人員在企業內部的分量只會越來越重,北上廣深等一線城市將會帶動其他城市一起發展。因此,軟件測試的前景只會是越來越好,當然,最基礎的功能測試的崗位需求已經很少了,但自動化、性能、安全乃至于以后可能出現的大數據測試、AI測試仍存在著非常多的機會。
1、職業發展更多元化。
由于工作的特殊性,測試人員不但需要對軟件的質量進行檢測,而且對于軟件項目的立項、管理、售前、售后等領域都要涉及。在這過程中,測試人員不僅提升了專業的軟件測試技能,還能接觸到各行各業,進而在項目管理、溝通協調、市場需求分析等能力上得到很好的鍛煉,從而進一步為自己的多元化發展奠定基礎。
2、通用性人才,有無限機會。
軟件測試人員是通用性人才,其不受地域、行業發展的限制,而且也不受年齡和體力的影響,職位經驗越豐富越吃香,因為工作的時間越長積累的項目經驗越多,在測試中會更加敏銳的發現軟件中的Bug。
并且相對于一些其他傳統行業,在互聯網公司里,內部政治、勾心斗角一般是比較少有的,上下級關系也較為簡單,更重要的是只要你技術出眾、有實力,你就可以獲得無限的機會。
3、缺口大,薪資高。
從需求分析到產品開發再到產品維護,都離不開軟件測試。并且,由于軟件測試的重要性近兩年才在國內被重視,所以高校教育和企業培養都還沒有跟上,致使軟件測試人才供不應求,薪資也隨之走高,優秀的軟件測試人才年薪可達十萬,甚至二三十萬或更高。
2020年-2025年,我國將利用國際產業轉移的重大機遇,聚集各種資源,突破核心技術制約,在軟件、計算機與信息處理、現代移動通信、信息安全、信息服務和系統集成等技術領域加強創新,促進IT產品更新換代,推動我國由IT大國向IT強國的轉變,進而推動國民經濟信息化進程,以信息化帶動工業化,走出一條新型工業化道路。
因此,IT行業的人才需求也會進一步加大,對軟件測試人員而言,這是一個機遇,也是一次挑戰,更是一個彎道超車的好機會。
從國家統計局發布的2018年國人平均工資數據顯示,薪資最高的是信息傳輸、軟件和信息技術服務行業,平均工資高達141962元,計算下來人均月薪為11830元。
蛋哥又從職友網截圖獲取了全國軟件測試人員以及成都地區軟件測試人員的工資收入水平,據崗位調查,兩者之間相差一千六百元左右元,最大影響因素是各城市地區的互聯行業發展環境的不同。
IT行業的高薪是毋容置疑,也無需多言的,雖然程序員常被人調侃“錢多、人土、愛加班”,但也不得不承認,這個一個高回報率的行業,只要你努力付出,你就一定有所收獲。
很多人都認為,測試的薪資比開發要低很多,實際上現在測試崗位早就不是以往那種普通的功能性測試了,雖然軟件測試依然是IT行業中最適宜轉行、練級的新手區,但對于每個從業者而言,隨著從業年限、處理問題能力的提升速度、發展方向的不同等,測試人員的薪資也在大幅提升,甚至大有超越開發之勢。
并且,如果測試和開發薪資差別真的很大,只能是有些人能力不足,能力上去了一切薪資都會很好的,不同的能力對應了不同的薪資水平。
并且,若你真想掙錢,那就先學技術,目前自動化測試、測試開發等從業者薪資都不比開發低。以下是軟件測試職業成長路徑以及與之對應的薪資,數據來源自某招聘網站。
對于技術人員而言,職業發展規劃一般分兩個方向:做技術、做管理。
剛進入軟件測試行業的新人都會從最基礎的執行開始做,然后是用例設計,相當于基本的功能測試。隨后大家會根據個人職業發展來進一步細化,有的走管理路線,成為了主管,經理,項目負責人等;有的深入測試用例設計,繼續高級的功能測試;有的發展技術,專研性能測試,安全測試,自動化測試,測試架構設計等。
如果你想往技術領域深耕,一般又可以細化為兩類:一類是功能測試,也就是大家相對熟悉的點點點測試、黑盒測試,這類工作不需要太多的編程經驗,只要看得懂代碼就可以;另一類是自動化測試,包括功能自動化、性能自動化、接口自動化等,這一類工作對代碼能力要求就比較高了,也就是大家常說的測試開發工程師。
測試人員的首要職責在我們平常人看來就是“找Bug”,他們需要使用各種測試技術和工具來測試和發現軟件中存在的缺陷,從而讓開發者更好的優化產品,讓用戶更加安全順暢的使用。具體點包括:
1、根據軟件設計需求制定測試計劃,測試數據和測試用例。
通過測試計劃來確定測試產品所需資源,確定測試策略、測試系統、測試任務,評估和確定測試工作量。測試數據和用例是對產品進行任務描述,通過測試需求分析、業務流程分析、測試用例設計、測試用例評審以及測試用例更新及完善這幾個步驟完成測試用例的設計。
2、搭建測試環境、執行測試用例。
測試用例執行的第一步就是要先搭建軟件測試環境,要給出軟件的安裝指導書、運行的軟硬件環境、以及相關的配置等等。測試執行中,要全方位觀察軟件產品的問題,以及確認是否和預期測試用例結果是一致的。
3、提交測試報告。
在測試完成后,測試人員需要根據測試結果對發現的問題和缺陷進行分析,包括缺陷率、缺陷分布、缺陷修復趨勢等。給出軟件各種質量特性包括有功能性、可靠性、易用性、安全性、時間與資源特性等的具體度量。測試報告是測試階段最后的文檔產出物。優秀的測試經理或測試人員應該具備良好的文檔編寫能力,一份詳細的測試報告包含足夠的信息,包括產品質量和測試過程的評價,測試報告基于測試中的數據采集以及對最終的測試結果分析。
4、跟蹤Bug修改情況,不斷測試完善產品。
5、產品的其他方面測試。
在單元測試基礎上,將測試模塊組裝成系統,完成對產品的集成測試。以及對整個產品進行系統測試,找出需求規格等問題。可以過程中利用測試工具TestWriter對產品進行功能測試、還有一些性能及其它方面的測試,也可以選擇正確的工具進行選擇。
當然這還不算最后的完結工作,因為軟件測試是貫穿于整個軟件生命周期的,所以還需要對線上功能檢查、當前版本問題反饋以及改進建議等,這樣才算是比較完整的一個最終結束。
首先,這種問法的前提就是錯誤的,或者說這個問題問得比較外行。軟件測試和開發是產品開發中同樣重要的兩個板塊,無論在哪個領域發展都可以給你實現價值的空間。而且從目前的行業發展情況來看,測試人員必須要懂一些開發,而開發人員也必須要會一些基本的測試,并且在軟件測試領域中的“測試開發“崗已經變得越來越重要,所以它們之間并無太大區分。
所謂的好與不好,與行業無關,與你個人有關。做不好軟件測試,你也不一定就能做好開發。
當然,大家有這種疑問也并非沒有道理。
據統計,在國內的研發團隊中,開發的比例永遠高于測試,最高約為5:3,這類情況大多出現在金融、保險、證券、P2P貸款等一些更注重安全類的項目中,其他行業的中小項目中測試的比例約在5:1甚至是8:1,大部分企業10人以下的研發團隊只配置1-2個測試人員,他們主要就是做一些功能性測試,以及測試執行的工作。但在國外的研發公司中,測試與開發的人員配比基本為1:1。
雖然測試人員的需求量少于開發,雖然軟件測試入門相對簡單,但是,相對簡單,并不代表普通人就能做好,需求量少,也不代表就沒有錢途,所以并無哪一個的更好這種說法。
當然,很多人在轉行做技術前,都會糾結是選開發,還是選測試。那開發是不是就真的比測試薪資高、比測試更有發展前景、比測試更好呢,并不一定:
1、IT行業都需要經常加班的,所以軟件測試和軟件開發其實都一樣。如果你真正做過軟件測試,會發現測試人員比開發人員頭發更多一些(輕松一些),并且測試人員不會被產品氣到吐血;
2、目前國內軟件測試的待遇相比軟件開發不相上下,如果你能做測試開發或者是性能測試、自動化測試,那么測試的工資甚至比開發的還要高;
3、軟件測試的發展比軟件開發更廣一些,開發大多與產品經理打交道,但測試因為需要把控整個產品,則需要跟很多崗位的同事溝通,包括產品、開發、運維、售前、售后、客服等等,后期可發展成全面型人才;
4、軟件測試的崗位需求越來越多,而且高校還沒有普及相關的專業和課程,所以競爭壓力想多而言,也會更小一些。
當然,無所謂哪個好哪個不好,適合自己的才是好的,你也可以先做開發,然后有興趣了在轉行測試,這樣提升也會快點,未來純粹的功能性測試人員遲早會被淘汰,所以即便要做測試,也一定要做一名懂開發的測試。
軟件測試入行簡單,深入難。
不能說哪一個要求更高,或者哪一個更好。只能說軟件測試的入行門檻相對于軟件開發要低一些,但并不是指軟件測試的要求就比開發低。就好比,你能說教語文的就比教數學的要求低么?
軟件測試剛在國內發展時,大多數從業人員是做一些基礎的功能性測試執行工作,這讓很多外行人都誤以為軟件測試就是點點點。但隨著互聯網行業的發展,用戶對產品的質量要求越來越高,未來單純只是做功能性軟件測試的人不再滿足于企業的招聘要求,而懂得一定開發知識的綜合性技術人才才是發展趨勢。
今年,很多研發企業中測試工程師的職能已經開始慢慢轉移到開發工程師身上,并且由項目經理做引導,使兩個開發團隊去測試對方團隊開發的軟件。這樣就能夠有效的避免思維誤區,同時也能增強軟件開發工程師的溝通協調、風險意識、挖掘需求、分析總結等能力。
這兩年的自動化測試比重明顯增加,一些簡單的極限操作測試將會由接口程序來完成,比如測試軟件圖片從重復加載多少次會造成軟件卡頓、游戲軟件里撞墻多少次竟然能夠穿墻,這些簡單無聊的測試以前會耗費測試人員大量的時間,并且可能花了大量時間后也無法測試到真正問題的原因。但如果使用接口程序來解決,就可以大量的節省測試時間以及測試的全面性,這樣的效率對于手工測試而言,是完全無法達到的。
未來3-5年內,一些低端的測試人員會被行業所淘汰。軟件的性能測試、需求測試等方面的需求仍然無比巨大,因為這些需要主觀分析總結,用經驗和邏輯分析得出的問題,是算法無法實現無法取代的,正如AI永遠取代不了程序員一樣。
簡單的測試技術已成為軟件開發工程師的必備技能,開發人員將自己打造成復合型人才,具備綜合技能與專精技能;而軟件測試也將慢慢發展為測試開發型復合人才,只有真正有能力的程序員,才能與行業同行,不被市場所淘汰。
軟件測試是由于軟件開發編程行業高度成熟后所形成的產物。從行業的整體成熟度來講,軟件開發行業的整體成熟度更高,人們對軟件開發的理解也更為全面深入。
故此通常將軟件測試和軟件開發放在一起做比較。縱然二者都屬于產品研發但通常人們的關注點有所傾斜。所以經常用軟件開發設計工程師的要求來評價軟件測試工程師,僅看到軟件測試和軟件開發相比的弱勢卻看不到優勢。
大家對軟件測試崗位甚至還有更深的誤解,比如:
1、測試的工作沒有任何技術含量。
很多人都認為軟件測試就是安裝程序、運行程序、點點鼠標、按按鍵盤的工作。但這幾年因為用戶要求越來越高,產品變得越來越復雜,測試人員的技術知識體系也需要不斷更新和完善,并且隨著新工具、新流程、新設計方法的出現,軟件測試人員也需要像開發一樣持續學習。
2、測試就是找Bug。
找Bug、交Bug是測試人員最基礎的工作,測試工程師需要把控整個產品質量,代表客戶的利益去把控產品、驗收產品,因此他們需要做得不僅僅是找Bug。
如果沒有測試,軟件質量就很難得到保證。近年來由于企業對軟件質量的要求越來越高,測試人員也隨之而越來越受到重視,探其原因,主要是:
如今,在每個軟件企業中,測試都處于一個很重要的地位,對于一個合格的測試工程師,不僅要要了解產品想怎么玩,用戶會怎么玩,運營想要用戶怎么玩,還要知道開發怎么實現,測試如何進行,何為技術難點等等。
一個好的測試人員非常難得,要了解用戶使用,要懂代碼實現,寫的了接口測試,做的了性能優化,還能協調各種矛盾。比產品了解開發,比開發了解運營,比運營了解產品,還要最了解測試及產品質量。
這里不得不點破很重要的一點,普通的測試崗位的確很容易被開發所取代,并且也會逐年減少,測試開發才是未來的發展趨勢。測試開發的核心職能依然是測試,只是通過開發的手段提升測試效率。當然,這也是需要在保障質量的前提下。測試與測試開發的區別就比如同一個人用人肉來分揀快遞,另一個人發明了自動機器人來分揀快遞,看起來后面這位更高級,但是實際目的還是分揀快遞。
總結:軟件測試是對開發質量的檢測,測試并不會被開發所取代,反而兩者間只會分得越來越明顯。
零幾年時,國內很多軟件企業普遍都存在著“重開發、輕測試”的現象,甚至在很多互聯網公司里,根本就沒有軟件測試崗,上線純靠開發和非專業人員的內部測試。
雖然這樣能節約一定的人力成本,一些普通的功能性問題也能夠被測試出來并得到改正,但這種測試方式仍然有一定風險。
15年時有一款叫足跡的產品,在剛上線的3天內就自動吸引了大量的用戶注冊與使用,結果用戶多使用幾次后就會變得有問題,部分功能不能正常運行,導致用戶來得快去得也快,后期產品優化再上線后,用戶已經失去了熱情。
其實這款產品本身是特別好的,只是后來因為質量問題,失去了用戶的認可,再次升級后也很難讓種子用戶卸載后二次下載。
從崗位薪資來看,軟件開發工程師要面對很多開發環境,不斷修改代碼,所以會有不少工作是重復繁瑣的,要想從事開發工作的這類人,性格不能太急躁,并且要承受得住那份寂寞。
而測試工程師性格最好相對外向一點,雖然這個不代表你需要像銷售人員那樣外向,善于與人交流。但是起碼你要愿意主動與開發人員,與用戶溝通。另外, 還要求測試工程師要更加敏感,更具備懷疑精神,挑剔的,追求完美的性格以及刨根問底的心態也是比較重要的。
從發展前景來看,隨著軟件行業的日漸成熟,用戶對產品的體驗感、安全性也更加關注,各大企業對軟件測試的重視度也越來越高;從招聘需求來看,軟件測試崗位的招聘量處于明顯上升態勢;從薪資水平來看,軟件測試人員的待遇也是一增再增。
雖然近幾年加入軟件測試行業的轉行人的確越來越多,但是從缺口數據來看,不難發現:相比開發日趨飽和、競爭激烈的現狀,軟件測試仍會長期處于藍海狀態。
“互聯網+”的概念深入各行各業,很多傳統行業逐步轉型,公司業務量激增,加之創業風潮,人員流動等,整個IT行業的人才缺口還會持續呈擴張趨勢。
并且,測試不同于開發人員的大量產出、批量培養,在學歷教育階段,高校普遍缺乏對軟件測試專業的系統培養,甚至鮮有開設“軟件測試”專業的大學;在非學歷教育階段,正規、專業的軟件測試培訓教育機構也是屈指可數。
專業人才后備不足,供不應求,也就是自然而然的了。
1、首先必須一定要具備的就是認真、負責、嚴謹、耐心的態度,因為軟件測試工程師吃的就是這口飯,所以必須對你所測試的產品負責。寧可錯殺一千,也不可放過一個,雖然不能做到完全沒有Bug,但一定要盡自己最大的努力保證產品質量。
2、要有過硬的技術本領,技術是為測試服務的,無論是測試理論、測試工具、開發知識、數據庫、操作系統、網絡知識、你都必須精通一門,知曉其它。當然這個做到比較難,什么都會很難,再者多了之后就不會精,什么都會也等于什么都不會,至于最后你選擇深度還是廣度,都由你自己把控。
3、光有技術,沒有業務,再好的技術也很難使上勁,熟練的業務知識會幫助你發現更多的缺陷,進而更好的保證好產品的質量。不懂產品的工程師不是好工程師。測試工程師需要訓練自己的用戶思維、用戶視角,把自己當作真正的用戶去感受產品。同時你還可以收集產品數據來做分析,通過數據再量化產品。甚至你還要去研究競品的相關情況,知己知彼方能百戰不殆。
4、溝通能力超級重要。一個優秀的軟件測試人員除了經常要與開發打交道外,還需要與產品、運維、售前、售后、客服等不同的人打交道。所以如何更準確、更簡潔、更嚴謹的描述Bug,如何讓開發人員接受你發現的Bug,如何讓其他人員理解你的想法等都需要溝通,所以良好的溝通能力顯的尤為重要。
5、縝密的邏輯思維能力。測試人員不僅僅只是發現問題,找出Bug。更重要的是要去尋找Bug產生的真正原因,精準的找到問題發生的源頭,以便協助開發人員更好更快的徹底解決Bug。這個比較考驗你思維的靈敏度和推理能力。其實測試人員和刑偵有一些點類似,除了要求有縝密的邏輯思維能力,有時候還需要具備逆向反推能力。
6、測試雖然不像開發那樣創造產品,但測試需要保證產品各方面的質量,讓用戶使用產品時覺得舒服、方便,所以大多數測試工程師都需要有一顆追求完美的心。
未來軟件測試將從繁復的手工操作中解放出來,在敏捷開發的基礎上,一個測試能夠做好的真正價將不在是測試執行,而在于測試分析和設計,比如自動化測試工具的使用,uiautomatorviewer、TestBird等,將手工操作逐漸淘汰,提高測試效率,這才是測試行業未來發展的趨勢和凈化的方向。
自學
對于自學
控制力夠強嗎?
你的理解能力怎么樣?
優勢:金錢成本較低,能夠按照自己設定的學習計劃進行學習,時間安排也比較自由。
劣勢:自學消耗的時間比較長,如果沒有基礎的話,想要自學也是比較難的,相對于有一定基礎的,一般都是在空閑之余用碎片化的時間去學習,想要在軟件測試的領域小有所成,找到一份正式工作,怎么也得一年半載吧。自學需要強大的自制力,需要耐得住寂寞,每天固定的堅持學習,但是遇到技術難點很容易做牛角尖,導致半途而廢。
培訓
優勢:學習時間相對較短,整體學習比較全面,學習內容也比較集中。專業老師按照大綱進行系統授課,在學習中遇到技術問題能夠快速得到解決,同時還有專項的練相對于自學,學習氣氛更加濃厚,跟同期學員對問題的探討,對拓展思路有很大的幫助。讓學習變成一件很快樂的事情,學習起來也會很有動力,學習的效果會更好。
劣勢:相對于自學,培訓是需要金錢成本,一般的培訓機構學習費用都在一萬五到三萬不等左右,還要加上學習期間的生活費,學習成本比較高。PS:從時間就是金錢的角度來看,上面說的自學優點反而不成立啦,提前工作半年的薪資估計不止一兩萬吧。
如果你不是一個自制能力很強的人,又想能夠盡快的提升技能,最好是找一家靠譜合適的培訓機構進行學習,畢竟培訓價格不是小數目,主要是看錢花得值不值,主要取決于培訓機構的質量。不過無論是培訓還是自學,自己都得努力去學習,不然說什么也無濟于事。
有些人因為搖擺不定,不敢冒著離職的風險參與培訓,他們只想邊工作邊學習,那么類似這種情況的小伙伴可以如何學習呢?
1、找課程學習的大綱。
找幾家培訓機構咨詢,最好是直接在官網咨詢老師,留一個QQ,再想辦法獲得他們的課程大綱,然后對比整合。之所以讓你留QQ而不是電話,是因為某些培訓機構一旦獲得你的電話后就會每天給你打電話,甚至整個周期長達半年乃至一年。留QQ的話,獲得信息后可以直接刪除。當然你也要注意,某些培訓機構不知道是什么方法,居然能夠通過QQ獲得你的電話。因為我就曾經遇到過這樣的事情。
2、招聘網站實際調研。
接下里需要你去一些招聘網站上找一部分崗位招聘詳情來進行分析,總結出哪些技術是必須要學習的。也許你會納悶,為什么已經有了培訓機構的大綱卻還要去招聘網站調研呢?
一是因為怕你遇到那種三年課程都不更新的不良機構;而是技術的更新迭代很快,基本每半年企業的招聘需求就會有一定的變化。
這樣做,能夠保證你學習的是剛需性技術知識,自學完后能夠真正的找到一份入行工作。
3、規劃出學習的大綱。
前面已經把多家培訓機構的課程大綱進行了整合,且把企業招聘需求進行了調研,那么接下來就要花時間做一份詳細的學習大綱,包括學習時間,學習規劃。
因為一份好的學習計劃能達到事半功倍的效果。
4、接下里就是找課程,分享一些學習技術的免費網站。
1).Codecademy
國外在線學習編程的網站,它為用戶提供了一種學習編程的新方式,是最受歡迎的免費編程學習網站之一。基于網絡編程教學,手把手幫助用戶了解JavaScript的一些基本原理。更重要的是,使用Codecademy學習編程充滿了趣味性。
Codecademy目前開設的課程有HTML&CSS,JavaScript,jQuery,PHP,Python和Ruby。事實上,已經有超過2400萬人通過它學會了編程。
2).Udemy
Udemy成立于2010年,是一個在線學習平臺,可以幫助你改善或學習工作技能。雖然有部分課程需要付費,但也有大量的免費編程學習課程,通過視頻講授。
demy 這個名字有它特別的含義。“Udemy” 是由 “you” 加上 “academy” 合成的,意思是 “你的大學”。
與其他在線教育平臺不同的是,Udemy 不僅開放各種課程,更開放了教學的機會。也就是說,只要你愿意,你也可以成為老師。
3).GitHub
GitHub于2008年4月10日正式上線,除了git代碼倉庫托管及基本的 Web管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜、代碼片段分享等功能。
目前,其注冊用戶已經超過350萬,托管版本數量也是非常之多,其中不乏知名開源項目 Ruby on Rails、jQuery、python 等。
4).edX
edX是另一個領先的在線學習平臺,重點是它不是以營利為目的,而是開源的。edX是由美國哈佛大學和麻省理工學院于2012年聯合創辦的,所以你將會在這里學習到先進的技術和理論。如今,edX已涵蓋了60所學校。此外在這里,你應該不會錯過哈佛大學的計算機科學導論的,免費的哦。
5、一定要明白,技術是永遠看不會的,并且就算你會敲代碼,也不代表你掌握了它。如果真正的要把所學技術運用到一個項目中去,那你可以在網上找一些項目來做,或者參與一些付費項目。
6、如果你覺得以上方法太麻煩,那么直接某寶上買課程即可,幾塊、幾十塊、幾百塊不等,等市面上培訓機構的課程基本都有。
另外,關于就業,其實就是你的溝通表達能力了,當你把一個項目或者某一個較難的技術掌握之后,你一定要嘗試去把它說出來。因為對于一個技術人員而言,團隊溝通能力也至關重要。
最后,很重要很重要的一點,不要他娘的只是三分鐘熱度,自律性是你做成這件事的最最根本的保障,無它,狗屁都干不了。讀到這也別杠精附體嘗試反駁,難道忘了從小到大數次制定的計劃和目標你實現了嗎?
哥們兒,一不小心就年紀不小了……
分享 2019 年最新基于Python的測試開發學習路線和導圖,希望對目前正在考慮和已經踏入軟件測試學習行列的朋友們有所幫助。
第一階段:專業基礎課程
階段目標:
1. 熟練掌握IT核心技術:編程,數據庫,操作系統,版本控制。
2. 能夠熟練運用所學技術搭建各類服務器環境。
3. 深入理解軟件研發過程各種疑難雜癥及處理手段。
4. 掌握Python編程技術并熟練運用Python進行程序設計。
知識點:
1、Web頁面元素,布局,CSS樣式,盒模型,JavaScript程序設計,函數,基礎算法,正則表達式。
2、數據庫知識,范式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,建模工具深入理解數據庫管理系統通用知識及MySQL數據庫的使用與管理。為軟件測試和測試開發打下基礎。
3、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與權限,環境部署,Shell編程Linux作為一個主流的服務器操作系統,是每一個測試開發工程師必須掌握的重點技術,并且能夠熟練運用。
4、Python編程基礎,語法規則,函數,數據類型,PDBC,培養扎實的Python編程基本功,同時對Python核心對象編程有熟練的運用。
5、Python面向對象,異常處理,文件IO,多線程,網絡編程,PyQT界面開發,深入理解面向對象編程,異常處理機制,多線程原理,網絡協議知識,并熟練運用于項目中。
第二階段:專業核心課程
階段目標:
1. 熟練應用所學知識完成一個標準的軟件測試項目。
2. 熟練運用Python完成GUI測試,接口測試和性能測試開發。
3. 對測試開發技術體系和實現原理有深入的理解。
4. 靈活運用測試開發技術解決項目中的各種問題。
知識點:
1、軟件工程,軟件質量,系統測試流程,方法,專業術語,測試用例設計,禪道管理工具,測試報告,缺陷管理理解軟件工程的各類實際問題,理解系統測試的理論、方法與過程,熟練運用測試用例設計方法高效設計測試用例。
2、測試需求分析,測試方案設計,測試用例設計,測試項目實施,缺陷報告與測試報告,深入理解系統測試各個過程和關鍵環節,熟練完成系統測試項目。
3、SikuliX框架,UIAutomation框架,Selenium WebDriver框架,基礎框架,Android應用,Monkey測試,Appium移動端測試框架,UIAutomator2移動端測試框架綜合運用各類應用操作平臺,完成各種自動化測試框架的學習和應用,深入理解GUI自動化測試技術及相應框架的測試開發。
4、Python單元測試框架,網絡通信協議,HTTP與HTTPS協議,WebService與WebSocket協議,Python的接口測試庫,PostMan與SoapUI接口測試工具通過對代碼級接口測試和協議級接口測試的測試開發實戰,靈活運用Python開發接口測試腳本,熟練運用各類接口測試工具。
5、性能測試原理,指標體系,場景設計,實施過程,JMeter工具應用,BeanShell腳本開發,Python+Locust性能測試框架深入理解性能測試技術體系和方法論,熟練運用JMeter性能測試工具和Locust性能測試框架實施對任意系統的性能測試。
第三階段:綜合實戰項目
階段目標:
1. 將軟件測試和測試開發技術靈活運用于項目中。
2. 具備較強的測試開發能力,獨立完成測試開發項目。
3. 綜合運用軟件測試技術,滿足企業中高級人才需求。
4. 對所學技術有深入的理解并具備獨立解決問題的能力。
知識點:
1、測試需求分析,同行評審,測試計劃,測試方案,測試用例,配置管理,持續集成。通過對大型企業級應用系統的測試項目實戰,強化理解系統測試項目的實施過程與技術細節。
2、接口測試設計與實施,回歸測試,冒煙測試,安全性測試,RobotFramework框架應用,UI自動化實戰將各類自動化測試技術結合項目實戰演練,強化對自動化測試技術的運用,同時掌握更多的測試框架。
3、性能測試項目實戰,LoadRunner性能測試工具,總結通過綜合項目實戰,將全套測試技術融入到項目中,強化學習效果和項目經驗。
4、Python原生測試框架開發,包括Monkey,UI,圖像識別,云測試平臺,HTML測試報告,持續集成,KDT關鍵字驅動框架開發等原生技術實現通過大量的Python原生代碼開發,深入理解自動化測試開發技術的底層實現原理,完全拋棄對工具的依賴,做到真正的測試開發技術。
5、基于測試框架的設計思路和實現手段,自主實現一套測試框架能夠獨立完成一套自動化測試框架,并能夠直接用于實際項目中。
6、持續集成與Jenkins,安全性測試原理與工具,Python爬蟲開發與Scrapy框架,提升軟件測試其它類技術,增強知識面,提升競爭力,助力職業發展。
后期補充知識
1、算法進階,圖像處理,視頻處理,加密解密,壓縮算法。
2、UML統一建模語言、五種圖、類圖、類圖詳解、用例圖、時序圖。
3、Dubbo分布式開發框架,Oracle關系型數據庫管理系統,MongoDB非關系型數據庫管理系統。
4、大數據開發框架Hadoop/MapReduce/Spark。
5、Android與iOS的原生應用開發與WebApp開發。
6、OpenCV圖像處理框架、TensorFlow深度學習框架,Lucene全文搜索引擎與中文分詞框架Ik-Analyzer,視頻處理算法與框架等。
軟件測試和Java開發、大數據等培訓是不一樣的,眾多培訓機構總是給轉行者灌輸一種“測試就是點點點,傻瓜都能學會”的觀念。
他們常說:
1、如果基礎差,就學測試吧。
2、如果邏輯思維不強,就學測試吧。
3、如果學歷不強,又是文科生,那一定得學測試。
他們還會告訴你:學測試不需要什么技術能力,做測試也不需要加班太多,并且測試行業的薪資一點也不比開發低,發展前景一樣的好。
事實上呢?
的確,他們說的沒毛病,但若只學習簡單的功能性測試,是不需要什么技術能力,可你工作3年和工作10年的薪資基本是一樣的(當然,是在你不學習新技術的前提下),而且被淘汰率特別高。
如果你不想做普通的軟件測試人員,而是想要成為更具發展前景的測試工程師,你在選擇培訓機構時就一定考慮到以下幾點:
1、課程選擇,不要只是簡單的學習功能測試,而是要涵蓋有現在流行的自動化測試、GUI測試,接口測試和性能測試開發等內容。
2、 培訓機構的教學不僅僅是教會你做標準的軟件測試,而是要教你一些測試邏輯,教會你使用工具但又不依賴于這些工具也可以完成自動化測試,也就是其背后的底層的工作原理,這些東西才是真正能夠內化成屬于你個人的核心競爭力。
3、現在的移動互聯網企業對自動化測試的需求非常大,也會要求學員掌握程序設計的原理,所以測試開發性綜合性人才才是未來IT行業的需求方向。
4、一定要去參加試學,因為很多人目標不明確,甚至是迷茫的,所以去試學一周,看看自己是不是真的想做技術,或者適合做技術。
5、授課方式,有些是面授,有些是視頻授課,各有優點,就看自己喜歡哪種了。當然,線下面授的學費應該更高,畢竟成本在那里,學習時有老師盯著,有同學陪著,能夠更快的進入學習的狀態,有更充足的斗志。
選擇一家軟件測試培訓靠譜機構的更詳細的建議和標準,請參見我的回答 如何選擇一家軟件測試培訓機構?
關于軟件測試的話題就跟大家聊這么多了,還有問題可以直接私聊。碼字不易,覺得有幫助的,麻煩手動點贊收藏一波!
···································^^····································
軟件測試工作的前景怎么樣?不知道用言語怎么說,就直接上圖吧:
本截圖來自2020年11月2日晚上8點的BOSS直聘成都站軟件測試的相關搜索結果。
低一點的4~6K,差不多的,10~15K,好一點的,20~40K。下圖就是該崗位的職位和技術要求:
所以,前景么,自行體會,但是肯定少不了這兩點:
所以,說句難聽的,前景好不好,不是崗位或者工作的問題,而是你的個人問題。
···································^^····································
成都來說還是不錯的,會比一些弱一些,但是比其他二線城市來說行情會好很多。
但是不管哪里的地方,還是自身能力ok才會有競爭力,才會在競爭中拿到相應職位吧。
···································^^····································
題主,你好!
回答你成都軟件測試的工作前景前,先帶你看一下目前國內軟件測試行業的現狀:
搜索資料發現,國家各部委員、各行業正在通過測試來規范軟件行業的健康發展,通過測試把不符合行業標準的軟件擋在門外。同時在信息產業部關于計算機系統集成資質以及信息系統工程監理資質的認證中,軟件測試能力已經被定為評價公司技術能力的一項重要指標。
因此要規范軟件行業的發展,提高軟件質量,肯定就離不開軟件工程師的存在,所以從事軟件測試工作必然是很有前景的。
隨著軟件系統越來越精密,越來越復雜,影響的范圍也不斷擴大。因此,開發的軟件就必須進行十分嚴格的測試。全面嚴謹的測試和評估是降低企業IT系統風險的最佳實踐。所以企業越來越重視對軟件的測試,優秀的軟件開發機構把40%的工作花在軟件測試上,軟件測試費用占軟件開發總費用的40%至50%,所以勢必軟件測試人員越來越受到企業的關注,現在軟件測試缺口特別大,所以從事軟件測試工作必然是很有前景的。
雖然從事軟件測試工作是很有前景的,但是題主也要明白科技、技術等都是瞬息萬變的東西,想要再次行業中穩定發展,源妹兒也有兩點建議給你:
1. 測試人員需求逐步增大,素質不斷提高,真本事才能立足長遠。
企業對于軟件測試人才的需求,必然會導致更多軟件測試從業者的出現。未來大量人才涌入行業,企業的選擇就會更多,對于人才的挑剔程度也會隨之上升,所以在這種情況還沒有到來之際,題主可以先精煉自己的技術,未雨綢繆,有備無患。
2.技能本領再精湛,也要緊跟科技發展
傳統的項目測試還是以人工為主,測試人員只需要根據需求規格說明書的要求,與測試對象進行“人機對話”。但是大量的的手工增加了項目人力成本,而且低效率、高差錯率。隨著軟件行業的不斷發展與壯大,自動化的測試及管理必然會成為項目測試的一大趨勢。自動化的測試勢必就會影響到軟件測試師的就業,作為一名合格的軟件測試師,應該保持自己對于科技的敏感性,順應科技潮流,才能不被科技技術所淘汰。
首先:目前成都地區軟件測試工程師的平均起步月薪在4000-5000元左右;工作2~3年月薪大約在8000~13000左右,另外還可享受帶薪年假、內部培訓、住房公積金等福利待遇,從近期的企業人才需求和薪金水平來看,軟件測試工程師的工資還有逐年上升的明顯趨勢。
但是,就如一位樓主說的,目前,成都地區不缺初級測試工程師,會簡單的手工測試、測試基礎的工程師幾乎都找不到工作了。企業需要的是中高級軟件測試工程師。
一個合格的軟件測試工程師,不僅要有扎實的測試理論、會做測試需求分析、編制測試用例、熟悉測試流程、能獨立完成測試任務,還要懂自動化測試、性能測試、數據庫的查詢等等,還要有良好的團隊配合協作溝通能力。
軟件測試學習門檻雖然比較低,但是不等于沒有門檻。從就業角度來講,學軟件測試,
首先,低學歷者不適合,網上隨便一搜,企業招聘的學歷要求都是大專及以上學歷。雖然說軟件測試學習沒有專業限制,但是計算機、軟件工程、通訊等相關專業學軟件測試在簡歷刪選和面試上更有優勢。
其次,覺得軟件測試簡單,隨便學學都能找到好工作的人,不適合學。IT行業技術更新迭代很快,必須不斷的學習,像前幾年,都很少談及自動化測試,但是現在,會自動化測試是企業對軟件測試工程師的基本需求。所以這個職業需要不斷學習,用開放的心態多學習,才能讓自己一直保持技術上的優勢。
最后,年齡太大才開始0基礎學軟件測試的,不適合學。如果你都30好幾了,打算0基礎學軟件測試,安妹勸你還是慎重。一般這個年齡的軟件測試工程師,要不就是有幾年工作經驗的高級軟件測試工程師,要不就轉管理崗,做項目管理或者團隊管理,如果這時候才開始學,優勢就不是很明顯了。當然,這不是絕對的,還是要結合個人的情況來講。
·······································································
我們精選了一下網友答案:
我國軟件測試起步晚,高校尚未開設系統的軟件測試課程,隨著“用戶體驗度”的概念提成,企業越來越重視軟件開發后的功能測試。截止目前,我國軟件測試人才缺口突破了30萬。成都軟件測試人才需求大,無工作經驗的軟件測試工程師起薪在4000-4500.睿峰教務部軟件測試學員就業數據顯示,學員平均薪資5000元,就業率大于99.2%
···································^^····································
首先我不清楚你是什么學歷,也不清楚你畢業多久了。 給你舉個例子: 假設你大專學歷,畢業2年了,目前想轉測試行業。 個人是不推薦去培訓的,畢竟學費不便宜,當然條件允許的話還是可以去參加的,也是可以比較專業的系統的學習吧。 再就是學一個學期找工作是否好找的問題:推薦就業這話可以不要聽,找工作時首先看你在這個學期里面學到了多少,自己領悟了多少。這個是前提。再在找工作時好好包裝包裝自己,找份工作是絕對沒問題的。 學好了,不怕沒工作。
···································^^····································
高新技術企業認定一站式服務: 1.合作前詳細診斷評估,對企業信息充分了解,同時對客戶普及高新技術企業申報政策、條件; 2.合作初期,召開高新技術企業啟動會,行配備由1名項目輔導老師、1名項目助理、1名專、利工程師組成的輔導團隊與企業的財務、人事、研發等部門負責人會面,開展工作啟動破冰,通報項目周期及進度安排; 3.合作初期對暫不符合高企申報的企業提出建議,不亂來,建議企業合理規劃,按照我方意見延后一周期申報,期間補足短板,內調直至達到高企條件要求; 4.確定研發項目撰寫申報方向,同時開始挖掘專.利兩者并行,保證專.利挖掘與研發項目方向一致,使知識產、權與研發立項互為佐證,相互呼應; 高新技術企業費用.jpg 5.協調審計事務所對企業財務賬目作出指導,指導企業財務人員歸集研發費用,保證研發項目、研發費用、審計報告三者一致; 6.撰寫申報材料同時篩選高新技術產品,指導企業出具檢測、查新等第三方證明材料; 7.項目部所有項目輔導老師對每一家客戶的申報材料進行會審,內部評分,所有人打分均超過71方可最終定稿; 8.安排申報批次,準確把握時間節點,與科技部門及時溝通安排預約預審.
·······································································
我們精選了一下網友答案:
···································^^····································
掃描二維碼
添加明老師
回復"年級+學校"
進各年級學習交流群
眾所周知,今年義務教育階段實行100%搖號,好多人都在好奇,搖號究竟如何進行?安全性能否得到保證?是否能夠做到公平公正?6月10日上午,成都市教育考試院召開成都教育電腦隨機錄取軟件論證會。成都市教育領導及有關處室負責同志、市教育局紀檢監察干部、計算機專家、軟件測評中心、區(市)縣教育行政部門及中小學校校長、家長代表參加論證會。
會上,成都市教育考試院通報了成都教育電腦隨機錄取軟件升級情況并進行了模擬數據演示,計算機專家代表通報了專家審查意見,成都市信息系統與軟件評測中心工作人員通報了軟件測評結果。
近年來,成都市在公辦(公益性)幼兒園幼兒入園、公辦初中學位派位、民辦初中招生等工作中均使用電腦隨機派位軟件。
根據工作需要,成都市教育考試院組織專業人員對軟件進行了升級,新軟件(成都教育電腦隨機錄取軟件)與過去的隨機派位軟件比較,有“兩變一不變”:
一、軟件名稱變化。由原先的“隨機派位”變為“電腦隨機錄取”,主要是上級有新的規范要求。
二、開發計算機語言變化。開發語言由原用的VFP變為VC++2019.新的軟件與現行計算機使用的WINDOWS系列主流操作系統匹配性更優。
三、隨機函數不變。新軟件的基本算法和原理與原版隨機派位軟件一致:隨即錄取與學生姓名、性別、身份證號等自然特征無關,與報名先后、報名號(流水號)等的編排無關。
據了解,在軟件升級過程中成都市教育考試院在充分聽取區(市)縣教育行政部門意見的基礎上,認真制定了電腦隨機錄取軟件的開發需求,組織專業力量進行了軟件升級開發,并采用多類、多組模擬數據對軟件進行了測試。其后,聘請電子科技大學、成都信息工程大學、成都大學等高校的計算機專家對軟件源代碼進行了審查,將軟件提交成都市信息系統與軟件測評中心進行了專業評測。專家和專業評測機構對軟件的科學性給予了充分肯定。根據市教育局關于規范和統一有關招生入學隨機錄取軟件的要求,成都市教育考試院將組織各區(市)縣教育行政部門工作人員,對軟件的使用和管理進行專項培訓,規范軟件使用流程,努力為基層服好務。
針對社會上有人稱“可操作隨即錄取軟件,家長給一定數量費用即可保證搖中,如果沒有被搖中將退還全部費用或部分費用”,這是一個典型的騙局,是不法分子利用家長焦慮心理的詐騙伎倆。一方面,成都教育隨機錄取軟件經過了專家和專業機構的評測、審查,并接受上級部門領導、紀檢監察干部、家長及學校代表的現場監督;另一方面,在軟件使用過程中,工作中電腦均為單機,不得與互聯網連接。
在此,成都市教育局、成都市教育考試院再次提醒家長,個別不法份子利用電腦隨機錄取的隨機性和家長的焦慮心理,宣稱可以找關系幫助學生搖中,借機騙取錢財。請家長提高警惕,切勿上當受騙。
聲明:以上部分內容來源于網絡,版權內容歸原作者所有,若有侵權,請聯系后臺刪除!
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!