BAT大廠都愛出的十道自動化測試面試題,看到就是賺到
前言
“面試造航母,工作擰螺絲。”
這句話在網際網路行業可以說是很真實了,但作為面試官來說,大都時候的一場面試,並不是主要面你需要的崗位,而是看你掌握的能力把你安排到缺少的崗位
因此初面的範疇都是很廣的,什麼演算法知識、工具掌握、語言基礎甚至些前端運維的知識都很常見
這裡就給大家舉例十個,在面試自動化測試的時候,所謂的大廠都愛出的面試題
我和一些朋友組建了一個公眾號自動化測試 資料大全,可以在公眾號內領取我的面試題資料,朋友們也收集了其他方面的自動化測試的資料等這大家來領取!!!
移動端可以點選這個這裡
目錄
一.專案
上一個專案做的什麼、在專案中負責的什麼等類似的問題
如果是實習崗,便會問你最近在學些什麼,碰到過什麼問題
主要是和你交流簡歷上寫的經歷,會挑選你簡歷上的一些資訊進行詢問,並順著你的回答深入詢問。
這一步是為了篩選你的個人經歷的“厚度”和真實性,在簡歷上就要記得寫自己擅長的方面,有一些拿捏不住的經歷一定不要虛誇記錄
二.http和https的區別是什麼
這個問題會設計到前端問題,做一個自動化測試只有三種:UI自動化測試,介面自動化測試,效能自動化測試,而前端和介面密不可分,連http的報文都不能完全掌握,就沒必要把你往介面崗位輸送了
參考答案
HTTP 協議傳輸的資料都是未加密的,也就是明文的,因此使用 HTTP 協議傳輸隱
私資訊非常不安全,為了保證這些隱私資料能加密傳輸,於是網景公司 設計了SSL(Secure Sockets Layer)協議用於對 HTTP 協議傳輸的資料進行加密,從而就誕生了 HTTPS。簡單來說,HTTPS 協議是由 SSL+HTTP 協議構建的可進行加密傳輸、身份認證的網路協議,要比 http 協議安全。
HTTPS 和 HTTP 的區別主要如下:
總的來說: HTTPS=SSL+HTTP
1、https 協議需要到 ca 申請證書,一般免費證書較少,因而需要一定費用。
2、http 是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的 ssl 加
密傳輸協議。
3、http 和 https 使用的是完全不同的連線方式,用的埠也不一樣,前者是 80,
後者是 443。
(這個只是預設埠不一樣,實際上埠是可以改的)
4、http 的連線很簡單,是無狀態的;HTTPS 協議是由 SSL+HTTP 協議構建的可進
行加密傳輸、身份認證的網路協議,比 http 協議安全。
HTTP 請求報文與響應報文格式
請求報文包含三部分:
a、請求行:包含請求方法、URI、HTTP 版本資訊
b、請求頭部(headers)欄位
c、請求內容實體(body)
響應報文包含三部分:
a、狀態行:包含 HTTP 版本、狀態碼、狀態碼的原因短語
b、響應頭部(headers)欄位
c、響應內容(body)實體
三.介面測試細節方面的面試題
不管你有無通過上一個問題,面試官趨於保守,會再問一個介面相關的問題,這個跡象可能會被看做是刻意刁難,但是要知道,誰也不願放過一個潛在的人才,多幾重問題才能確定一個人是否合適一個崗位
關乎介面測試細節方面的問題有很多,基本是考慮介面測試深度,以下問題由淺入深
1.json 和字典的區別?
對基礎資料型別的考察
2.測試的資料你放在哪?
資料與指令碼分離
3.引數化
資料驅動模式
4.下個介面請求引數依賴上個介面的返回資料
引數關聯
5.依賴於登入的介面如何處理
token 和 session 的管理
6.依賴第三方的介面如何處理
mock 模擬資料返回
7.不可逆的操作,如何處理,比如刪除一個訂單這種介面如何測試
造資料
8.介面產生的垃圾資料如何清理
資料清理
9.一個訂單的幾種狀態如何全部測到,如:未處理,處理中,處理失敗,處理成功
造資料,改資料庫訂單狀態
10.python 如何連線資料庫操作?
11.其它的就是執行出報告、程式碼管理(git)、執行策略和持續整合 jenkins相關了
以上系列問題的參考答案我放在公眾號自動化測試 資料小屋,公眾號內回覆【小家洛】即可進行領取
四.Linux指令
你常用的Linux指令有哪些?舉例幾個你用過的Linux指令,並說出他們的用處
Linux指令是一個我喜歡出的問題,因為通過Linux指令使用的熟練與否能看出一個人網際網路工作的年限,與是否有專業學習過計算機基礎
這裡拿出十個測試人員常用的linux指令與作用
- ls 檢視目錄中的檔案
- cd /home 進入 ‘/ home’ 目錄;cd … 返回上一級目錄;cd …/… 返回上兩級目錄
- mkdir dir1 建立一個叫做 ‘dir1’ 的目錄
- rmdir dir1 刪除一個叫做 ‘dir1’ 的目錄 (只能刪除空目錄)
- rm -f file1 刪除一個叫做 ‘file1’ 的檔案’,-f 引數,忽略不存在的檔案,從不給出提示。
- rm -rf /mulu 目錄下面檔案以及子目錄下檔案
- cp /test1/file1 /test3/file2 如將/test1 目錄下的 file1 複製到
/test3 目錄,並將檔名改為 file2 - mv /test1/file1 /test3/file2 如將/test1 目錄下的 file1 移動到
/test3 目錄,並將檔名改為 file2 - mv * …/ Linux 當前目錄所有檔案移動到上一級目錄
- ps -ef|grep xxx 顯示程序 pid
五.測試工具
你常用的測試工具?上個專案中你用過什麼測試工具?等類似工具的問題
其實一般會拿兩個工具讓你比較,說一下優劣
這類問題是一個表現的機會,一定要記得旁徵博引,將現有話題引到自己擅長的工具上面去
六.元素定位
怎麼確定一個頁面元素是否存在?常用的元素定位方法?
上面說過了,自動化測試只分UI自動化測試、介面自動化測試和效能自動化測試,元素定位就主要在UI自動化測試階段提問
參考答案:
方法一:用 try…except…
def is_element_exsist(driver, locator):
'''
判斷元素是否存在,存在返回 True,不存返回 False
:param locator: locator 為元組型別,如("id", "yoyo")
:return: bool 值,True or False
'''
try:
driver.find_element(*locator)
return True
except Exception as msg:
print("元素%s 找不到:%s" % (locator, msg))
return False
if __name__ == '__main__':
loc1 = ("id", "yoyo") # 元素 1
print(is_element_exsist(driver, loc1))
方法二:結合 WebDriverWait 和 expected_conditions 判斷from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
def is_element_exsist2(driver, locator):
'''
結合 WebDriverWait 和 expected_conditions 判斷元素是否存在,
每間隔 1 秒判斷一次,30s 超時,存在返回 True,不存返回 False
:param locator: locator 為元組型別,如("id", "yoyo")
:return: bool 值,True or False
'''
try:
WebDriverWait(driver, 30,
1).until(EC.presence_of_element_located(locator))
return True
except:
return False
if __name__ == '__main__':
loc1 = ("id", "yoyo") # 元素 1
print(is_element_exsist2(driver, loc1))
七.遇到過的問題
你的專案碰到過什麼問題?是如何解決的?
這也是個考驗型的問題,可以簡單地說說平常遇到過的坑,這個問題主要是用來看個人深度的
八.測試用例
水杯,電梯等都是經典測試用例面試題,還有問:說下常用的黑盒測試方法?什麼情況下用哪種?
自動化測試超脫與點點點,但是離不開點點點,雖說進入了技術的範疇,但是還是逃不開業務範圍
參考答案
- 功能
-
水倒水杯容量的一半
-
水倒規定的安全線
-
水杯容量刻度與其他水杯一致
-
蓋子擰緊水倒不出來
-
燙手驗證
- 效能
-
使用最大次數或時間
-
掉地上不易損壞
-
蓋子擰到什麼程度水倒不出來
-
保溫時間長
-
杯子的耐熱性
-
杯子的耐寒性
-
長時間放置水不會漏
-
杯子上放置重物達到什麼程度杯子會被損壞
- 介面
-
外觀完整、美觀
-
大小與設計一樣(高、寬、容量、直徑)
-
拿著舒服
-
材質與設計一樣
-
杯子上的圖案掉落
-
圖案遇水溶解
- 安全
-
杯子使用的材質毒或細菌的驗證
-
高溫材質釋放毒性
-
低溫材質釋放毒性
- 易用性
-
倒水方便
-
喝水方便
-
攜帶方便
-
使用簡單,容易操作
-
防滑措施
- 相容性
- 杯子能夠容納果汁、白水、酒精、汽油等。
- 震動測試
- 杯子加包裝(有填充物),六面震動,檢查產品是否能應對鐵路/公路/航空運輸。
- 可移植性
- 杯子在不同地方、溫度環境下都可以正常使用。
九.字串
手撕程式碼,必不可少,這個不多加贅述了,題目太多,堪稱題海
十.你還有什麼想問的嗎
這個問題估計在面試場景的出現率會有90%以上,面試是一個有來有回的過程,而不是單方面的詢問
我還是挺喜歡在這個環節有不少問題的人,即使他不會選擇我的公司
這裡提出幾個常見提問
1.貴公司目前的專案在做那個階段?
2.貴公司用的測試框架是什麼
3.入職以後我的主要職責在那個方面
4.您對我的這次面試有什麼評價嗎(這個很重要)
後話
以上這些面試題都是非常容易被面試官問到的,建議儲存,面試之前反覆觀看,最後祝願所有的面試者都能夠找到自己滿意的工作。