有一種打工人的羨慕,叫做“大廠”。
真是年少不知大廠香,錯把青春插稻秧。
但是,在深圳有一群比大廠員工更龐大的群體,他們頂著大廠的“名”,做著大廠的工作,還可以享受大廠的伙食,卻沒有大廠的“命”。他們就是大廠的“外包員工”。
什么都做了,和什么都沒做其實是一樣的,走出“瞎忙活”的安樂窩,才是避開彎路的最佳路徑。希望我的經歷能幫助到有需要的朋友,同時也給各位準備了一份資源,盤里頭是一整套軟件測試必備資料。
內容涵蓋:包括測試理論、Linux基礎、MySQL基礎、Web測試、接口測試、App測試、管理工具、Python基礎、Selenium相關、性能測試、LordRunner相關等… 質量非常高,需要的可文末自行領取(免費)!!
外包公司的特點有哪些?
首先,特點就是人員流動性特別大,接著上面例子,因為可能干了三四個月,該項目做完了,這10個人估計都得走,然后這10個人又會被外包公司派去其他的甲方公司面試,面試成功才有工資拿,沒面試成功只有底薪2200。
如果一個外包人員面試甲方公司,一直都沒有面試通過,那他就是只能一直拿底薪,大約每天70塊錢的收入,所以,有些就覺得沒勁,干脆辭職。
還有一個就是:你如果要入職外包公司的話,一般要經過兩面,一面外包,過了外包的面試,才有第二輪甲方公司的面試,這些外包的人事都會提前通知你,去哪個甲方公司面試,然后第二面你又要去甲方面試,如果這個甲方公司面試通過了,就會給你發offer,讓你入職簽合同,如果第一個甲方公司面試沒通過,那就去第二個甲方公司,依次類推,直到你面試的甲方公司通過才可以入職簽合同。
關于簽合同和福利待遇
- 薪酬福利
一般而言外包員工的薪酬福利是遠低于正式員工的
正式員工:薪資之外還有五險一金和公司福利等;而外包的價格頂多是崗位的正常薪資。
- 職業發展
外包員工很快會遇到瓶頸,因為只有非核心崗位會外包,這類崗位缺乏長期發展的空間。
正式員工,有成績或者呆的年限夠長都回有相應的回報。
- 工作穩定性
外包是靈活用工的一種,意味著公司一旦需要裁員,首先考慮的是外包員工。
正式員工,會相對穩定,裁員,會獲得法律的相應補償。
- 合同簽訂
外包員工的合同,是和第三方外包公司簽訂。
正式員工的合同,是直接和公司簽訂。
- 工作范圍
外包公司,一般是一對多,同時服務多家企業。
正式員工,一般是一對一,只服務于所在公司。
- 外包公司可不可以進呢?
一般情況下,我不建議大家選擇去外包公司,因為從各個方面綜合比較,外包公司都是不利于我們發展的。但是外包公司的存在又是大多數,我們應該怎么辦呢?我的建議是,根據自身情況做“符合事實的選擇”,如果我們找了很久的工作都沒有拿到一份滿意的offer,無論是心理還是身體上都承受不住這種煎熬,那么我們可以暫且先在外包公司進行工作,從而積累工作經驗,等到時機繼續尋找符合自己的滿意公司。
但是在外包公司工作一定不要超過兩年,要提前去策劃自己如何跳出這個環境,從而找到更加有發展潛力的平臺進行學習和發展。這些都是需要自己去運營的。在整個過程中,“學習”是主要改變的方式,通過鞏固和學習技術與知識,我們可以增加自身的競爭力,畢竟我們還是做的技術行業,還是要用自身的技術能力來說話。
我的外包測試收獲
在外包公司也不一定全無收獲,我在外包公司這幾年也收獲不少,感慨良多!
技術方面
- 熟悉了大廠的流程,掌握各種工具
- 掌握了新的技術棧,如mysql都是在外包的這兩年學習的
- 代碼習慣更好了,
- 編程思想上的提升
- 問題定位速度的提升。
- 工作能力方面
- 更有耐心了,同事之間的交流也是很有禮貌
- 更能抗壓了,有時候測試壓力挺大的,只能多加班,有時候一個月工作日都在加班,最少每個月有15天的加班
- 更有效率了,簡單的東西有時候很快就可以完成
生活方面
體重增加,因為伙食好了,現在早晚餐都包了,另外運動少了,基本沒什么運動。
我之所以做了外包,是因為那時候剛來深圳,又沒有找到合適的工作,就想先做一年看看,沒想到這一做就是兩年多,時間真的過的很快,不管是有意義的過還是頹廢的過,都一樣的快。
自動化測試學習建議
完全按照視頻里的操作方法,用視頻里的網站,按部就班的寫代碼,效果不大,并不是說沒有必要。因為課程里所使用的網站都是老師“精心挑選”的,主要針對某個模塊某個知識點而來的,用來做例子的功能也是最簡單,主要目的是讓學員明白當前所講的知識點。
但是在實際應用的過程中肯定會比這復雜。所以建議在按照視頻里的例子練習完成后,多拿一些常用的網站或者工作中正在使用的網站多做練習,這樣我們往往會獲取到一些課程里沒有的知識。
一開始不會沒關系,就是照著現有腳本抄也要練習,因為只有練習才能熟能生巧。
因為我之前是有代碼基礎的,所以在第一次學習的過程中將所有代碼相關的課程都跳過了,所以導致了知識的斷層。第二次學習的過程中,是將課程從頭到尾的完整的看了一遍并進行了實際操作,才發現,之前被我跳過的內容隱藏了一些我從前并不知道的知識點。
第一次學習時,學習完腳本錄制之后,就停止學習了,并沒有繼續學習后續的內容。
第二次學習后發現,用錄制的方式寫腳本是很low的,很有局限性,并不能滿足所有的需求,后來用WebDriver和UnitTest才是真正的高級,解決腳本錄制不能解決的問題。
我們學習完自動化之后,不要學習完就行了,而要積極的將其應用到我們日常的工作中,如果放著不用,一段時間之后我們學習到的知識都會慢慢遺忘。將其應用到工作中后,不僅能對技術進行不斷練習、優化、升級,還能提高工作效率,何樂而不為呢?
這是我自學自動化的歷程,走了不少彎路,也沒有專人的指導,只能靠自己去摸索,希望我自己犯的錯誤能讓大家引以為戒。
目前自動化測試方向大概有以下幾個:
- 輔助測試腳本方向:以Shell,Python為主來簡化重復的工作,過濾日志等;
- 接口自動化測試方向:Python+Unittest+HtmlTestRuner+Jenkins和Java+Httpclient+TestNG+Jenkins,當然還有很多其他二次開發的框架或工具,不過核心是一樣的;
- 頁面自動化方向,主要有Python+Webdrver+HtmlTestRunner+Jenkins,Java+Webdriver+TestNG+Jenkins,以及其他的框架和工具;
- App自動化測試方向:以Robotium+Java+TestNG+Jenkins,
- Appium+Java+TestNG+Jenkins,Appium+Python+HtmlTestRunner為主。
當然這里介紹的都是簡單的,最基本的實現方案,作為入門學習比較合適。其他五花八門的二次開發的框架,包含眾多功能的方案留待你以后提升。先從這幾方面了解入手,選擇一個語言體系,建議從接口自動化入后,然后再去學習頁面和app。
全網首發-涵蓋16個技術棧
- 第一部分,測試理論(測試基礎+需求分析+測試模型+測試計劃+測試策略+測試案例等等)
- 第二部分,Linux( Linux基礎+Linux練習題)
- 第三部分,MySQL(基礎知識+查詢練習+萬年學生表經典面試題匯總+數據庫企業真題)
- 第四部分,Web測試
- 第五部分,API測試
- 第六部分,App測試
- 第七部分,管理工具
- 第八部分,Python基礎(Python基礎+編程題+集合+函數+Python特性等等)
- 第九部分,Selenium相關
- 第十部分,性能測試
- 第十一部分,LordRunner相關
- 第十二部分,計算機網絡
- 第十三部分,組成原理
- 第十四部分,數據結構與算法
- 第十五部分,邏輯題
- 第十六部分,人力資源
軟件測試基礎
- 軟件測試的步驟是什么?
- 如何錄制測試腳本?
- 應該考慮進行如何測試的測試方法
- 怎樣估計測試工作量?
- 測試設計的問題
- 當測試過程發生錯誤時,有哪幾種解決辦法?
- 測試執行的問題
- 測試評估的目標
- 如何提高測試?
- C/S模式的優點和缺點
- B/S模式的優點和缺點
- …
Linux
- grep和find的區別? grep 都有哪些用法?
- 查看IP地址?
- 創建和刪除一個多級目錄?
- 在當前用戶家目錄中查找haha.txt文件?
- 如何查詢出tomcat的進程并殺掉這個進程,寫出linux命令?
- 動態查看日志文件?
- 查看系統硬盤空間的命令?
- 查看當前機器listen 的所有端口?
- …
Python編程
- 統計python源代碼文件中代碼行數,去除注釋,空行,進行輸出?
- python調用cmd并返回結果?
- 冒泡排序
- 1,2,3,4 這4個數字,能組成多少個互不相同的且無重復的三位數,都是多少?
- 請用 python 打印出 10000 以內的對稱數(對稱數特點:數字左右對稱,如:1,2,11,121,1221 等)
- 給定一個整數 N,和一個 0-9 的數 K,要求返回 0-N 中數字 K 出現的次數
- 判斷 101-200 之間有多少個素數,并輸出所有的素數
- 一個輸入三角形的函數,輸入后輸出是否能組成三角形,三角形類型,請用等價類- 劃分法設計測試用例
- …
MySQL數據庫
- 你用的Mysql是哪個引擎,各引擎之間有什么區別?
- 如何對查詢命令進行優化?
- 數據庫的優化?
- Sql注入是如何產“生的,如何防止?
- NoSQL和關系數據庫的區別?
- MySQL與MongoDB本質之間最基本的差別是什么
- Mysql數據庫中怎么實現分頁?
- Mysql數據庫的操作?
- 優化數據庫?提高數據庫的性能?
- 什么是數據的完整性?
- …
Web測試
- Web測試和app測試區別?
- WEB測試環境搭建和測試方法
- WEB測試教程
- WEB測試要點及基本方法
- Web測試頁面總結
- …
接口測試
- 什么是接口
- 如果模塊請求http改為了https,測試方案應該如何制定,修改?
- 常用HTTP 協議調試代理I具有什么?詳細說明抓取HTTPS協議的設置過程?
- 描述TCP/IP協議的層次結構,以及每一-層中重要協議
- jmeter,一個接口的響應結果如下:
- 接口產生的垃圾數據如何清理
- 依賴第三方的接口如何處理
- 測試的數據你放在哪?
- 什么是數據驅動,如何參數化?
- …
性能測試
- 你認為性能測試的目的是什么?做好性能測試的工作的關鍵是什么?
- 服務端性能分析都從哪些角度來進行?
- 如何理解壓力測試,負裁測試以及性能測試?
- 如何判斷是否有內存泄漏及關注的指標?
- 描述軟件產“生內存泄露的原因以及檢查方式。(可以結合- 種開發語言進行描述)
- 簡述什么是值傳遞,什么是地址傳遞,兩者區別是什么?
- 什么是系統瓶頸?
- …
selenium自動化
- 如何開展自動化測試框架的構建?
- 如何設計自動化測試用例:
- webdriver如何開啟和退出一個瀏覽器?
- 什么是自動化測試框架?
- Selenium是什么,流行的版本有哪些?
- 你如何從命令行啟動Selenium RC?
- 在我的機器端口4444不是免費的。我怎樣才能使用另一個端口?
- 什么是Selenium Server,它與Selenium Hub有什么不同?
- 你如何從Selenium連接到數據庫?
- 你如何驗證多個頁面上存在的一個對象?
- XPath中使用單斜杠和雙斜杠有什么區別?
- 如何編寫SeleniumIDE/ RC的用戶擴展?
- 如何在頁面加載成功后驗證元素的存在?
- 你對Selenium Grid有什么了解?它提供了什么功能?
- 如何從你的Java Class啟動Selenium服務器?
- Selenium中有哪些驗證點?
- 什么是XPath?什么時候應該在Selenium中使用XPath?
…
計算機與網絡
- 一臺計算機的IP是192.168.10.71子網掩碼255.255.255.64與192.168.10.201 …
- 請簡述DNS、活動目錄、域的概念。
- 10M兆寬帶是什么意思?理論下載速度是多少?
- 什么是IP地址?
- OSI七層網絡模型的劃分?
- TCP和UDP有什么不同?
- HTTP屬于哪一層的協議?
- HTTP和HTTPS的區別?
- cookies和session的區別?
- HTTP的get請求和post請求的區別?
- HTTP1.0和HTTP1.1有什么區別
- TCP的連接建立過程,以及斷開過程?
- 客戶端使用DHCP獲取IP的過程?
- 寫出某個網段的網絡地址和廣播地址?
- …
人力資源
- 你的測試職業發展是什么?你自認為做測試的優勢在哪里?
- 你找工作時,最重要的考慮因素為何?
- 為什么我們應該錄取你?
- 請談談你個人的最大特色。
- 一個測試工程師應具備那些素質和技能?
- 還有問一下你是怎樣保證軟件質量的,也就是說你覺得怎樣才能最大限度地保證軟件質量?
- 為什么選擇測試這行?
- 如果我雇用你,你能給部門帶來什么貢獻?
- …
最后
這份文檔,對于想從事【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!
完整版資料獲取方式: