自動(dòng)化面試題

自動(dòng)化篇

  1. 怎么樣的項(xiàng)目適合做自動(dòng)化測試
    • 項(xiàng)目變動(dòng)少
    • 項(xiàng)目周期長
    • 項(xiàng)目資源(人力)足夠
    • 回歸測試工作量大
  2. 你做過自動(dòng)化測試嗎?
    做過
  3. 你會(huì)用自動(dòng)化腳本測試接口嗎,怎么測得
    會(huì),使用python的requests庫模擬http和https請求,對返回結(jié)果做斷言;不同的測試數(shù)據(jù)可以使用數(shù)據(jù)驅(qū)動(dòng)的形式,框架可使用pytest
    常用的有兩種方式,
    一是使用工具
    - 常用的有Postman和Jmeter,輔助工具有瀏覽器開發(fā)者工具和Fiddler
    - 如果單純做接口測試,不需要做性能測試,Postman更常用,壓測、性能Jmeter更常用
    - Postman可以很方便的編寫接口測試用例,并添加前置斷言,后置動(dòng)作,環(huán)境變量等;并且可以導(dǎo)出為json腳本,通過newman命令行集成到Jenkins上,生成html格式報(bào)告,可通過allure或htmlextra報(bào)告進(jìn)行美化
    - Jmeter可以輕松模擬大批量的并發(fā)數(shù),給系統(tǒng)造成壓力,并且集成influxDB和Grafana進(jìn)行性能測試并實(shí)時(shí)監(jiān)控系統(tǒng)指標(biāo)
    二是用代碼實(shí)現(xiàn)
    - 通過Python+Pytest+requests庫+Git+jenkins搭建基于數(shù)據(jù)驅(qū)動(dòng)的接口測試自動(dòng)化框架,并通過github同步代碼,Jenkins持續(xù)集成
  4. 自動(dòng)化測試流程?
    • UI自動(dòng)化
      • 需求分析
      • 篩選需要實(shí)現(xiàn)自動(dòng)化的功能
      • 設(shè)計(jì)測試用例--可從手工用例中挑選
      • 搭建測試環(huán)境
      • 搭建自動(dòng)化測試框架
      • 編寫代碼
        • 封裝頁面對象基類、頁面對象類(包括頁面元素類和頁面動(dòng)作類),測試用例腳本,data、report、log、img、config、utils
      • 通過github同步代碼
      • 生成報(bào)告并美化(allure)
      • 通過Jenkins實(shí)現(xiàn)持續(xù)集成
    • 接口自動(dòng)化
      • 需求分析
      • 篩選需要實(shí)現(xiàn)自動(dòng)化的接口-可從接口用例中挑選
      • 搭建自動(dòng)化測試框架
      • 編寫代碼
      • 通過Python+Pytest以數(shù)據(jù)驅(qū)動(dòng)的方式實(shí)現(xiàn)接口自動(dòng)化-生成報(bào)告-結(jié)果分析,data、report、log、img、config、utils
      • 通過github同步代碼
      • 生成報(bào)告并美化(allure)
      • 通過Jenkins實(shí)現(xiàn)持續(xù)集成
  5. 自動(dòng)化測試如何搭建環(huán)境?
    • 安裝軟件
    • 上傳項(xiàng)目包
    • 修改配置
    • 啟動(dòng)數(shù)據(jù)庫
    • 重啟tomcat服務(wù)
  6. 怎么去區(qū)分哪些需要考慮自動(dòng)化,哪些不需要?
    • 主流程相關(guān)的功能
    • 投入產(chǎn)出比
    • 測試團(tuán)隊(duì)的技術(shù)水平
  7. 自動(dòng)化你怎么測得?JAVA版本
    • 通過Jenkins設(shè)置觸發(fā)規(guī)則,自動(dòng)構(gòu)建,執(zhí)行代碼,發(fā)送報(bào)告
  8. QTP對象識(shí)別失敗是QTP自動(dòng)化腳本中最常見的情況,造成這種情況的 原因是復(fù)雜多樣的,試加以分析至少3個(gè)原因(selenium元素定位不到)
    • Frame/Iframe原因定位不到元素
      • 先切換到Frame頁面
    • 元素未加載成功
      • 添加等待
    • 元素不可見,不可操作
      • 修改屬性后再定位
    • 動(dòng)態(tài)id
      • 切換定位方式
  9. 進(jìn)程和線程關(guān)系及區(qū)別
    - 進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)基本單位。
    - 線程是進(jìn)程的一個(gè)實(shí)體,是系統(tǒng)進(jìn)行調(diào)度的最小單位。
  10. String 和 StringBuffer的區(qū)別
  11. 任何語言來實(shí)現(xiàn) String 串反轉(zhuǎn)功能
  12. 接口測試中,下文接口如何拿到上文的回包?
  13. 進(jìn)程和線程要實(shí)現(xiàn)同步有哪些方法
  14. hash的意思?
  15. 隨便找兩個(gè)你熟悉的python庫,給講講使用的函數(shù)?
    • json
      • dumps(字典轉(zhuǎn)json字符)
      • loads(json字符轉(zhuǎn)字典)
  16. hashSet,hashMap,hashTable的區(qū)別
  17. java序列和反序列的意思
  18. http協(xié)議中,給我說說協(xié)議的具體組成?json庫的使用,json字符串和 json對象的轉(zhuǎn)換?
    • 請求行、請求頭、空行和請求體
  19. 實(shí)現(xiàn)多線程并發(fā)的方式,并說明最佳方法
  20. 請分別說明Int和Integer的區(qū)別
    • int是基本數(shù)據(jù)類型,Integer是int的包裝類
    • Integer變量必須實(shí)例化后才能使用,int變量不需要
    • Integer實(shí)際是對象的引用,int直接存儲(chǔ)數(shù)據(jù)值
    • Integer默認(rèn)值是null,int默認(rèn)值是0
  21. 請列出java的基礎(chǔ)數(shù)據(jù)類型
    • byte,short,int,long,char,bool,float,double
  22. 請指出HashMap和Hashtable的區(qū)別
  23. 請指出final, finally, finalize的區(qū)別
  24. JAVA垃圾回收的優(yōu)點(diǎn)和原理,并簡要說明你知道的幾種回收機(jī)制
  25. 打印九九乘法表
  26. 寫一個(gè)類
  27. 什么是類和對象?
  28. 冒泡排序題:定義一個(gè)int型/字符型的的數(shù)組,如何安裝大小進(jìn)行排 序?
  29. 對應(yīng)用自己會(huì)花多久可以在業(yè)務(wù)上從入門到精通,說說自己的方法
    • 查看公司業(yè)務(wù)文檔(項(xiàng)目介紹、需求文檔等),輸出業(yè)務(wù)流程圖或PPT
    • 執(zhí)行測試用例,操作項(xiàng)目
    • 查看歷史issue
    • 遇到的問題統(tǒng)一記錄下來,請教老同事
  30. 使用什么測試框架做的上一個(gè)項(xiàng)目的自動(dòng)化測試
    • Pytest
  31. 如何定位app上的元素,使用appium的inspector了嗎在什么平臺(tái)用的?
  32. 自動(dòng)化遇到用例fail掉如何排查故障
    • 先排除環(huán)境原因(驅(qū)動(dòng)更新,測試數(shù)據(jù)失效)
    • 是否由于功能修改,自動(dòng)化用例未同步
    • 檢查是否是bug
  33. 等待元素出現(xiàn)的這個(gè)方法如何實(shí)現(xiàn)?
    • 強(qiáng)制等待
      • 固定等待多久
    • 隱式等待
      • 需要等待整個(gè)頁面加載完成,才會(huì)執(zhí)行下一步
    • 顯式等待
      • 指定元素可見,即可執(zhí)行下一步
  34. 如何在app一個(gè)列表的listview中查到自己想要的那個(gè)元素(圖片,文 字,按鈕)并點(diǎn)擊?
  35. 如何在腳本中組織測試用例,按什么模式設(shè)計(jì)
  36. 如何測試app正確處理了服務(wù)端返回的異常,網(wǎng)絡(luò)異常 服務(wù)異常等?
  37. selenium中如何判斷元素是否存在?
    • 定位元素時(shí)捕獲異常
    • 使用find_elements函數(shù)定位元素
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容