軟件測試最常見的面試題了解一下?軟件測試高頻面試題總共有45道,因為篇幅問題,本篇隻介紹22道面試題,如需要更多面試題,可後台私信我,接下來我們就來聊聊關于軟件測試最常見的面試題了解一下?以下内容大家不妨參考一二希望能幫到您!
軟件測試高頻面試題總共有45道,因為篇幅問題,本篇隻介紹22道面試題,如需要更多面試題,可後台私信我。
01.性能測試關注的指标是什麼?從外部看,性能測試主要關注如下三個指标:
吞吐量:每秒鐘系統能夠處理的請求數、任務數
響應時間:服務處理一個請求或一個任務的耗時
錯誤率:一批請求中結果出錯的請求所占比例
從服務器的角度看,性能測試主要關注CPU、内存、服務器負載、網絡、磁盤IO等。
02.性能測試怎麼做的?/ 如果你要進行性能測試,你是如何展開操作的?1.确定關鍵業務,關鍵路徑;
2.确定測試的關鍵數據。比如并發量,響應時間,循環次數等;
3.準備測試環境,完成腳本錄制或腳本開發;
4.執行測試,觀察或監控輸出參數,比如吞吐量,響應時間,資源占有率等;
5.對執行結果進行分析,分析性能問題。
03.你認為性能測試的目的是什麼?性能測試的目的: 評估系統的能力----測試中得到的負荷和響應時間數據可被用于驗證所計劃的模型的能力,并幫助作出決策。
識别體系中的弱點----受控的負荷被增加到一個極端水平,并突破它,從而修複體系的瓶頸或薄弱的地方。
系統調優---重複運行測試,驗證調整系統的活動得到了預期的結果,從而改進性能。檢測軟件中的問題,長時間的測試執行可導緻程序發生由于内存洩漏引起的失敗,揭示程序中的隐含問題或沖突。
驗證穩定性,可靠性---在一個生産負荷下執行測試一定的時間是評估系統穩定性和可靠性是否滿足要求的唯一方法。
04.做好性能測試的工作的關鍵是什麼?做好性能測試工作的關鍵是強度測試(Stress Test): 強度測試
1、性能測試是通過自動化的測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能指标進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載測試,确定在各種工作負載下系統的性能,目标是測試當負載逐漸增加時,系統各項性能指标的變化情況。壓力測試是通過确定一個系統的瓶頸或者不能接受的性能點,來獲得系統能提供的最大服務級别的測試。
2、性能測試在軟件的質量保證中起着重要的作用,它包括的測試内容豐富多樣。中國軟件評測中心将性能測試概括為三個方面:應用在客戶端性能的測試、應用在網絡上性能的測試和應用在服務器端性能的測試。通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。
3、應用在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括并發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中并發性能性能測試圖像測試是重點。
4、并發性能測試的目的主要體現在三個方面:以真實的業務為依據,選擇有代表性的、關鍵的業務操作設計測試案例,以評價系統的當前性能;當擴展應用程序的功能或者新的應用程序将要被部署時,負載測試會幫助确定系統是否還能夠處理期望的用戶負載,以預測系統的未來性能;通過模拟成百上千個用戶,重複執行和運行測試,可以确認性能瓶頸并優化和調整應用,目的在于尋找到瓶頸問題。
05.怎樣分析性能測試結果?1.查看聚合報告和服務器的資源使用圖,檢查響應時間,事務成功率,CPU,内存和IO使用率是否達到要求,如果出錯率達到了總請求的3%,我們會檢查是什麼原因導緻的,修改好後,重新測試;
2.如果出現了性能瓶頸,比如響應時間,或者CPU使用率不達标,我們會從服務器上導出日志,分析是哪個地方導緻響應時間過長,如果分析不出來,就叫上開發一起讨論,确定問題後,就提單給代發修複,修複好了就進行回歸測試。
06.如何判斷網絡是否存在瓶頸?查看在整個性能測試過程中,網絡的吞吐量是多少,如果網絡的吞吐量占到了服務器的70%以上,我們就認為網絡存在瓶頸,通常會增加帶寬或者壓縮傳輸數據。
07.如何判斷響應時間不達标?根據性能測試結果先檢查看下是否是服務器帶寬存在問題,如果帶寬存在瓶頸,則會考慮增加帶寬或者壓縮傳輸數據,如果帶寬沒有問題的話,我們會從服務器上導出日志,開發一起讨論分析是哪個地方導緻響應時間過長,确定問題後,就提單給開發修複,修複好了就進行回歸測試。
08.如何判斷CPU使用率不達标?CPU使用率不達标,我們會從服務器上導出日志,分析是哪個地方導緻CPU使用率不達标,如果分析不出來,就叫上開發一起讨論,确定問題後,就提單給開發修複,修複好了就進行回歸測試。
09.app的性能測試怎麼做的?APP的性能測試分為服務器端的性能和手機端的性能。
服務器端的性能:jmeter工具進行測試的,和web端性能測試的方法一樣的。
手機端APP的穩定測試:使用monkey做。
10.用monkey做app測試,怎麼做的?如果有問題的話怎麼定位?1.先使用 adb logcat -c 清空手機的logcat日志;
2.接下來使用 adb logcat -v time 獲取logcat 日志,并導入本地文件使用 monkey 運行被測應用 adb shell monkey -p 包名 -v 3.100000 并将執行結果導入到本地測試;
4.如果中途失敗了就要去看monkey日志中有沒有crash或者anr的關鍵字;
5.如果還需要定位到是什麼原因導緻的anr或者crash的問題,将相關日志和logcat日志與進程号提交給開發定位;
6.如果是anr的問題,還需要從安卓中獲取/data/anr/traces.txt文件提交給開發定位。
11.app出現ANR的原因?線程阻塞,内存不足,CPU滿負荷(現在手機基本都是8核CPU,基本不會出現CPU滿負荷的情況)
12.app出現CRASH的原因?空指針值,數組越界,内存不足,CPU滿負荷(現在手機基本都是8核CPU,基本不會出現CPU滿負荷的情況)
13.APP常見崩潰原因?1.設備碎片化:由于設備極具多樣性,App在不同的設備上可能有不同表現形式;
2.寬帶限制:寬帶不佳的網絡對App所需的快速響應時間不夠;
3.網絡的變化:不同網絡的切換可能會影響App的穩定性;
4.内存管理:可能内存過低,或者是授權的内存位置的使用可能會導緻App失敗;
5.用戶過多:連續數量過多可能會導緻App崩潰;
6.代碼錯誤:沒有經過測試的新功能,可能會導緻App在生産環境中失敗;
7.第三方服務:廣告或彈出屏幕可能會導緻App崩潰。
14.說幾個常用的adb指令?adb install(apk的文件路徑) 安裝軟件到手機或者模拟器
adb uninstall(包名) 卸載手機或模拟器上的某款軟件
adb devices 查看與當前電腦連接的移動設備
adb ,adb start-server 啟動
adb,adb kill-server 殺死
adb logcat 查看日志
adb logcat -v time process >
15.軟件覆蓋安裝的adb命令?adb install -r xx.apk 覆蓋低版本的
adb install -r -d 覆蓋高版本的
16.性能測試的adb命令?adb shell dumpsys cpuinfo 查看手機cpu的使用情況
adb shell getprop|findstr dalvik 手機系統自己運行的内存使用
17.說幾個monkey指令?Adb shell monkey -p 包名
Adb-shell–ignore-crashes 忽略崩潰
Adb-shell–ignore-timeouts 忽略延時
Adb-shell–ignore-throttle 延時毫秒值
Adb-shell–pct-touch–pct-motion 觸摸與滑動事件的比例
18.弱網情況下你是如何測試的?1.2G的網速150kbps,折合下載速度15-20k/s
2.3G的網速1-6mbps,折合下載速度120k/s-600k/s
3.4G的網速10-100mbps,折合下載速度1.5m/s-10m/s
4.使用真實的SIM卡,運營商網絡來進行測試
5.通過代理的方式模拟弱網環境下進行測試(Charles延遲)
6.鍊接模拟弱網的熱點進行測試(如360WiFi助手可以設置)
19.接口測試流程?1.後端完成開發,輸出接口文檔;
2.前端開發和後端開發進行前後端聯調,結束後後端開發人員提測接口;
3.測試人員進行接口測試;
4.進行驗收測試;
5.利用持續集成技術進行持續的校驗。
20.進行接口測試,你是如何進行去測試的?1.通過性驗證:保證接口好使,能正常傳入且返回正确的結果;
參數組合:有必傳項時檢查必傳項;
接口安全:
a.驗證(比如商品價格不能被外部修改)
b.身份授權(商品必須商家本人才能修改)
c.是否加密(用戶名密碼加密)
d.複雜程度校驗
2.根據業務邏輯來設計用例
3.工具:postman和jmeter。一般用postman測接口,jmeter也能側,但一般不用。
21.舉例說一下你的接口測試是怎麼做的?先看接口文檔,根據接口文檔進行測試,包含接口的URL,請求參數,響應結果。
如果沒有接口文檔,就自己抓包。我們是用jmeter來做接口測試的,首先,要新建一個線程組,在線程組下面添加一個http請求,然後填寫好服務器地址,接口路徑,請求方式,請求參數。
如果需要參數化,先在本地創建一個TXT文檔,把參數填寫到文檔裡面,在jmeter中添加一個csv文件設置,填寫好TXT文檔的路徑,然後在請求參數中使用json提取器把token值關聯出來
然後在下單接口中使用${參數名}的方式引用;接下來添加斷言,檢查服務器返回的結果和預期結果是不是一緻的。最後,添加查看結果數查看測試結果。
22.請描述下接口測試與UI測試是如何協同測試的?1.有一部分是重疊的,UI測試是通過前端寫的界面,是來調用接口的,而接口測試是直接調用接口;
2.排除前端的處理邏輯與調用的正确性,在理論上接口測試是可以覆蓋所有的UI測試,但實際中,如幾口層覆蓋所有的業務流,在UI上隻測試前端的邏輯
而最終的結果會忽視很多原有的功能點,導緻了UI測試的不充分,那麼會存在人多分工且實踐充分的時候可以嘗試接口去做業務流的全覆蓋,否則不要輕易地去嘗試。
最後,關于軟件測試學習,offer選擇等等,都可以通過後台私信交流。需要學習資料或者幫忙修改簡曆也可以私信!!也可百度搜索“特斯汀軟件測試騰訊課堂”或關注公衆号“特斯汀軟件測試”,裡面涵蓋很多精彩免費視頻或幹貨知識
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!