有一種打工人的羨慕,叫做“大廠”。
真是年少不知大廠香,錯把青春插稻秧。
但是,在深圳有一群比大廠員工更龐大的群體,他們頂著大廠的“名”,做著大廠的工作,還可以享受大廠的伙食,卻沒有大廠的“命”。他們就是大廠的“外包員工”。
想當(dāng)年我也是外包中的一員,在騰訊做過2年的外包,也經(jīng)歷過很多人經(jīng)歷過的外包的苦,所謂的外包,就是企業(yè)為減少負擔(dān),把一些非核心業(yè)務(wù)承包給外包公司來完成,這些工作往往是階段性、輔助性,沒有什么技術(shù)含量的工作,而且由于不是與大廠簽訂勞動合同,與正式職工相比,這些外包人員更像是大廠沒有編制的“臨時工”。
最近收到不少朋友私信,說馬上面臨就業(yè),在找工作的過程中,有不少軟件測試的外包公司給我打電話讓去面試,究竟要不要去?這篇文章給大家說說我這2年的外包經(jīng)驗,希望對于正在找工作的你有所幫助。

外包公司的特點有哪些?
首先,特點就是人員流動性特別大,接著上面例子,因為可能干了三四個月,該項目做完了,這10個人估計都得走,然后這10個人又會被外包公司派去其他的甲方公司面試,面試成功才有工資拿,沒面試成功只有底薪2200。
如果一個外包人員面試甲方公司,一直都沒有面試通過,那他就是只能一直拿底薪,大約每天70塊錢的收入,所以,有些就覺得沒勁,干脆辭職。
還有一個就是:你如果要入職外包公司的話,一般要經(jīng)過兩面,一面外包,過了外包的面試,才有第二輪甲方公司的面試,這些外包的人事都會提前通知你,去哪個甲方公司面試,然后第二面你又要去甲方面試,如果這個甲方公司面試通過了,就會給你發(fā)offer,讓你入職簽合同,如果第一個甲方公司面試沒通過,那就去第二個甲方公司,依次類推,直到你面試的甲方公司通過才可以入職簽合同。
關(guān)于簽合同和福利待遇
薪酬福利
一般而言外包員工的薪酬福利是遠低于正式員工的
正式員工:薪資之外還有五險一金和公司福利等;而外包的價格頂多是崗位的正常薪資。
職業(yè)發(fā)展
外包員工很快會遇到瓶頸,因為只有非核心崗位會外包,這類崗位缺乏長期發(fā)展的空間。
正式員工,有成績或者呆的年限夠長都回有相應(yīng)的回報。
工作穩(wěn)定性
外包是靈活用工的一種,意味著公司一旦需要裁員,首先考慮的是外包員工。
正式員工,會相對穩(wěn)定,裁員,會獲得法律的相應(yīng)補償。
合同簽訂
外包員工的合同,是和第三方外包公司簽訂。
正式員工的合同,是直接和公司簽訂。
工作范圍
外包公司,一般是一對多,同時服務(wù)多家企業(yè)。
正式員工,一般是一對一,只服務(wù)于所在公司。
外包公司可不可以進呢?
一般情況下,我不建議大家選擇去外包公司,因為從各個方面綜合比較,外包公司都是不利于我們發(fā)展的。但是外包公司的存在又是大多數(shù),我們應(yīng)該怎么辦呢?我的建議是,根據(jù)自身情況做“符合事實的選擇”,如果我們找了很久的工作都沒有拿到一份滿意的offer,無論是心理還是身體上都承受不住這種煎熬,那么我們可以暫且先在外包公司進行工作,從而積累工作經(jīng)驗,等到時機繼續(xù)尋找符合自己的滿意公司。
但是在外包公司工作一定不要超過兩年,要提前去策劃自己如何跳出這個環(huán)境,從而找到更加有發(fā)展?jié)摿Φ钠脚_進行學(xué)習(xí)和發(fā)展。這些都是需要自己去運營的。在整個過程中,“學(xué)習(xí)”是主要改變的方式,通過鞏固和學(xué)習(xí)技術(shù)與知識,我們可以增加自身的競爭力,畢竟我們還是做的技術(shù)行業(yè),還是要用自身的技術(shù)能力來說話。
我的外包測試收獲
在外包公司也不一定全無收獲,我在外包公司這幾年也收獲不少,感慨良多!
技術(shù)方面
1.熟悉了大廠的流程,掌握各種工具
2.掌握了新的技術(shù)棧,如mysql都是在外包的這兩年學(xué)習(xí)的
3.代碼習(xí)慣更好了,
4.編程思想上的提升
5.問題定位速度的提升。
工作能力方面
1.更有耐心了,同事之間的交流也是很有禮貌
2.更能抗壓了,有時候測試壓力挺大的,只能多加班,有時候一個月工作日都在加班,最少每個月有15天的加班
3.更有效率了,簡單的東西有時候很快就可以完成
生活方面
體重增加,因為伙食好了,現(xiàn)在早晚餐都包了,另外運動少了,基本沒什么運動。
外包轉(zhuǎn)正
其實很多外包一開始進去,都是懷著轉(zhuǎn)正的目標去努力的,也有成功的,但是還是挺少的。我們組17個人就我一個外包,算是比較有希望的了,我各季度評分也是經(jīng)常A與S,但是由于一些原因我覺得他們還是不會考慮我轉(zhuǎn)正的問題。
對比于社招,學(xué)歷不占優(yōu)勢,只是普通本科,現(xiàn)在卷的很厲害,組中后臺校招基本是重點院校研究生,社招是中大+華為這樣的經(jīng)驗,前端的話也基本都是重點本科。剛進去的時候一個實習(xí)的產(chǎn)品是清華研究生,后面看到他入職了。所以即使你轉(zhuǎn)正了,你和這樣一群人競爭,壓力也會很大,除非你真的很努力,很優(yōu)秀。
沒有技術(shù)優(yōu)勢,沒有做過十分突出的成績,你沒有KPI,沒有OKR,根本無法評判你做的好不好
工作強度真的挺強的,想找個稍微輕松一些的
以后都不想做外包了
我之所以做了外包,是因為那時候剛來深圳,又沒有找到合適的工作,就想先做一年看看,沒想到這一做就是兩年多,時間真的過的很快,不管是有意義的過還是頹廢的過,都一樣的快。但是,以后都不想做外包了...
所以還是要在閑暇時間提升自己的技術(shù)水平了,能通過學(xué)習(xí)掌握更多的測試技能,進入更好的平臺,獲取更好的工作。但事與愿違,在深圳、北京、上海軟件人才遍地的城市,你憑借著不高的學(xué)歷和軟件測試外包的工作經(jīng)驗,很難找到更心儀的工作。
我總結(jié)完此次經(jīng)歷,認為有以下三個關(guān)鍵點幫我達成面霸的稱號。
1.調(diào)節(jié)好心態(tài):心態(tài)是制勝的前提
2.做好充分的準備:成為面霸的關(guān)鍵
3.做好時間規(guī)劃:成功的保證。
第一點:心態(tài)
第一個講調(diào)節(jié)好心理狀態(tài)是因為這個是決定你成敗的非常關(guān)鍵的前提,因為一旦你進入了換工作的階段,你的心理就進入了“我是傻X和我很牛X”的薛定諤的貓的疊加態(tài)中。你會不停的重新評估自己,但是剛開始的狀況一般都很不樂觀,很可能會給你的心態(tài)帶來致命的打擊,比如我沒有準備充分直接面試導(dǎo)致六連掛,讓我陷入了很長時間的抑郁狀態(tài)中。如果沒有做好調(diào)整,之后的面試準備都沒辦法順利進行,甚至你在面試時表現(xiàn)出來的不自信都會導(dǎo)致你被pass,形成惡性循環(huán)。
第二點:經(jīng)驗及面試題分享
常見問題
軟件測試的目的是什么?
1.為了發(fā)現(xiàn)程序中的缺陷,保證軟件質(zhì)量。 2.滿足用戶需要
軟件測試的一般流程是怎么樣的?
1.項目立項后,參加需求評審
2.根據(jù)需求文檔制定測試用例,然后進行用例評審
3.項目提測后,執(zhí)行用例,問題記錄cp4,及時有效的跟進問題的解決情況
4.測試環(huán)境測試通過后,產(chǎn)品進行驗收測試
常見的測試類型有哪些?分別說明一下?
1.黑盒測試,即常說的功能測試
2.白盒測試,即單元測試,通常由開發(fā)來完成,對程序類和方法的測試
3.兼容性測試,主要是瀏覽器的兼容測試
4.集成測試,即各個模塊的測試
5.系統(tǒng)測試,各模塊測試完成后,對整個系統(tǒng)的完整性測試
6.回歸測試
7.驗收測試
測試用例設(shè)計常用的方法有哪些?詳細說明一下?
最常用的3種 等價類劃分、邊界值、場景法
1.等價類劃分 分為有效等價類和無效等價類,將測試的范圍劃分成幾個互不相交的子集,從每個子集選出若干個有代表性的值作為測試用例
2.邊界值:選取正好等于、剛剛大于、剛剛小于邊界的
3.場景法:劃分不同的場景,然后逐一進行驗證
解釋下單元測試,集成測試,系統(tǒng)測試以及驗收測試?
1.單元測試,通常由開發(fā)來完成,對程序類和方法的測試
2.集成測試,即各個模塊的測試
3.系統(tǒng)測試,各模塊測試完成后,對整個系統(tǒng)的完整性測試
4.驗收測試,測試環(huán)境測試通過后,由產(chǎn)品或者用戶進行驗收測試,看看產(chǎn)品的實現(xiàn),是不是滿足了他們當(dāng)初設(shè)計的需求
探索性測試是什么?應(yīng)該怎么做?
在需求文檔不完善或者壓根沒有需求文檔的情況下,根據(jù)經(jīng)驗進行摸索嘗試性進行的測試,是測試過程中形成的基本的思維性測試
什么是冒煙測試,如何有效的開展冒煙測試?
1.軟件最基本的功能測試,通常由開發(fā)完成,只有冒煙點都通過的產(chǎn)品,交由測試,才會比較有意義 2.冒煙測試貫穿于測試的各個階段,比如集成測試,系統(tǒng)測試等
一條高質(zhì)量的缺陷記錄(Bug)應(yīng)該具有哪些內(nèi)容?
1.記錄bug產(chǎn)生的前提條件
2.產(chǎn)生bug的詳細操作步驟
3.截圖,直觀的展示問題,有效幫助開發(fā)快速定位問題
缺陷的生命周期是怎樣的?
1新建–提交–分配–修復(fù)–驗證–驗證通過關(guān)閉–驗證不通過reopen
Alpha測試與Beta測試的區(qū)別?
1.Alpha測試:把用戶請到開發(fā)方的場所來測試,用戶在模擬實際操作環(huán)境下進行的測試,由開發(fā)記錄下用戶反饋的問題
2.beta測試:當(dāng)開發(fā)和測試根本完成時所做的測試,很多不同的用戶,在不同的環(huán)境下操作,然后用戶把產(chǎn)生的問題,定期發(fā)給開發(fā)者,進行修復(fù)(開發(fā)不在現(xiàn)場)
3.通常現(xiàn)有alpha測試,后有bata測試
你認為做好軟件測試應(yīng)該具備哪些素質(zhì)?
1.較好的技術(shù)能力
2.對業(yè)務(wù)邏輯的理解
3.良好的溝通能力
4.解決和分析事情的能力
作為測試人員,在與開發(fā)人員溝通過程中,如何有效的提高溝通效率和效果?
1.耐心的跟開發(fā)溝通,跟他闡述不過的重要性 說服他解決問題
2.充分尊重對方,哪怕再低級的bug都不要小看他
3.寬以待人,設(shè)身處地為他人著想 即使開發(fā)因為壓力或者其他原因不肯合作 也要心平氣和的跟他溝通 討論bug的優(yōu)先級
4.平時多跟開發(fā)溝通 無論是工作還是生活上的問題,但是測試一定要有自己的原則 對測試的產(chǎn)品質(zhì)量負責(zé)
5.自己先定位問題 幫助開發(fā)縮小排查范圍
你覺得軟件測試工程師在一個團隊中,都需要做什么?有什么價值?
1.在產(chǎn)品需求會上 可以站在用戶的角度 提一些貼合用戶需求的建議
2.測試階段,根據(jù)自己對項目的了解和專業(yè)的測試技能 盡可能在項目上線前測出更多問題 保證產(chǎn)品質(zhì)量
3.對測試過程中出現(xiàn)的問題 合理有效的進行風(fēng)險評估。
4.對質(zhì)量嚴格把關(guān) 測試不通過的 一定不能發(fā)布生產(chǎn)
你對軟件測試最大的興趣是什么?
1.行業(yè)前景比較好,而且近些年 越來越多企業(yè)更注重測試
2.測試時間越久 面臨的困難和挑戰(zhàn)也越多,解決問題的同時 也提高了自身的能力
3.自己的性格比較外向開朗 很容易跟產(chǎn)品和開發(fā)溝通 做起事情可以事半功倍
你對自己的職業(yè)規(guī)劃是什么?
先做高級測試 有機會的話,想往管理方向發(fā)展,目前在攜程做測試組長,也為以后管理做儲備
在你以往的工作中,發(fā)現(xiàn)的影響大或印象深刻的Bug是什么?為什么?
印象深刻的bug:近期的一個項目,x發(fā)單n是發(fā)qmq消息,調(diào)用發(fā)單服務(wù)自動發(fā)單,測試過程中,我給開發(fā)提議加個手動發(fā)單–作為發(fā)單失敗或者未發(fā)單的補償,開發(fā)力爭 生產(chǎn)不會出現(xiàn)發(fā)單失敗的情況,但后來還是被我說服,在上線前,加個手動發(fā)單的功能。 上線第二天,公司qmq框架出現(xiàn)問題,產(chǎn)生消息消費的延遲,導(dǎo)致一段時間內(nèi)的訂單不能自動發(fā)單,這時候大家手動發(fā)單,解決部分訂單,事情過后,開發(fā)更加肯定了 我當(dāng)時的提的bug修復(fù)是正確的
在你以往的經(jīng)歷中,解決過的最困難的問題是什么?
環(huán)境問題,是所有測試人員都面臨的一個難題;解決的那么多問題中,測試環(huán)境無法使用,無法快速的介入測試,仍然是比較突出的。曾經(jīng)把一個長久未使用的環(huán)境,根據(jù)經(jīng)驗和clog定位,各個服務(wù)之間的調(diào)用,一步步完成調(diào)通
在你以往的工作或?qū)W習(xí)中,你最大的收獲是什么?學(xué)到了什么?
1.業(yè)務(wù)的積累
2.通過各種自動化,如UI自動化,job自動化,api自動化,不僅提升了自己編碼能力,也在每周的常規(guī)發(fā)布中,起到舉足輕重的作用
3.長期的測試過程中,提升了自己解決問題的能力
在沒有任何文檔的情況下,你如何開展測試?
1.盡量的去獲取其他的文檔吧,比如開發(fā)的一 些設(shè)計文檔—概要設(shè)計、功能設(shè)計、詳細設(shè)計
2.嘗試從網(wǎng)上找類似的項目文檔,如果幸運,可以從公司的資料庫找到類似的文檔
3.按照開發(fā)的接口或者設(shè)計文檔,按照功能模塊劃分,大致寫一些用例,然后進行摸索測試,在測試過程中逐漸完善自己的用例
測試用例設(shè)計問題
測試用例是什么?如何設(shè)計有效的測試用例?
為了測試某個產(chǎn)品,編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果 設(shè)計有效的測試用例:
1.明確需求,清晰的知道需求要實現(xiàn)哪些功能
2.根據(jù)需求文檔,拆分出功能點和測試測試要點
3.詳細的梳理業(yè)務(wù)需求,設(shè)計不同的業(yè)務(wù)場景,盡可能多的覆蓋,尤其重要的邏輯,顆粒度要精細
4.具體邏輯的設(shè)計方法,遵循邊界分析法,出問題最多的就在邊界值,然后用等價類劃分方法補充一些測試用例
5.UI測試,界面元素測試+樣式+操作控件設(shè)計+瀏覽器兼容性相關(guān)的用例
6.時間充足的情況下,設(shè)計接口的測試用例,從而保證接口數(shù)據(jù)的用等價類劃分方法補充一些測試用例完整性和正確性–目前攜程提倡測試先行的概念,接口要在項目提測前,完成api自動化測試
輸入三個整數(shù),判斷是否構(gòu)成有效的三角形,針對這個設(shè)計測試用例
首先要設(shè)計滿足三角形的條件,輸入的三個數(shù)必須大于0,且同時滿足任意兩邊之和大于第三邊。假設(shè)三條邊是A/B/C,則要滿足的條件為A>0,B>0,C>0,A+B>C,A+C>B,B+C>A。以此為例來進行設(shè)計即可 有效等價類:A>0,B>0,C>0
針對文件上傳功能,設(shè)計下測試用例
針對網(wǎng)上購物中訂單提交的過程,設(shè)計測試用例
測試管理問題
你認為測試經(jīng)理的工作職責(zé)和內(nèi)容是什么?
1.負責(zé)建立和維護一個有效的測試流程;
2.負責(zé)測試團隊的日常管理工作;
3.負責(zé)制定和安排測試計劃、測試工作;
4.帶領(lǐng)測試團隊進行程序測試工作、按照制定的測試計劃執(zhí)行,并監(jiān)督和控制測試工作的進程;
5.負責(zé)測試用例的質(zhì)量,開發(fā)高效的測試用例;
6.負責(zé)與其他部門的人員溝通協(xié)作,例如與開發(fā)人員和項目管理人員進行溝通,共同推動項目的順利進行;
7.負責(zé)測試團隊的培訓(xùn),培養(yǎng)團隊隊員的能力。
8.如果你作為測試Leader,你應(yīng)該怎么建立公司的測試體系并實施它?
9.說明你作為測試團隊的負責(zé)人,如何提高測試團隊的技術(shù)能力?
10.列舉你以往項目測試中遇到的風(fēng)險以及你如何處理的?
11.如果當(dāng)時間不充裕時,該如何安排測試?
12.列舉你曾經(jīng)做過的測試(你認為有技術(shù)含量的或者提高了測試管理能力的),并說下你從中如何受益?
13.在開發(fā)和測試存在不合作甚至對立的情況下,你如何平衡和協(xié)調(diào)工作?
自動化測試問題
1.你認為適合做自動化測試的標準是什么?
2.你認為什么類型的測試不適合做自動化測試?
3.UI自動化測試的優(yōu)點和缺點分別是什么?
4.在一個項目中目前還沒有進行自動化,如果我想開展自動化測試,我應(yīng)該怎么做(一般步驟)?
5.你認為該如何選擇最適合的自動化測試工具?
6.什么是自動化測試框架?一個好的自動化測試框架應(yīng)該具備什么元素?
7.說一下你寫過的測試框架的代碼目錄結(jié)構(gòu)是怎么樣的?
8.自動化測試框架的類型有哪些?
9.說一下你在實施自動化測試過程中好的代碼實踐?
10.自動化測試是否僅僅可以是實施在UI層?為什么?
11.你是否熟悉Selenium工具?說一下它是什么?
12.你是否還熟悉其它的自動化測試工具?各自簡單的介紹一下?
性能測試問題
1.什么是性能測試?為什么要進行性能測試?
2.性能測試的類型有哪些?
3.列舉下用戶會面對的性能問題和性能瓶頸?
4.列舉下性能測試中常涉及的性能計數(shù)?
5.性能測試中并發(fā)用戶點擊量是什么?如何實現(xiàn)?
6.性能測試進入和結(jié)束的標準是什么?
7.說一下在選擇性能測試工具之前需要考慮哪些東西?
8.在性能測試中,如何識別性能瓶頸?
9.在對應(yīng)用程序進行性能測試期間一般會執(zhí)行哪些活動?
10.性能測試中吞吐量是什么?
11.解釋下什么是耐力測試和尖峰測試?
尾聲
無論什么技術(shù),熱不熱門,學(xué)習(xí)都是不可間斷的,乘著年輕磨礪技術(shù)才是王道,不然在程序員這個后浪一波比一波洶涌的職業(yè)里混,你想吃青春飯都吃不了幾年。不過,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也帶過不少實習(xí)生、應(yīng)屆生,很多年輕人真的很努力在學(xué),加班加點工作賣力,但也就是差點火候,還是方法不對。
上面所有面試題及答案,以及一份配套的學(xué)習(xí)資源,你可以在公眾號:豆子熊,免費獲取
還有一份216頁軟件測試工程師面試寶典文檔資料。以及相對應(yīng)的視頻學(xué)習(xí)教程免費分享!,其中資料包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。