測試面試題集錦(五)| 自動化測試與性能測試篇(附答案)

本系列文章總結(jié)歸納了一些軟件測試工程師常見的面試題,主要來源于個人面試遇到的鼻种、網(wǎng)絡(luò)搜集(完善)反番、工作日常討論等,分為以下十個部分叉钥,供大家參考罢缸。如有錯誤的地方,歡迎指正沼侣。有更多的面試題或面試中遇到的坑祖能,也歡迎補(bǔ)充分享。希望大家都能找到滿意的工作蛾洛,共勉之养铸!~
1.測試常見問題與流程篇
2.測試工具篇
3.計(jì)算機(jī)網(wǎng)絡(luò)知識與數(shù)據(jù)庫篇
4.Linux 與 Python 編程技能篇
5.自動化測試與性能測試篇
6.軟素質(zhì)篇(10 大靈魂拷問)與反問面試官篇
包含 Selenium、Appium 和接口測試轧膘。
7.自動化代碼中钞螟,用到了哪些設(shè)計(jì)模式?

  • 單例模式
  • 工廠模式
  • PO模式
  • 數(shù)據(jù)驅(qū)動模式
    8.什么是斷言谎碍?
  • 檢查一個條件鳞滨,如果它為真,就不做任何事蟆淀,用例通過拯啦。如果它為假,則會拋出 AssertError 并且包含錯誤信息熔任。
    9.UI 自動化測試中褒链,如何做集群?
  • Selenium Grid疑苔,分布式執(zhí)行用例
  • Appium 使用 STF 管理多設(shè)備
  • Docker+K8S 管理集群
    10.怎么對含有驗(yàn)證碼的功能進(jìn)行自動化測試甫匹?
  • 萬能驗(yàn)證碼
  • 測試環(huán)境屏蔽驗(yàn)證
  • 其他操作不推薦
    11.如何優(yōu)化和提高 Selenium 腳本的執(zhí)行速度?
  • 盡量使用 by_css_selector() 方法
  • by_css_selector() 方法的執(zhí)行速度比 by_id() 方法的更快,因?yàn)樵创a中 by_id() 方法會被自動轉(zhuǎn)成 by_css_selector() 方法處理兵迅;
  • 使用等待時抢韭,盡量使用顯示等待,少用 sleep()恍箭,盡量不用隱式等待刻恭;
  • 盡量減少不必要的操作:可以直接訪問頁面的,不要通過點(diǎn)擊操作訪問季惯;
  • 并發(fā)執(zhí)行測試用例:同時執(zhí)行多條測試用例吠各,降低用例間的耦合;
  • 有些頁面加載時間長勉抓,可以中斷加載;
    12.接口測試能發(fā)現(xiàn)哪些問題候学?
  • 可以發(fā)現(xiàn)很多在頁面上操作發(fā)現(xiàn)不了的 bug藕筋;
  • 檢查系統(tǒng)的異常處理能力;
  • 檢查系統(tǒng)的安全性梳码、穩(wěn)定性隐圾;
  • 前端隨便變,接口測好了掰茶,后端不用變暇藏;
  • 可以測試并發(fā)情況,一個賬號濒蒋,同時(大于 2 個請求)對最后一個商品下單盐碱,或不同賬號,對最后一個商品下單沪伙;
  • 可以修改請求參數(shù)瓮顽,突破前端頁面輸入限制(如金額);
    13.Selenium 中隱藏元素如何定位围橡?
  • 如果單純的定位的話暖混,隱藏元素和普通不隱藏元素定位沒啥區(qū)別,用正常定位方法就行了(這個很多面試官也搞不清楚)翁授;
  • 元素的屬性隱藏和顯示拣播,主要是 type=“hidden” 和 style=“display: none;” 屬性來控制的,接下來在元素屬性里面讓它隱藏收擦,隱藏元素可以正常定位到贮配,只是不能操作(定位元素和操作元素是兩碼事,很多初學(xué)者傻傻分不清楚)炬守,操作元素是 click,clear,send_keys 這些方法牧嫉;
  • JS 操作隱藏元素;
    14.如何判斷一個頁面上元素是否存在?
  • 方法一:用 try…except…
  • 方法二:用 elements 定義一組元素方法酣藻,判斷元素是否存在,存在返回 True,不存返回 False
  • 方法三:結(jié)合 WebDriverWait 和 expected_conditions 判斷(推薦)
    15.如何提高腳本的穩(wěn)定性曹洽?
  • 不要右鍵復(fù)制 xpath(十萬八千里那種路徑,肯定不穩(wěn)定)辽剧,自己寫相對路徑送淆,多用 id 為節(jié)點(diǎn)查找;
  • 定位沒問題怕轿,第二個影響因素那就是等待了偷崩,sleep 等待盡量少用(影響執(zhí)行時間);
  • 定位元素方法重新封裝撞羽,結(jié)合 WebDriverWait 和 expected_conditions 判斷元素方法阐斜,自己封裝一套定位元素方法;
    16.如何定位動態(tài)元素诀紊?
  • 動態(tài)元素有 2 種情況谒出,一個是屬性動態(tài),比如 id 是動態(tài)的邻奠,定位時候笤喳,那就不要用 id 定位就是了;
  • 還有一種情況動態(tài)的碌宴,那就是這個元素一會在頁面上方杀狡,一會在下方,飄忽不定的動態(tài)元素贰镣,定位方法也是一樣呜象,按 f12,根據(jù)元素屬性定位(元素的 tag八孝、name的步伐屬性是不會變的董朝,動的只是 class 屬性和 styles 屬性);
    17.如何通過子元素定位父元素
  • 使用element.parent方法
    18.平常遇到過哪些問題? ?如何解決的
  • 可以把平常遇到的元素定位的一些坑說下干跛,然后說下為什么沒定位到子姜,比如動態(tài) id、有 iframe楼入、沒加等待等因素哥捕;
    19.一個元素明明定位到了,點(diǎn)擊無效(也沒報(bào)錯)嘉熊,如果解決遥赚?
  • 使用 JS 點(diǎn)擊,Selenium 有時候點(diǎn)擊元素是會失效阐肤;
    20.測試的數(shù)據(jù)你放在哪?
  • 對于賬號密碼凫佛,這種管全局的參數(shù)讲坎,可以用命令行參數(shù),單獨(dú)抽出來愧薛,寫的配置文件里(如 ini)晨炕;
  • 對于一些一次性消耗的數(shù)據(jù),比如注冊毫炉,每次注冊不一樣的數(shù)瓮栗,可以用隨機(jī)函數(shù)生成;
  • 對于一個接口有多組測試的參數(shù)瞄勾,可以參數(shù)化弓柱,數(shù)據(jù)放 YAML,Text,JSON,Excel 都可以吊奢;
  • 對于可以反復(fù)使用的數(shù)據(jù),比如訂單的各種狀態(tài)需要造數(shù)據(jù)的情況燃辖,可以放到數(shù)據(jù)庫复亏,每次數(shù)據(jù)初始化收壕,用完后再清理奴愉;
  • 對于郵箱配置的一些參數(shù)欠气,可以用 ini 配置文件;
  • 對于全部是獨(dú)立的接口項(xiàng)目盗蟆,可以用數(shù)據(jù)驅(qū)動方式,用 excel/csv 管理測試的接口數(shù)據(jù)舒裤;
  • 對于少量的靜態(tài)數(shù)據(jù)喳资,比如一個接口的測試數(shù)據(jù),也就 2-3 組腾供,可以寫到 py腳本的開頭仆邓,十年八年都不會變更的;
    21.什么是數(shù)據(jù)驅(qū)動伴鳖,如何參數(shù)化节值?
  • 參數(shù)化的思想是代碼用例寫好了后,不需要改代碼榜聂,只需維護(hù)測試數(shù)據(jù)就可以了搞疗,并且根據(jù)不同的測試數(shù)據(jù)生成多個用例;
    22.其他接口都需要登錄接口的信息须肆,怎么去讓這個登錄的接口只在其他接口調(diào)用一次匿乃?
  • 使用單例模式
  • 使用自定義緩存機(jī)制
  • 使用測試框架中的 setup 機(jī)制
  • pytest 中 fixture 機(jī)制
    23.接口產(chǎn)生的垃圾數(shù)據(jù)如何清理?
  • 造數(shù)據(jù)和數(shù)據(jù)清理豌汇,需用 python 連數(shù)據(jù)庫了幢炸,做增刪改查的操作測試用例前置操作,setUp 做數(shù)據(jù)準(zhǔn)備后置操作拒贱,tearDown 做數(shù)據(jù)清理
    24.怎么用接口案例去覆蓋業(yè)務(wù)邏輯宛徊?
  • 考慮不同的業(yè)務(wù)場景佛嬉,一個接口走過的流程是什么樣的,流程的邏輯是什么樣的闸天,什么樣的參數(shù)會有什么樣的結(jié)果暖呕,多場景覆蓋;
    25.性能測試指標(biāo)包括哪些
  • 最大并發(fā)用戶數(shù)号枕,HPS(點(diǎn)擊率)缰揪、事務(wù)響應(yīng)時間、每秒事務(wù)數(shù)葱淳、每秒點(diǎn)擊量钝腺、吞吐量、CPU 使用率赞厕、物理內(nèi)存使用艳狐、網(wǎng)絡(luò)流量使用等。
  • 前端需主要關(guān)注的點(diǎn)是:
  • 響應(yīng)時間:用戶從客戶端發(fā)出請求皿桑,并得到響應(yīng)毫目,以及展示出來的整個過程的時間。
  • 加載速度:通俗的理解為頁面內(nèi)容顯示的快慢诲侮。
  • 流量:所消耗的網(wǎng)絡(luò)流量镀虐。
  • 后端需主要關(guān)注的是:
  • 響應(yīng)時間:接口從請求到響應(yīng)、返回的時間沟绪。
  • 并發(fā)用戶數(shù):同一時間點(diǎn)請求服務(wù)器的用戶數(shù)刮便,支持的最大并發(fā)數(shù)。
  • 內(nèi)存占用:也就是內(nèi)存開銷绽慈。
  • 吞吐量(TPS):Transaction Per Second, 每秒事務(wù)數(shù)恨旱。在沒有遇到性能瓶頸時:TPS=并發(fā)用戶數(shù)*事務(wù)數(shù)/響應(yīng)時間。
  • 錯誤率:失敗的事務(wù)數(shù)/事務(wù)總數(shù)坝疼。
  • 資源使用率:CPU占用率搜贤、內(nèi)存使用率、磁盤I/O钝凶、網(wǎng)絡(luò)I/O仪芒。
  • 從性能測試分析度量的度角來看,主要可以從如下幾個大的維度來收集考察性能指標(biāo):
  • 系統(tǒng)性能指標(biāo)腿椎、資源性能指標(biāo)桌硫、穩(wěn)定性指標(biāo)
    26.如果一個需求沒有明確的性能指標(biāo),要如何開始進(jìn)行性能測試啃炸?
  • 先輸出業(yè)務(wù)數(shù)據(jù)铆隘,如 pv、pu南用、時間段等膀钠,計(jì)算出大概的值掏湾,然后不斷加壓測到峰值
    27.介紹 JMeter 聚合報(bào)告包括哪些內(nèi)容?
  • 請求名肿嘲、線程數(shù)融击、響應(yīng)時間(50 95 99 最小 最大)錯誤率、吞吐量
    28.如果有一個頁面特別卡頓雳窟,設(shè)想一下可能的原因尊浪?
  • 后臺:接口返回?cái)?shù)據(jù)慢,查詢性能等各種問題
  • 前端:使用 Chrome 工具調(diào)試封救,判斷 JS 執(zhí)行久或是其他問題
  • 網(wǎng)絡(luò)問題
    29.說一說項(xiàng)目中的實(shí)際測試內(nèi)容
  • 根據(jù)自己項(xiàng)目中的經(jīng)驗(yàn)實(shí)話實(shí)說拇涤,有沒有經(jīng)驗(yàn)很容易露餡。
    30.介紹一下 JMeter 進(jìn)行性能測試的過程
  • 結(jié)合自己的項(xiàng)目經(jīng)驗(yàn)聊誉结。大家也可以自行搜索鹅士。
    31.介紹一下 JMeter 和 LoadRunner 的區(qū)別
  • 詳細(xì)的不展開了,最重要的是相對來說 LoadRunner 的笨重惩坑、昂貴掉盅、閉源,理念和生態(tài)都落后以舒,而 JMeter 是開源趾痘、可定制化開發(fā),功能強(qiáng)大易用蔓钟,并且在互聯(lián)網(wǎng)大廠都已經(jīng)有非常成熟的落地方案(主流的互聯(lián)網(wǎng)公司基本都在使用 JMeter+ELK+Grafana+Influxdb 這套架構(gòu))扼脐,可以說是進(jìn) BAT 大廠必備技能。還不會 JMeter 的同學(xué)建議抓緊補(bǔ)起來奋刽。
    獲取更多相關(guān)資料,請?zhí)砑觱x:ceshiren001

原文鏈接

更多技術(shù)文章請點(diǎn)擊鏈接艰赞,有驚喜喲佣谐,確定不點(diǎn)一下?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末方妖,一起剝皮案震驚了整個濱河市狭魂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌党觅,老刑警劉巖雌澄,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杯瞻,居然都是意外死亡镐牺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門魁莉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睬涧,“玉大人募胃,你說我怎么就攤上這事∑枧ǎ” “怎么了痹束?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長讶请。 經(jīng)常有香客問我祷嘶,道長,這世上最難降的妖魔是什么夺溢? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任论巍,我火速辦了婚禮,結(jié)果婚禮上企垦,老公的妹妹穿的比我還像新娘环壤。我一直安慰自己,他們只是感情好钞诡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布郑现。 她就那樣靜靜地躺著,像睡著了一般荧降。 火紅的嫁衣襯著肌膚如雪接箫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天朵诫,我揣著相機(jī)與錄音辛友,去河邊找鬼。 笑死剪返,一個胖子當(dāng)著我的面吹牛废累,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脱盲,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼邑滨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钱反?” 一聲冷哼從身側(cè)響起掖看,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎面哥,沒想到半個月后哎壳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尚卫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年归榕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焕毫。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹲坷,死狀恐怖驶乾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情循签,我是刑警寧澤级乐,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站县匠,受9級特大地震影響风科,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乞旦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一贼穆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兰粉,春花似錦故痊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至焰络,卻和暖如春戴甩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背闪彼。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工甜孤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畏腕。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓缴川,卻偏偏與公主長得像,于是被迫代替她去往敵國和親描馅。 傳聞我的和親對象是個殘疾皇子二跋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容