作了一兩年的功能測試後,突發發現能勝任所有工做,在已有的公司已經得不到任何技能方面的提高後。準備跳槽,說一下跳槽面試遇到的問題吧。linux
面試中軟國際的外包,中移物聯網。就我本人來講我是不肯意進外包的。可是很久沒有面試工做了,去試試水。面試
2019年2月15日上午十點的面試時間,爲了此次面試我提早進行一番準備,包含WEB功能測試的13個測試點算法
包含:1 輸入框spring
2 搜索測試sql
3 添加修改測試編程
4刪除測試設計模式
5登陸和註冊模塊測試安全
6圖片上傳測試網絡
7搜索頁面測試app
8頁面易用性測試
9 關於兼容測試
10 網頁的連接測試
11 業務流程測試
12 安全測試
13 網頁測試中應該注意的其餘問題
上面就是我面試前準備的面試的測試點,固然測試點還包含對應的用例設計方法,測試方法之類的。
也準備了APP測試的具體流程方面:
APP測試其實總的來講包含11個步驟
1 功能測試
2 性能測試
3兼容測試
4安全測試
5易用性測試
6 交叉事件
7 更新升級
8 安裝卸載
10 接口測試
11 容量測試
如上的測試流程我均是都有所準備的,接下來我準備的性能測試的準備工做
性能測試若是看文章講解實在太多了,我概括了一下應該包含以下一些方法:
7個測試步驟:
1 肯定性能需求
2 肯定經過標準
3 設計測試用例
4 搭建測試環境
5 執行測試,並 監控
6分析測試結果,調優
7測試報告
平常流程應該是包含五部:
1 基準測試、
2 平常壓力測試
3 峯值壓力測試
4 容量測試
5 穩定性測試
如前文所述:對於對應的測試點或者流程步驟對應的知識都有惡補。
緊接着準備的內容是:關於WEB自動化和APP自動化方面的內容;
實在的來講相對於性能,我決定自動化是比較不容易的,緣由有兩點
1 來自於編程語音方面的。
2 來自於你對一些處理異常的思路
我準備的關於APP自動化測試方面的內容,appium,selenium全套環境搭建,這些環境都是基於Java的。
其實自動化看似複雜其實流程挺簡單的:
仔細想一想就包括以下3點:
1 元素定位
2 元素操做
3 頁面切換
看似很是簡單的步驟,你要把它作好實在不容易!如前文說的來自於語音的問題。
接下來準備的是各種測試文檔的編寫。
包含測試計劃,測試方案,測試用例,測試報告他們的測試點分別是:11,8,17,10
什麼是11,8,17,10?他是指的關注的元素:
這麼給你說吧測試計劃包含11個類別:
分別是 1 封面,2修改履歷,3目錄,4概述,5組織形式,6需求分析跟蹤矩陣,7測試經過失敗標準,8測試掛起恢復條件,9測試階段人力分佈計劃,10測試交付物,11本方案的審批意見。
下面是測試方案應該包含的內容
1 封面,2修改履歷,3目錄,4概述,5測試環境,6測試策略,7測試風險評估與預防措施,8本方法的審批意見
下面是測試用例的17個維度
1功能模塊,2子模塊,3編號,4用例名稱,5優先級,6預製條件,7測試數據,8操做步驟,9 預期結果,10實際結果,11完成狀況,12用例編寫人,13用例編寫時間,14用例編寫方法,15用例執行人,16用例執行時間,17備註
談到這裏咱們是否是也應該關注一下測試報告,它包含10維度:
1 封面,2修改履歷,3目錄,4概述,5BUG記錄,6測試BUG分析,7測試用例執行狀況,8遺留問題,9評估結果,10改進建議。
如上準備之餘還關注了:TCP7層協議
1 物理層,2鏈路層,3網絡層,4傳輸層,5會話層,6表示層,7應用層
談到TCP不學一下IP的四層是不行的
1 網絡傳輸層,2Internet層,3傳輸層,4應用側,TCP/IP之間的對應關係要搞清楚。
後面我關注的TCP創建鏈接的3次握手
1客服端發送SYN報文,並指發送序號爲X SYN=1,seq=x
2 到服務端,服務端接到這個請求後,服務端發送SYN+ACK報文,並指發送序號爲Y, 在確認序號爲X+1 SYN=1,ACK=x+1,seq=y;
3客服端接到服務單發來的請求後;發送ack報文,並指發送序號爲z,在確認序號爲Y+1,ACK=Y+1,SEQ=Z傳輸到服務端,至此鏈接創建。
因爲TCP是全雙工的,斷開須要4次揮手才能斷開
1客服端發送FIN+ack報文,並指發送序號爲X FIN=1,ACK=1,seq=x,ack=y
2 服務端發送FIN+ACK報文,並指發送序號爲Y,確認序號爲X+1 FIN=1,ACK=1,seq=y,ack=x+1
服務端發送ACK報文,並指發送序號爲Z,在確認序號爲x+1 ACK=1,seq=z,ack=X+1
客服端發送ACK報文,並指發送序號爲x+1.在確認序號爲y+1 ACK=1,seq=x=1,ack=y+1至斷開鏈接。
你覺得上面的知識複習完了就完了?太天真
Linux,操做系統的各種命令必須掌握,MYSQL的掌握狀況怎麼樣?Mysql新建表,UPdate你會嗎?
前面一大攬子就是我所準備的面試,接下來是我前文提到的面試來了:
來到光電園,中移物聯網這個公司,它就是一棟樓,去前臺說面試,人家拿起表格找半天沒找到我,馬上反應過來我是外包,從這裏開始就能夠看出來,外包沒有任何歸屬感。
插一句,當時正兒八經的去面試中移物聯的,基本都是重慶大學,或者四川大學的同窗,沒有985 211這家公司不得要你的。除非你像我同樣是經過外包渠道面試。
打電話,而且通過保安確認事後,要我到12樓,好像叫智能鏈接部,電梯到這個樓層的按鈕是按不動的,智能到11樓,13樓的按鈕也按不動,具體是什麼緣由,只能是內部人員知道。
忘記說了,這是重慶的中移物聯網。
饒了半天爬樓梯到了12樓,一個小姐姐帶我去面試,到了辦公室,前面看到的是像網吧同樣的一排排的電腦,面試的地方還要一大堆爛七八糟的電腦鍵盤。左側找了兩個年輕人面試的我。等了一會。
固然咱們外包面試時不能進入小玻璃隔間裏面詳談的喲,在次說一下外包沒有任何歸屬感,第二次感受到。
整個面試感受很是不專業,按照你提供的項目問一下,主要談的是性能測試和自動化測試。
前面談得很順利,談到JMeter作性能測試的時候,由於我說了一句,JMete|作性能測試,咱們沒看結果樹,這個口誤,致使這個問題一個面試官糾結起碼二十分鐘!
由於以前咱們作性能主要是用loadrunner作的,比較全面,包含容量測試,壓力測試,並不是測試,結果導出分析,容量拐點之類的圖標很是容易看出來。
面試官問我:你不要結果數樹,你怎麼斷定測試結果達到預期。當時緊張沒說了,當咱們用JMete作測試的時候,能夠添加一個Eexcel看運行的結果,也能夠在斷言裏面添加一個summerreport的報告是能夠看到的。當時沒想到。糾結半天后面。
年輕的面試官又問了怎麼作的自動化,我談得很好。差很少十多分鐘。
後面胖一點的面試官問一個問題,當咱們的自動化測試,好比測試到下載百分之90卡住了,你如何解決這個問題,而且說明這個問題時自動化裏面常常遇到的,問我怎麼調試。
對於這個問題,我回答得很很差,當時回答的是,檢查定位的下載元素,元素定位的後臺路徑,和服務端存放位置等方面。可是明顯沒有達到面試官的需求。
如上兩個問題時我這次面試失敗的兩個點。
奔波在找工做的路上,一致在努力。其實看過其餘人的面試經驗,發現了我將來軟件測試的方向:
1 來自於語音方面的問題: Java的垃圾回收機制、內類的幾種方式、堆和棧區別 在寫自動化代碼中,用到了哪些設計模式? 最近讀過的關於軟件測試的書,文章?有哪些給你留下了比較深的印象? 我發現本身對測試的理解仍是不深,對Java中的不少概念仍是比較模糊。
2 Java: HashMap與HashTable的區別 Java: 對抽象類與接口的理解 設計模式:如何實現線程安全的單例模式 設計模式:監聽者模式 算法題:判斷一個鏈表是否有環 算法題:字符串左旋 算法題:二叉樹中,兩個節點間的最大路徑。
3 自動化框架的實現,爲何這麼作? 自動化過程當中遇到的難點,困難? 面向對象的特性,簡單闡述這些特性帶來的優點 接口與抽象類的區別 異常類處理機制 反射機制,在實際寫代碼中應用 final,finally,finalize的區別 有沒有用過spring框架 測試用例設計題:就linux下的CP命令設計測試用例。 若是讓你設計一些log監控系統,你會從哪些方面考慮?
4「自動化框架,關鍵字實現的Java代碼總共有多少行」,「Python程序共有多少個module」,「兩個Linux系統之間如何傳文件」 。
5自動化框架、流程。
6自動化測試執行時間,容錯處理機制 Robot Framework 框架的優缺點 自動化測試下一步的有哪些能夠提升的地方 Java的多態機制 平日工做是如何設計測試用例,講解下目前所測產品的一個模塊的測試用例設計策略 在整個項目週期中,測試要作哪些事情
7 C++和Java對內存的操做有何區別?Java的垃圾回收機制爲何不能避免內存泄露問題? 熟悉哪些網絡協議? 不一樣網段的兩臺機器是如何通訊的?
如上7個點事完善我的經驗的方向。
最後總的來講,不推薦外包公司幹活!我的觀點不喜勿噴。