2023年軟件測試經(jīng)典面試題
軟件測試面試問題及回答技巧是需求分析、測試計(jì)劃、測試設(shè)計(jì)、測試執(zhí)行、測試評估。以下是小編為大家收集的關(guān)于2023軟件測試面試題的相關(guān)內(nèi)容,供大家參考!
2023年軟件測試經(jīng)典面試題(帶答案)
1、自動化代碼中,用到了哪些設(shè)計(jì)模式?
單例設(shè)計(jì)模式
工廠模式
PO設(shè)計(jì)模式
數(shù)據(jù)驅(qū)動模式
面向接口編程設(shè)計(jì)模式
2、什么是斷言( Assert) ?
斷言Assert用于在代碼中驗(yàn)證實(shí)際結(jié)果是不是符合預(yù)期結(jié)果,
如果測試用例執(zhí)行失敗會拋出異常并提供斷言日志
3、什么是web自動化測試
Web自動化測試是從UI (用戶界面)層面進(jìn)行的自動化測試,
測試人員通過編程自動化程序(測試用例腳本)來打開瀏覽器測試網(wǎng)站的業(yè)務(wù)邏輯。
4、什么是Selenium?
Selenium是一個開源的web自動化測試框架,支持多種編程語言開發(fā)自動化測試腳本,支持跨瀏覽器平臺進(jìn)行測試
5、寫出Selenium中你最熟悉的接口或類
WebDriver、InternetExplorerDriver、 FirefoxDriver、 ChromeDriver、 WebElement、WebDriverWait、 By
6、元素定位類型有哪些?
By類一共有8種元素定位方式,它們都是靜態(tài)方法:
By.id():
By.name():
By.tagName():
By.className():
By.cssSelector():
By linkText():
By partialLinkText():
By.xpath():
7、Xpath是什么?
它是查找web頁面元素的一種方式,相當(dāng)于元素在dom中間的一個路徑,可以采用絕對路徑和相對路徑的方式進(jìn)行定位
它對于定義動態(tài)的頁面元素有很大的幫助,同時(shí)也需要謹(jǐn)慎使用,因?yàn)槿绻撁娼Y(jié)構(gòu)發(fā)生變化,那么定位信息也可能需要變化。
8、findElement()和findElements(方法有什么區(qū)別
兩個都是查找頁面元素的方法
findElement():查找一個頁面元素,只會返回一個WebElement對象
findElements() :查找頁面上所有符合匹配的元素,返回元素集合
9、登錄按鈕除了用click方法進(jìn)行點(diǎn)擊以外還有其他方式嗎?
還可以使用submit()方法,前提是input元素的type為submit
10、怎么提高Selenium腳本的執(zhí)行速度
優(yōu)化等待時(shí)間:使用 WebDriverWait 智能等待來代替線程等待 sleep 和 隱式等待 implicityWait
減少不必要的操作:如直接進(jìn)入某頁面代替經(jīng)過一系列自動化操作進(jìn)入某頁面在服務(wù)器允許的情況下,使用多線程實(shí)現(xiàn)并發(fā)執(zhí)行測試用例.
11、怎么對含有驗(yàn)證碼的功能進(jìn)行自動化測試的
1) :圖像識別,技術(shù)難度大,效果不佳,不推薦
2) :屏蔽驗(yàn)證碼,邀請開發(fā)處理,但在預(yù)生產(chǎn)環(huán)境或者生產(chǎn)環(huán)境不推薦
3) :萬能驗(yàn)證碼,使用一個復(fù)雜的其他人無法猜到的驗(yàn)證碼
12、怎么驗(yàn)證復(fù)選按鈕是不是被選中
可以使用元素的 isSelected() 方法,如果返回的是 true 則說明被選中,否則表明未被選中
13、如何處理alert彈窗?
處理 alert 彈窗首先需要先跳轉(zhuǎn)到 alert 上,然后在點(diǎn)擊確定或者取消按鈕,
Alert alert = driver.switchTo().alert(); //切換到alert
alert.accept0; //確定
alert.dismiss0; //取消
14、下拉菜單中如何去選擇一個菜單項(xiàng)?
如果下拉菜單是select標(biāo)簽,使用方法: selectByValue() 或者 selectByIndex() 或者 selectByVisibleText() 即可
如果這個下拉菜單不是通過 select 標(biāo)簽創(chuàng)建,則直接通過 xpath 定位元素然后去點(diǎn)擊選擇
15、如何模擬瀏覽器的前進(jìn)和后退、刷新操作
driver.navigate().back()://后退
driver. navigate().forward()://前進(jìn)
driver.navigate0.efresh()://刷新
16、怎么獲得當(dāng)前頁面的URL?
String url = driver.getCurrentUrl();
17、WebDriver的close()和quit(方法的區(qū)別是什么?
close()方法只是關(guān)閉當(dāng)前正在操作的窗口
quit()是關(guān)閉了所有已經(jīng)打開的窗口
18、你覺得自動化測試用哪些缺陷
成本比較大,而成效可能并不高
適合自動化測試的功能有限
某些功能操作相對復(fù)雜,比如驗(yàn)證碼
維護(hù)成本高,一旦項(xiàng)目需求變更,自動化測試腳本和用例就需要改進(jìn)
19、Web端功能自動化,如何實(shí)現(xiàn)(非input型上傳)上傳文件
與windows窗口進(jìn)行交互,可以使用 pywin32庫 實(shí)現(xiàn)。
20、遇到這種class中間有空格的控件,如何通過class定位?
xpath定位:直接//d1 [@class="inf_bar clearfx"]
css定位: d1.inf_bar.clearfix
21、單元測試的策略有哪些?
邏輯覆蓋、循環(huán)覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數(shù)據(jù)流分析
22、LoadRunner分哪三部分?
用戶動作設(shè)計(jì);場景設(shè)計(jì); 測試數(shù)據(jù)分析;
23、LoadRunner進(jìn)行測試的流程?
–1、 熟悉業(yè)務(wù)流程,測試規(guī)劃
–2、 創(chuàng)建虛擬用戶腳本
–3、 創(chuàng)建運(yùn)行場景
–4、 運(yùn)行測試腳本
–5、 監(jiān)視場景
–6、 分析測試的結(jié)果
以上,最好是結(jié)合一個案例,根據(jù)以上流程來介紹。
24、軟件的評審一般由哪些人參加?其目的是什么?
在正式的會議上將軟件項(xiàng)目的成果(包括各階段的文檔、產(chǎn)生的代碼等)提交給用戶、客戶或有關(guān)部門人員對軟件產(chǎn)品進(jìn)行評審和批準(zhǔn)。其目的是找出可能影響軟件產(chǎn)品質(zhì)量、開發(fā)過程、維護(hù)工作的適用性和環(huán)境方面的設(shè)計(jì)缺陷,并采取補(bǔ)救措施,以及找出在性能、安全性和經(jīng)濟(jì)方面的可能的改進(jìn)。
人員:用戶、客戶或有關(guān)部門開發(fā)人員,測試人員,需求分析師都可以,就看處于評審那個階段。
如何面試軟件測試?
想要獲得一個滿意的offer,除了自身必要的專業(yè)能力和素質(zhì),還需要經(jīng)過面試這一關(guān)。
面試前,多點(diǎn)了解公司是做什么業(yè)務(wù)的,以及工作崗位的主要工作內(nèi)容。結(jié)合招聘要求,提前想一下面試官可能問的問題,換位思考以及延伸思考。面試過程中,需要學(xué)會把面試官引到自己熟悉的領(lǐng)域。最好就是結(jié)合一些流程圖、原理圖分析自己優(yōu)化過程,讓面試官知道你的思考軌跡,這時(shí)候,面試官才更容易認(rèn)可你。此外,多點(diǎn)刷專業(yè)面試題,對面試成功也有很大的幫助。
軟件測試面試自我介紹
尊敬的各位考官:
下午好!
我是計(jì)算機(jī)專業(yè)的面試者_(dá)_,我此次應(yīng)聘的職位是IT行業(yè)的軟件工程師,這份工作不僅與我的專業(yè)對口,同時(shí)也是我的特長與興趣所在。現(xiàn)在我就從以下三個方面介紹自己:
1、學(xué)習(xí)能力:我有較強(qiáng)的科研能力,能熟練的進(jìn)行Windows2000和LINUX操作,并能使用VB,DELPHI等語言編程。能運(yùn)用網(wǎng)頁三劍客Photoshop軟件進(jìn)行相關(guān)工作。
2、實(shí)踐能力:我的專長是軟件開發(fā),我希望能從事這方面的工作,并且我曾經(jīng)發(fā)過多個系統(tǒng),如人事檔案管理系統(tǒng),工資管理系統(tǒng)等等。
3、交際能力:我的性格沉穩(wěn),能坐得住,對IT行業(yè)的工作,具有非常好的適應(yīng)能力,而且為人謙和,具有很強(qiáng)的組織和協(xié)調(diào)能力,富有的事業(yè)心和責(zé)任感使我能夠面對任何困難和挑戰(zhàn)。
從以上的簡單自我介紹,我希望公司能給我一個展示自己能力的機(jī)會,讓我我可以學(xué)以致用,同時(shí)我也很欣賞X公司的企業(yè)文化與工作環(huán)境。我愿意成為企業(yè)一員,為企業(yè)的發(fā)展貢獻(xiàn)自己的一份力量。我的職業(yè)生涯目標(biāo)是,做一個既懂技術(shù),又懂業(yè)務(wù)的復(fù)合型人才。