APP測試面試題(一)


一、開場問題:(自由發揮)

1、請自我介紹一下;

2、為什么離開上一個公司呢?

3、做測試多久了?以前做過哪些項目?你們以前測試的流程是怎樣的?用過哪些測試工具?

4、你覺得為什么要在一個團隊中開展軟件測試工作,測試的價值提現在哪里?

 

二、技術方面:

1、代碼能力:

1.1、請用自己最擅長的編程語言,將一個字符串反轉並輸出?

python實現:方法1、使用[::-1],

方法2、使用reverse()方法。

1.2、針對數十個安卓應用市場渠道包,請問如何進行大體的功能驗證,簡單敘述一下思路?

參考答案:可以自動化遍歷某個目錄下面的所有渠道包apk,然后循環:安裝——》登錄——》**操作——》退出——卸載

2、測試思路:

2.1、給你一個模塊,比如注冊模塊,你會怎么樣設計與執行測試?

參考答案:數據——》從哪里來(入口)——》到哪里去(出口)——》數據庫(檢驗數據的正確性)

需求分析(輸入分析,處理分析,輸出分析),數據構造,編寫用例

輸入分析:長度,類型,組成規則,是否為空,是否重復

處理分析:正常處理,異常處理

輸出分析:前台,后台,數據

 

2.2、請說一下你以前公司功能測試通過的標准?(自由發揮)

 

2.3、你認為app測試過程中,相對於web,要更多注意哪些測試點?或者說app測試和web測試有哪些不同之處?

參考答案:

1、“點擊加載更多”的分頁處理技術,是否有重復的數據,數據顯示是否完整,到達最后一頁后是否還有數據進行顯示;

2、數據的排序方式;

2、界面跳轉是否正確;

3、出現異常情況是否有提示,是否跳轉到已經設定好的默認頁面,如斷網情況下,顯示網絡未連接,數據加載失敗,或者如果此頁面沒有數據顯示,顯示友好提示信息;

4、圖片處理的地方,是否容易出現程序崩潰現象,主要是圖片壓縮機制;

5、前台展示的數據,后台進行變動(增、刪、改),是否是實時更新還是app一開始運行再進行加載;

6、前台主動發出請求,后台數據庫中是否存在相應的數據同時包括數據的關聯性(商家的會員進行下訂單,數據庫中生成一條訂單的記錄的同時,生成一條積分記錄,該會員的積分進行相應的變化);

7、手機app網絡環境測試重點:主要是針對2G、3G、4G、wifi三種網絡環境進行測試 ;

8、手機app兼容性測試:主要是針對android各個系統版本進行測試,及測試屏幕分辨率進行測試;

 

3、測試技術:

3.1、說說會用哪些抓包工具?怎么用的?

參考答案:比如fiddler,主要用來做app抓包使用,先在fiddler客戶端做好各項配置,端口設置為8888,然后在手機上設置代理,就可以抓包了,主要看的是服務器返回的值、還能夠修改傳入參數、傳出的參數、模擬網絡延時,去構造不同場景。

3.2、什么是alpha測試和beta測試?

alpha測試:在公司場地,由員工主導的測試行為;beta測試:在客戶場地,由客戶主導進行的測試。

3.3、SQL查詢語句    3.4、linux常用命令有哪些?  cd命令:切換到某個目錄    ls命令:列出當前目錄的所有文件、文件夾pwd命令:列出當前目錄的路徑  cp命令:復制

mv命令:剪切          grep命令:管道

find命令:查找          rm命令:刪除

ps命令:查看進程          kill命令:殺掉某個進程

cat命令:查看某文件          tar命令:打包

chmod命令:賦權限          chown命令:改變文件的所有者

vim命令:文本編輯

tail -f:查看日志          netstat -aux :查看狀態
 

3.5、請說明Android手機和IOS手機,系統有什么區別?

1、兩者運行機制不同:IOS采用的是沙盒運行機制,安卓采用的是虛擬機運行機制。

2、兩者后台制度不同:IOS中任何第三方程序都不能在后台運行;安卓中任何程序都能在后台運行,直到沒有內存才會關閉。

3、IOS中用於UI指令權限最高,安卓中數據處理指令權限最高。

3.6、請簡要介紹一下安卓系統四層架構?

從上到下,依次是:應用程序層——》應用程序框架層——》系統運行庫層——》Linux核心層

 

3.7、簡單介紹一下Android SDK中自帶的幾個工具/命令的功能?

參考答案:

ddms:Dalvik Debug Monitor Service,是 Android 開發環境中的Dalvik[虛擬機]調試監控服務。

monkey:Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。

uiautomator:UIAutomator是Eclipse自帶的用於UI自動化測試工具,可仿真APP上的單擊、滑動、輸入文本等操作。

monitor:同uiautomator

adb:ADB的全稱為Android Debug Bridge,就是起到調試橋的作用。通過ADB我們可以在Eclipse中方面通過DDMS來調試Android程序,就是debug工具。

 

3.8、常用的adb命令有哪些?請隨便寫一個monkey腳本,並解釋其中參數的含義?

參考答案:

(1)adb devices、adb install、adb uninstall、adb shell pm 、adb shell am

(2)adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

-p:app包名、

--throttle:每個操作的間隔時間,單位ms

--ignore-crashes:忽略崩潰

--ignore-timeouts:忽略超時

--ignore-security-exceptions:忽略安全異常

-v -v -v:日志詳細等級,3個v代表最詳細等級的日志

d:\xnonline-monkey-test1.txt:代表將產生的日志,放到本地PC的D盤,並命名為:xnonline-monkey-test1.txt

 

3.9、測試過程中遇到app出現crash或者ANR,你會怎么處理?

參考答案:可以先把日志過濾出來: adb logcat | findstr xxxxx(過濾日志信息) ,然后再搜索其中的關鍵字,比如:exception、crash,看看是那些方法或者異常導致了問題的發送,初步定位問題原因后,可以交給開發人員去具體查找深層原因並修復。

 

3.10、請說一下以往工作中都曾具體做過哪些工作?其中最擅長哪部分工作(功能,自動化(UI和接口),性能)?這部分你是怎么做的?(自由發揮)

 

3.11、請簡單介紹一下實用過的安卓UI自動化測試工具?

參考答案:

appium:是一個移動端的自動化框架,可用於測試原生應用,移動網頁應用和混合型應用,且是跨平台的。

robotium:是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長按、滑動等)、查找和斷言機制的API,能夠對各種控件進行操作。

 

3.12、你覺得app的性能測試,即專項測試,需要重點關注那些方面?

參考答案:內存、cpu占用、耗電量、流量、流暢度等

 

3.13 什么是埋點測試 

 






 

 




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM