给我两小时,我能写很长长长长长长的APP测试用例!
大家好,我是coco小錦鯉
我又來了
我又帶著希望和愛來了
今天主要介紹APP的測試流程
APP常見測試點
以及APP常見面試題
前方高能預警
以下是一篇很長長長長長長的文
隨著科技的發展,購物、旅游、支付等日常衣食住行活動都離不開手機,由此衍生了很多APP。比如每天使用頻率非常高的微信、支付寶、微博、抖音、王者榮耀等等。APP測試主要進行功能測試、性能測試、自動化測試、安全性測試、兼容性測試、專項測試。
APP測試流程
APP測試流程與web測試流程類似,分為如下七個階段:
1.根據需求說明書編寫測試計劃;
2.制定測試方案,主要是測試任務、測試人員和測試時間的分配;
3.測試準備,包括搭建測試環境,準備測試數據,確定測試方法;
4.測試用例的設計與編寫,進行用例評審及補充完善;
5.執行測試時首先進行冒煙測試,然后對主功能流程進行測試,包括客戶端的單個功能模塊,及功能業務邏輯功能交互,回歸測試;
6.提交測試結果,包括測試用例,測試計劃;
7.日常維護性測試;
APP測試周期可根據項目的開發周期來確定測試時間,一般測試時間為兩三周,根據項目情況以及版本質量可適當縮短或延長測試時間。
APP測試通用測試用例
注:以下為部分節選,APP完整版測試用例請在微信公眾號“ITester軟件測試小棧”后臺回復“20191003”。
登錄
登錄用戶名和密碼錯誤時,界面有提示信息
用戶主動退出登錄后,下次啟動APP時,應該進入登錄界面
密碼更改后,登錄時是否做到了有效數據的校驗
對于未登錄狀態時,一些頁面的操作,是否做到了控制
切換賬號登錄,檢驗登錄的信息是否做到了及時更新
一個賬號只允許登錄一臺機器的軟件,需要賬號登錄多個手機時,是否將原用戶踢下線,且能夠給出提示信息
用戶登錄狀態太久,Session會過期,會出現“雖然是登錄狀態,系統會提示用戶沒有登錄”
注銷 略
上傳
上傳的文件是否有格式、大小要求,上傳時間是否合適
沒有上傳資料,點擊上傳按鈕是否有提示
在點擊提交后,是否上傳成功,是否可以正常瀏覽
上傳文件后,刷新頁面,系統是否正常處理
上傳文件后,多次使用回退、前進,APP是否正常響應
圖片是否支持主流的格式(jpeg,jpg,gif,png,bpm等)
音頻文件是否支持主流格式(mp3,wav等)
視頻文件是否支持主流格式(mp4,wmv,avi,mov,flv,swf等)
文檔文件是否支持主流格式(doc,docx,xlsx,xls,excel等)
壓縮包文件是否支持主流格式(zip,rar,tar,gz,7z)
是否支持單個文件上傳或批量上傳
上傳過程中網絡中斷,是否正常處理
文件上傳結束后,是否有提示信息并回到原來界面
下載
下載文件是否有文件大小和格式要求
導出全部數據,數據是否準確
導出大量數據,界面或程序是否會發生崩潰,導出時間是否合理
下載時同時進行其他操作是否會導致文件損壞
添加
輸入必填項,點添加按鈕,記錄是否成功添加
必填項內容不填,點添加按鈕,是否有相應提示
內容項中輸入空格,點添加按鈕,記錄能否添加成功
僅填寫必填項,點添加按鈕,記錄能否添加成功
重復提交相同記錄,系統是否有相應提示
內容項中輸入系統中不允許出現的字符、點添加按鈕,系統是否有相應提示
內容項中輸入html,js腳本,點添加按鈕,記錄能否添加成功
新添加的記錄是否排列在首行
刪除
選擇任意一條記錄,進行刪除,能否刪除成功
選擇不連續多條記錄,進行批量刪除,能否刪除成功
選擇連續多條記錄,進行批量刪除,能否刪除成功
刪除時,系統是否有確認刪除的提示
查詢
默認顯示全部
單個查詢條件進行查詢,系統能否查詢出相關記錄
多個查詢條件,進行組合查詢,系統能否查詢出相關記錄
系統能否支持模糊查詢
查詢條件全為空時,系統能否查詢出相關記錄
查詢后,文本框中內容應保存上一次查詢的條件
查詢大量數據時,按鈕響應是否及時
安裝
軟件安裝后是否可以正常運行
安裝過程中是否可以取消
安裝空間不足時是否有相應提示
安裝到本地還是SD卡,是否有提供選擇路徑
是否支持第三方工具安裝
是否支持從不同的應用市場進行下載安裝,是否可以重復安裝
卸載
是否可以通過桌面卸載或通過軟件安裝包卸載
卸載是否支持取消,單擊取消后,軟件是否正常
卸載文件后,是否刪除所有的安裝文件夾
升級
當客戶端有新版本時,是否有更新提示
當版本為非強制升級版時,用戶可以取消更新,老版本能正常使用,用戶在下次啟動App時,仍能出現更新提示
當版本為強制升級版時,當給出強制更新后,用戶沒有更新時退出客戶端,下次啟動App時,仍出現強制升級提示
在線跨版本升級后能否正常使用
升級后數據不變(登錄狀態、設置的信息、加載的資源等)
離線
應用程序在本地客戶端會緩存一部分數據以供程序下次調用,對于一些程序,離線狀態下可以瀏覽本地數據
離線時,刷新獲取新數據時,若不能獲取新數據時,能給出友好提示
界面的數據不提供離線查看,系統需要給出相應提示且界面更新后無任何數據
離線后,退出APP再開啟APP時能正常瀏覽
離線后,切換到后臺再回到APP應用時,可以正常瀏覽
離線后,鎖頻后再解鎖回到應用前臺,可以正常瀏覽
推送 完整版請于微信公眾號后臺回復“20191003”
交互
完整版請于微信公眾號后臺回復“20191003”
網絡
完整版請于微信公眾號后臺回復“20191003”
安全 權限
發送短信、撥打電話、連接網絡,沒有網絡時是否有提醒
是否允許訪問相冊、拍照、錄音、定位等
UI 頁面檢查
頁面按照UI設計原型圖實現,布局符合用戶使用習慣
恰當的利用窗體和控件的空白,以及分割線條
窗口切換、移動、改變大小時,界面顯示正常
刷新后,頁面顯示正常
不同瀏覽器下渲染出來的頁面顯示正常
不同分辨率下頁面布局顯示正常
無權限操作時按鈕置灰或不顯示,無法輸入的輸入框disable
無錯別字,或者提示性文字措詞恰當,準確
頁面顯示無亂碼
必填的控件,有必填提醒,如 *
控件(如菜單、對話框、按鈕,單選框、復選框)的布局、風格、是否正確,界面是否美觀,操作是否友好
兼容性
應用是否可以在Android和IOS兩個平臺上兼容
是否兼容不同的Android版本如4.1.1、4.2.1、IOS版本如8.3、9.1、10、11、12
能否適配各種屏幕尺寸,Android系列如4.X、5.X,IOS系列如4英寸、4.8英寸、5.5英寸
分辨率適配:分辨率不同,界面圖標、文字大小會不同,保證主流分辨率下圖標展示完整,文字不被遮擋
Android手機和IOS手機選取市面上主流手機即可,例如:小米、華為、vivo、oppo等;ios系統手機就是6、6s、6plus、7、8、x、xr
專項
CPU
略
內存
流量
耗電量
發熱量
FPS
GPU
APP測試常見面試問題
一、APP的測試資源準備有哪些?
1.IOS設備、Android設備(選取市面上主流手機產品);
2.支付寶/銀聯支付的項目,需要提前申請支付寶/銀聯賬戶等等;
3.有秒殺專題的題目,需要規劃秒殺時間表;
4.有優惠券使用的項目,需要添加優惠券數據;
二、APP測試的穩定性如何測試?
穩定性測試這項工作是在軟件產品基本功能無缺陷后進行的一項測試工作,一般使軟件系統滿足持續運行模式,進行正常情況、臨界情況的測試,看系統是否有異常。一般使用Monkey工具,向系統發送隨機事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等,實現對軟件的穩定性測試。
三、APP測試與Web測試的區別?
單純從功能測試的層面上來講的話,APP 測試、web 測試在流程和功能測試上是沒有區別的。
相同點:
1.同樣的測試用例設計方法;
2.同樣的測試方法:都會依據原型圖或效果圖檢查UI;
3.測試頁面載入和翻頁的速度、登錄時長、內存是否溢出等;
4.測試應用系統的穩定性;
不同點:
(1)系統結構方面
web項目,b/s架構,基于瀏覽器的;web測試只要更新了服務器端,客戶端就會同步會更新。
app項目,c/s結構的,必須要有客戶端;app 修改了服務端,則客戶端用戶所有核心版本都需要進行回歸測試一遍。
(2)性能方面
web項目 需監測 響應時間、CPU、Memory
app項目 除了監測 響應時間、CPU、Memory外,還需監測 流量、電量等
(3)兼容性方面
web項目:
1. 瀏覽器(火狐、谷歌、IE等)2. 操作系統(Windows7、Windows10、Linux等)
app項目:
1. 設備系統:iOS(ipad、iphone)、Android(三星、華為、聯想等) 、Windows(Win7、Win8)、OSX(Mac)
2. 手機設備可根據 手機型號、分辨率、屏幕尺寸不同
(4)相對于 Wed 項目,APP有專項測試
1. 干擾測試:中斷,來電,短信,關機,重啟等
2. 弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開后重連、3g切換到4g/wifi 等)
3. 安裝、更新、卸載,中斷、前后臺切換
安裝:需考慮安裝時的中斷、弱網、安裝后刪除安裝文件,全新安裝、升級安裝、第三方工具安裝等情況;
卸載:需考慮第三方工具卸載、直接卸載卸,載后是否刪除app相關的文件;
更新:分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新;
中斷:來電中斷、短信中斷、鬧鐘中斷、手機鎖定、手機斷電、手機死機4. 界面操作:關于手機端測試,需注意手勢,橫豎屏切換,多點觸控,前后臺切換
5. 安全測試:安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄等
6. 邊界測試:可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等
7. 權限測試:設置某個App是否可以獲取該權限,例是否可訪問通訊錄、相冊、照相機等
(5)測試工具方面
自動化工具:APP 一般使用 Appium; Web 一般使用 Selenium
性能測試工具:APP 一般使用Monkey、 JMeter; Web 一般使用 LR、JMeter
四、你知道哪些APP云測平臺?
百度云測、testin云測、眾測平臺等。
五、App測試中ios和Android有哪些區別呢?
1.Android長按home鍵呼出應用列表和切換應用,然后右滑則終止應用;
2.多分辨率測試,Android端20多種,ios較少;
3.手機操作系統,Android較多,ios較少且不能降級,只能單向升級;新的ios系統中的資源庫不能完全兼容低版本中的ios系統中的應用,低版本ios系統中的應用調用了新的資源庫,會直接導致閃退;
4.操作習慣:Android,Back鍵是否被重寫,測試點擊Back鍵后的反饋是否正確;應用數據從內存移動到SD卡后能否正常運行等;
5.push測試:Android點擊home鍵,程序后臺運行時,此時接收到push,點擊后喚醒應用,此時是否可以正確跳轉;ios點擊home鍵關閉程序和屏幕鎖屏的情況(紅點的顯示);
6.安裝卸載測試:Android的下載和安裝的平臺和工具和渠道比較多,ios主要有app store,iTunes和testflight下載;
7.升級測試:可以被升級的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個標示符區分新舊版本(如版本號);
六、APP出現ANR,是什么原因導致的?
簡單的總結有以下兩點:
1.主線程執行了耗時操作,比如數據庫操作或網絡編程
2.其他進程(就是其他程序)占用CPU導致本進程得不到CPU時間片,比如其他進程的頻繁讀寫操作可能會導致這個問題。
細分的話,導致ANR的原因有如下幾點:
1.耗時的網絡訪問
2.大量的數據讀寫
3.數據庫操作
4.硬件操作(比如camera)
5.調用thread的join()方法、sleep()方法、wait()方法或者等待線程鎖的時候
6.service binder的數量達到上限
7.system server中發生WatchDog ANR
8.service忙導致超時無響應
9.其他線程持有鎖,導致主線程等待超時
10.其它線程終止或崩潰導致主線程一直等待。
七、App出現crash原因有哪些?
和App崩潰相關的幾個因素:內存管理錯誤,程序邏輯錯誤,設備兼容,網絡因素:
1.內存管理錯誤:可能是可用內存過低,app所需的內存超過設備的限制,app跑不起來導致App crash。或是內存泄露,程序運行的時間越長,所占用的內存越大,最終用盡全部內存,導致整個系統崩潰。亦或非授權的內存位置的使用也可能會導致App crash。
2.程序邏輯錯誤:數組越界、堆棧溢出、并發操作、邏輯錯誤。例如,app新添加一個未經測試的新功能,調用了一個已釋放的指針,運行的時候就會crash。
3.設備兼容:由于設備多樣性,app在不同的設備上可能會有不同的表現。
4.網絡因素:可能是網速欠佳,無法達到app所需的快速響應時間,導致app crash?;蛘呤遣煌W絡的切換也可能會影響app的穩定性。
以上內容首發于“ITester軟件測試小?!?br />
總結
以上是生活随笔為你收集整理的给我两小时,我能写很长长长长长长的APP测试用例!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带你初识计算机
- 下一篇: 计算机表格判断是否合格操作,关于一些刚开