-
Python相關的問題
- 語法基礎知識,常見的數據類型、語句表達、異常處理等
- 常用的模塊要熟悉,selenium的web自動化框架、unittest單元測試模塊、appium模塊、HTMLTestRunner模塊、HTMLReport模塊、操作系統相關os、platform模塊、re模塊
- 遇到其他的模塊ini文件解析、csv文件讀取、Excel文件讀寫模塊(xlrd、xlwt等),如果不會,就必應搜索。
-
HTTP協議及其常用頭信息。
- HTTP協議是一種超文本傳輸協議,處在OSI七層協議的應用層。是一種最常用的無狀態協議。
- 主要涉及兩種動作Get、Post,有什么區別?
- URL(網址)的地址格式是什么?協議名稱、域名/ip、端口號、資源路徑、多個參數,用&符合連接
- 訪問一個網址,會經歷什么狀態轉換?輸入地址、域名解析、發送Get請求報文、等待、收取相應報文,考點包括Fiddler抓包、Httpwatch等抓包工具。
-
域名解析DNS做什么的?怎么查?本地域名解析應該怎么配置?配置C:\Windows\System32\drivers\etc\hosts文件
- 你經常使用哪些工具查看HTTP報文?Chrome檢查、Fiddler、HttpWatch(只支持ie、Firefox)等工具。
-
發送Get請求,請舉出一些報文的字段名,並解釋其意義
原始格式:
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: BAIDUID=2104300EC605A9E08EA32612A01F262F:FG=1; BIDUPSID=2104300EC605A9E08EA32612A01F262F; PSTM=1509085581; FP_UID=fa3fdfd3b09abd048258f11bda75d52b; BD_UPN=12314353; ispeed_lsm=20
整理以后,如下圖所示:
-
解析Response響應報文,主要包括響應頭+響應體。請舉出一些響應頭字段。
- 請列舉一些HTTP code(狀態碼),分別代表什么意義?
-
常見端口有哪些?
- HTTP協議80、HTTPS協議,443
- ssh協議默認是22
- Ftp協議默認是21
- Oracle默認端口1521
- MySQL默認端口3306
- SQL Server默認端口1433
-
接口測試如何批量造測試數據?(高頻)
- 少量數據,用數據庫的存儲過程、SQL語句,適用於造的數據量比較小,(使用Excel做規划)
- (常用,有效)從生產環境導出以后做"脫敏"處理,再導入測試數據庫。
- 使用Jmeter中JDBC Sampler,編寫SQL語句,使用函數助手生成隨機參數,設置迭代次數,執行。參考鏈接:使用Jmeter造數據 http://blog.csdn.net/benpaobagzb/article/details/48036905
- 大量數據,編寫Python的腳本,生成一個sql的腳本,包括很多Insert into table_name (字段1,) values (值1,); 用sql語句或者工具,導入文件即可。MySQL里有load data infile *.sql文件
-
列舉一個你印象中最深的bug。列舉你在做自動化過程中遇到的問題,以及是怎么解決的?
- 印象中最深的bug,不代表是最難的,有可能是最近的。
- 低級錯誤。例如:配置文件配置錯誤、網絡iptables防火牆端口被封、打包不完整。
-
高端的bug,例如:app耗電量比較高、內存使用比較高,內存泄漏、FPS手機流暢度,默認刷新頻率60次/秒,20-30次/秒。
參考鏈接: https://tech.meituan.com/Dianping_Shortvideo_Battery_TestCase.html
- 重要的是把"奇怪問題"的排查思路、方法給出來,最后確定出問題(發現重要的bug)。
- 面試官考察的是,應聘者的解決問題的能力。
-
Postman 工具做接口測試,主要用於做接口的功能測試。
- 接口測試的一般流程。確定接口文檔:地址、輸入參數、輸出參數、錯誤參照碼、接口用途、示例。
-
在沒有接口文檔的時候怎么做接口測試?
- 首先你要知道為什么必須需要接口文檔。
- 如果沒有的話,就需要協助開發人員把文檔整理出來。
- 對接口進行優先級處理,並且使用適當的工具進行測試。
-
Jmeter做接口測試或者壓力測試。
- 你經常用的Jmeter元件有哪些?Jmeter元件的作用域是什么?
- 需要設置什么類型的配置元件,設置cookies管理器、http頭信息等。
- 設置項目結構,以及添加相應的Sampler(采樣器)
- 添加斷言與監聽器,方便調試。
- 分布式環境的搭建(偽分布式)
- 命令行的使用並生成報告(jmeter3.1以后的版本)
- 如何與持續集成相結合
-
Robot Framework做自動化項目
- 搭建環境,一步一步搭建,平安、移動,環境部署是開發寫的一鍵部署包。
- 優點:適合技術功底比較弱、項目周期比較短、也需要快速自動化一批用例。
- robot的項目目錄的組織結構,測試計划、測試套件、測試用例的組織
- 資源文件的組織,三層架構的組織模型。
- 里面會涉及到常用庫Selenium2Library、Database、Process等。
-
這個項目里寫了多少條測試用例,幾個人做的、用了多長時間,寫的是什么類型的自動化。
冒煙測試:打出包來,先用冒煙測試跑一邊。運行時間3~5分鍾,測試用例(不同邏輯)50條以內、編寫1~2周完成。
專項測試:對某一部分的功能邏輯、用例深度比較大,需要人力2人,測試用例100條左右。場景會更加豐富,比如垃圾清理功能會准備很多種環境、app啟動時間的測試
全功能測試:回歸測試,耗費時間可能要40分鍾以上,測試用例數1000條以上,投入3~4人,周期3~4個月,主要完成所有測試用例的跑通,防止bug回歸。
-
Python+Selenium+Unittest+HTMLReport做自動化項目 。
- 項目間周期要足夠長>=8個月,人力安排3~4人、技術積累。
- 后續的迭代很頻繁。重復性勞動比較多。
- Python常用的數據結構有哪些?舉出一些例子來。
- Python常用的模塊有哪些?舉例說明,怎么安裝?pip在線安裝/離線安裝。發揮ddt在項目中應用,裝飾器(語法糖);讀Excel表格(xlrd)、csv文件到程序中、數據庫的連接等。
- 寫一個Python的腳本,打印9*9乘法表,算法。【殺傷指數*****】
- 寫一個Python腳本,算法題
- Selenium常用API,並不難
- 異常處理,try … except …. 等等
- web元素的定位、使用了哪些工具?Chrome檢查、Firefox查看元素/FirePath
- 定位常用的方法?xpath一定要熟練掌握。如://*[@id='username and @name='yonghuming']
-
單線程、多線程與多進程的區別
- 線程和進程的區別,線程優缺點:線程是cpu調度的最小單元,調度成本很低、線程共享變量也更加方便,創建線程的成本很低。缺點是,多線程程序一旦一個線程出現問題,很容易影響其他線程。
- 進程優缺點:進程是資源調度的最小單元,進程里至少包含一個線程,進程的獨立性比較好。缺點:進程的創建成本比較高,占用資源也比較高、共享資源的時候不太方便。
-
Linux 查看CPU的使用情況
Top 、sar
參考資料: http://jingyan.baidu.com/article/4d58d5412917cb9dd4e9c0ed.html
-
Linux命令相關
-
用Linux命令操作另外一台服務器
Xshell工具使用的是SSH協議,
ssh root@192.168.2.37 連接
-
從一台Linux拷貝一個tar包到另外一台Linux機器上
scp ping.log root@192.168.2.171:/root/rs.log
-
如何查看進程監聽的端口?
netstat -an | grep httpd
ss
-
如何查看進程的id,並殺死進程
ps -ef | grep httpd
Kill -9 pid
- 可能會要求你編寫一些shell腳本(Linux命令有一定的語法規則等)
-
-
http與HTTPS的區別,加密的原理,怎么用抓包工具去看數據
- 區別:https(http+ssl)安全性更高、端口不一樣,443,SSL加密
-
HTTPS的請求響應流程(SSL協議)
- 使用抓包工具(如Fiddler)去檢查
- 如果要測試你自己的網站,https的加密方式,需要導入網站的證書。
參考鏈接: http://www.jianshu.com/p/54dd21c50f21
-
tcp/ip協議族,三次握手、四次握手原理和區別
-
數據庫里索引的好處、如何創建、刪除索引?考察語法、以及索引的優勢。
創建/刪除索引的語法:
CREATE INDEX 索引名稱 on GC_DFSS(no);
DROP INDEX 索引名稱;
創建索引的好處:
- 幫助用戶提高查詢速度
- 利用索引的唯一性來控制記錄的唯一性
- 可以加速表與表之間的連接
- 降低查詢中分組和排序的時間
創建索引的壞處:
- 存儲索引占用磁盤空間
- 執行數據修改操作(INSERT、UPDATE、DELETE)增加索引維護成本
-
存儲過程是怎么寫的,考察語法規則
------------存儲過程定義開始-------------------
CREATE OR REPLACE PROCEDURE sp_update_sal(name in varchar)
--通知Oracle數據庫去創建一個名叫 sp_update_sal 的存儲過程,如果已經存在,就覆蓋
IS
-- is關鍵字表明后面跟隨的是一個 PL/SQL 體
BEGIN
-- begin關鍵字表明 PL/SQL 體的開始
UPDATE emp SET sal = sal + 1 WHERE ename = name;
COMMIT;
END sp_update_sal;
--end關鍵字表明 PL/SQL 體 結束
------------存儲過程定義結束-------------------
select * from emp;
---存儲過程的執行,需要在命令窗口執行
exec sp_update_sal('andy');
-
cookies、sessionid,token的原理和區別
Cookies,指某些網站為了辨別用戶身份,寫在客戶端瀏覽器的cookies里,每次請求都會自動添加到Request Header里。
Session:進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密),服務器端也會存放session。
Token(類似於Appkey):是為了替代用戶名、密碼在傳輸中不安全,而特定生成的一串字符。每次登錄后會動態生成一個token值,一般有效期30分鍾,超時以后會自動化再生成一個值。
- HTTP和HTTPS的區別
-
Adb命令大全
https://blog.csdn.net/androidstar_cn/article/details/52782863
-
簡述自動化測試框架
-
簡述如何把自動化測試腳本集成到Jenkins 系統中?