1.web測試和app測試的相同點和區(qū)別
相同點:
不管是傳統(tǒng)行業(yè)的web測試還是app測試兵怯,都離不開測試的基礎(chǔ)知識间雀;同樣的設計測試用例方法:邊界值分析法葱她、等價類劃分法撞反、錯誤推測法、場景法同樣的測試方法:黑盒測試租冠,驗證業(yè)務功能是否正確符合用戶設計預期鹏倘;都要檢查UR:界面的布局、風格和按鈕等是否簡介美觀顽爹、是否統(tǒng)一等纤泵;頁面性能檢測:測試頁面載入和翻頁的速度、登錄時長镜粤、內(nèi)存是否溢出等捏题;應用的穩(wěn)定性:測試應用系統(tǒng)的穩(wěn)定性玻褪,不會閃退卡死等;
不同點:
相對于web測試公荧,app測試除了要考慮基本的功能带射、性能等等,還要考慮手機本身固有的屬性特性循狰,所以在app測試過程中還需要注意以下幾個方面特性:手機作為通信工具:來去點窟社,接收短信等操作都會對APP應用程序產(chǎn)生影響,所以APP測試第一個要考慮的屬性特性是:中斷測試绪钥。中斷測試有人為的灿里,也有新任務中斷以及意外中斷等幾種情況,主要從以下幾個方面驗證:a.來電中斷:呼叫掛斷程腹、被呼叫掛斷钠四、通話掛斷、通話被掛斷跪楞;b.短信中斷:接收短信缀去,查看短信c.其他中斷:藍牙鬧鐘插拔數(shù)據(jù)線、手機鎖定甸祭、手機斷電缕碎、手機問題(系統(tǒng)死機、重啟)
手機用戶對APP產(chǎn)品的安裝卸載操作:
a.從上一個版本上兩個版本直接升級到最新版本b.全部安裝新版本c.新版本覆蓋舊版本安裝d.卸載舊版本池户,安裝新版本e.卸載新版本咏雌,安裝新版本
web自動化測試使用工具比較常用的是qtp,而安卓手機自動化測試工具比較常用的是monkey/moneyrunner/appium校焦;
界面操作:現(xiàn)在app產(chǎn)品的用戶都是使用的觸摸屏手機赊抖,所以測試的時候還要注意手勢、橫豎屏切換寨典,多點觸控氛雪,事件觸發(fā)區(qū)域等測試;
2.如何測試一個APP的登錄功能
功能測試(Function test)
1.輸入正確的用戶名和密碼耸成,點擊提交按鈕报亩,驗證是否能正確登錄。
2.輸入錯誤的用戶名或者密碼, 驗證登錄會失敗井氢,并且提示相應的錯誤信息弦追。
3.登錄成功后能否能跳轉(zhuǎn)到正確的頁面
4.用戶名和密碼,如果太短或者太長花竞,應該怎么處理
5.用戶名和密碼劲件,中有特殊字符,和其他非英文的情況
6.記住用戶名的功能及已輸入的用戶名和密碼是否會自動清除
7.登陸失敗后,不能記錄密碼的功能
8.用戶名和密碼前后有空格的處理
9.密碼是否以星號顯示
界面測試(UI Test)
1.布局是否合理零远,2個testbox 和一個按鈕是否對齊
2.testbox和按鈕的長度苗分,高度是否復合要求
性能測試(performance test)
1.打開登錄頁面,需要幾秒
2.輸入正確的用戶名和密碼后遍烦,登錄成功跳轉(zhuǎn)到新頁面,不超過5秒
安全性測試(Security test)
1.登錄成功后生成的Cookie躺枕,是否是httponly (否則容易被腳本盜取)
2.用戶名和密碼是否通過加密的方式服猪,發(fā)送給Web服務器
3.用戶名和密碼的驗證,應該是用服務器端驗證拐云, 而不能單單是在客戶端用javascript驗證
4.用戶名和密碼的輸入框罢猪,應該屏蔽SQL 注入攻擊
5.用戶名和密碼的輸入框,應該禁止輸入腳本 (防止XSS攻擊)
6.錯誤登陸的次數(shù)限制(防止暴力破解)
7. 考慮是否支持多用戶在同一機器上登錄叉瘩;
8. 考慮用戶在多臺機器上登錄
可用性測試(Usability Test)
1. 是否可以全用鍵盤操作膳帕,是否有快捷鍵
2.輸入用戶名,密碼后按回車薇缅,是否可以登陸
3.牽扯到驗證碼的危彩,還要考慮文字是否扭曲過度導致辨認難度大,考慮顏色(色盲使用者)泳桦,刷新或換一個按鈕是否好用
兼容性測試(Compatibility Test)
1.主流的瀏覽器下能否顯示正常已經(jīng)功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
2.不同的平臺是否能正常工作汤徽,比如Windows, Mac
3.移動設備上是否正常工作,比如Iphone, Andriod
4.不同的分辨率
軟件輔助性測試 (Accessibility test)
軟件輔助功能測試是指測試軟件是否向殘疾用戶提供足夠的輔助功能
1. 高對比度下能否顯示正常 (視力不好的人使用)
3.推送消息如何測試
1灸撰、檢查Push消息是否按照指定的業(yè)務規(guī)則發(fā)送谒府。
2、檢查不接收推送消息時浮毯,用戶不會在接收到Push消息完疫。
3、如果用戶設置了免打擾的時間段债蓝,檢查在免打擾時間段內(nèi)壳鹤,用戶接收不到Push。在非免打擾時間段內(nèi)饰迹,用戶能正常收到Push器虾。
4、當Push消息是針對登錄用戶的時候蹦锋,需要檢查收到的Push與用戶身份是否相符兆沙,沒有錯誤的將其他人的消息推送過來。一般情況下莉掂,只對手機上最后一個登錄用戶進行消息推送葛圃。
5、測試Push時,在開關(guān)機库正、待機狀態(tài)下執(zhí)行推送曲楚,消息及其推送跳轉(zhuǎn)的正確性。
6褥符、push消息時龙誊,會有紅點展示,推送消息閱讀前后數(shù)字的變化是否正確喷楣;
7趟大、應用在開發(fā)、未打開狀態(tài)铣焊、應用啟動且在后臺運行的情況下是push顯示和跳轉(zhuǎn)是否正確逊朽。
8、多條推送的合集的顯示和跳轉(zhuǎn)是否正確曲伊。
4.APP閃退是由哪些原因造成的
帶寬限制:帶寬不佳的網(wǎng)絡對App所需的快速響應時間可能不夠叽讳。
網(wǎng)絡的變化:不同網(wǎng)絡間的切換可能會影響App的穩(wěn)定性。
內(nèi)存管理:可用內(nèi)存過低坟募,或非授權(quán)的內(nèi)存位置的使用可能會導致App失敗岛蚤。
用戶過多:連接數(shù)量過多可能會導致App崩潰。
代碼錯誤:沒有經(jīng)過測試的新功能懈糯,可能會導致App在生產(chǎn)環(huán)境中失敗灭美。
第三方服務:廣告或彈出屏幕可能會導致App崩潰。
5.測試過程中遇到APP出現(xiàn)ANR的時候昂利,你會怎么處理
可以先把日志過濾出來: adb logcat | findstr xxxxx(過濾日志信息) 届腐,然后再搜索其中的關(guān)鍵字,比如:exception蜂奸、crash犁苏,看看是那些方法或者異常導致了問題的發(fā)送,初步定位問題原因后扩所,可以交給開發(fā)人員去具體查找深層原因并修復围详。
6.如何查看移動端的日志以及報錯的異常有哪些
網(wǎng)上現(xiàn)在有的日志收集框架包括log4j、logback祖屏、CocoaLumberjack助赞、Xlog、Logan袁勺、Glog(谷歌)等等
異常:
1雹食、ArithmeticException - 算術(shù)運算中,被0除或模除期丰。
2群叶、ArrayIndexOutOfBoundsException - 數(shù)組越界訪問吃挑。
3、ArrayStoreException - 數(shù)據(jù)存儲異常街立,寫數(shù)組操作時舶衬,對象或數(shù)據(jù)類型不兼容。
4赎离、ClassCastException - 類型轉(zhuǎn)換異常逛犹。
7.APP測試需要測哪些,如何展開測試工作
功能
首先設計的功能必須是100%的測試梁剔,而且是最基本的測試虽画。安裝卸載
App可以正常安裝啟動,各大應用市場下載安裝憾朴,升級安裝狸捕,跨版本升級安裝喷鸽,手機存儲滿時安裝众雷。安裝時的權(quán)限也是很重要的。
App的卸載應該很容易做祝,直接系統(tǒng)自帶卸載砾省。流暢度
App的流暢度最能考驗一款軟件的易用性。如果一個軟件打開就卡混槐,隨便滑動幾下頁面就卡死编兄,誰還會用第二次?兼容性
對于兼容性声登,因為公司不可能給你所有市場上的安卓機狠鸳,所以盡量在自己有的機子上測試通過的條件下,去各大網(wǎng)站遠程真機測試悯嗓,有很多都是免費的件舵。
對于iOS,可以在電腦上模擬真機測試跑跑smoke脯厨。網(wǎng)絡
弱網(wǎng)铅祸,2g,2.5g合武,3g临梗,4g,wifi情況下的使用稼跳。網(wǎng)絡切換時的使用盟庞,模擬地鐵,停車場等的測試都是很有必要的汤善。流量消耗
偷偷盜用流量的手機app茫经,只要發(fā)現(xiàn)我就會刪除巷波,所以流量消耗的測試一定要多測試。主要看看斷開wifi情況下會不會偷跑流量卸伞。低配手機
低配手機一般都指安卓4.4.0以下版本的手機抹镊,運行內(nèi)存不大,很容易卡住荤傲】宥可以看看低配手機下是否能正常運行app,該顯示的都能正常顯示遂黍。
8.APP的性能測試的關(guān)注點有哪些
app性能測試分類:
1终佛、響應
2、內(nèi)存
3雾家、cpu
4铃彰、FPS (app使用的流暢度)
5、GPU過度渲染
6芯咧、耗電
7牙捉、耗流
(app除了這些性能測試,還有:手機版本號兼容性敬飒,屏幕分辨率兼容性邪铲,穩(wěn)定性測試,安全測試等无拗,后續(xù)會持續(xù)更新… 流量測試同這些一起更新带到,這里就不在說明了 )
App性能測試響應點:
主要測試點:
1、冷啟動:首次啟動app的時間間隔(只是啟動時間英染,不包括頁面加載)
2揽惹、熱啟動:非首次啟動app的時間間隔(只是啟動時間,不包括頁面加載)
3四康、完全啟動:從啟動到首頁完全加載出來的時間間隔
4搪搏、有網(wǎng)啟動:從發(fā)起跳轉(zhuǎn),到頁面完全加載出來的時間間隔
5箭养、無網(wǎng)啟動:從發(fā)起跳轉(zhuǎn)慕嚷,到頁面完全加載出來的時間間隔
(在項目中,主要測試關(guān)注點是冷啟動毕泌,熱啟動)
測試標準:冷啟動時間不超過1.5s, 熱啟動不超過1s.
內(nèi)存:
測試點:
1喝检、空閑狀態(tài):切換至后臺或者啟動后不做任何操作,消耗內(nèi)存最少撼泛。
2挠说、中強度狀態(tài):時間偏長的操作應用。
3愿题、高強度狀態(tài):高強度使用應用损俭,可以跑monkey來測試(通常用來測試內(nèi)存泄漏)蛙奖。
CPU:
CPU測試,主要關(guān)注的是cpu的占用率杆兵。很多時候雁仲,我們玩手機時,會出現(xiàn)發(fā)熱發(fā)燙琐脏,那是因為CPU使用率過高攒砖,CPU過于繁忙,會使整個手機無法響應用戶日裙,整體性能降低吹艇,用戶體驗就會很差,也容易引起ANR(application not responding, 主線程(UI線程)如果在規(guī)定時內(nèi)沒有處理完相應工作昂拂,就會出現(xiàn)ANR)等等一系列問題受神。
測試點:
1).在空閑時間(切換至后臺)的消耗,基本沒大應用使用cpu
2).在運行一些應用的情況下格侯,cpu已占50%的情況下鼻听,觀察應用程序占用cpu的情況
3).在高負荷的情況下看CPU的表現(xiàn)(cpu占用應是在80%以上)
FPS (應用的使用流暢度)
FPS是圖像領(lǐng)域中的定義,是指畫面每秒傳輸幀數(shù)养交,通俗來講就是指動畫或視頻的畫面數(shù)精算。FPS是測量用于保存瓢宦、顯示動態(tài)視頻的信息數(shù)量碎连。每秒鐘幀數(shù)愈多,所顯示的動作就會愈流暢驮履。
′一般來說鱼辙,Android設備的屏幕刷新率為60幀/s,要保持畫面流暢不卡頓玫镐,要求每一幀的時間不超過1000/60=16.6ms倒戏,這就是16ms的黃金準則,如果中間的某些幀的渲染時間超過16ms恐似,就會導致這段時間的畫面發(fā)生了跳幀杜跷,因此原本流暢的畫面變發(fā)生了卡頓。
GPU渲染
GPU渲染是指在一個像素點上繪制多次(超過一次):顯示一個什么都沒有做的activity界面算作畫了1層矫夷,給activity加一個背景是第2層葛闷,在上面放了一個Text View(有背景的Text View)是第3層,Text View顯示文本就是第4層僅僅只是為了顯示一個文本双藕,卻在同一個像素點繪制了四次,這是一定要優(yōu)化的淑趾。過度繪制對動畫性能的影響是極其嚴重的,如果你想要流暢的動畫效果忧陪,那么一定不能忽視過度繪制扣泊。
耗電量
測試應用對電量的消耗前需要對手機本身的電量消耗有個大概了解近范,測試前先看規(guī)定時間內(nèi)手機正常待機下(重啟后待機)電量消耗為多少。然后再啟動待測試APP看看消耗的電量增加了多少取差值延蟹。
測試點:
測試手機安裝目標APK前后待機功耗無明顯差異评矩;
常見使用場景中能夠正常進入待機,待機電流在正常范圍內(nèi);
長時間連續(xù)使用應用無異常耗電現(xiàn)象骑素。
9.如何對APP進行弱網(wǎng)測試
弱網(wǎng)測試主要是對2G/3G/4G以及高延遲高丟包的這幾種狀態(tài)做模擬然后看下app的容錯性如何揭斧。那么弱網(wǎng)測試的主要關(guān)注點在哪里呢?
(1)頁面相應時間是否可接受果录,關(guān)注包括熱啟動,冷啟動時間咐熙,頁面切換弱恒,前后臺切換,首字時間棋恼,首屏時間等返弹。
(2)頁面成仙是否完整一致
(3)超時文案是否符合定義,一場信息是否顯示正常爪飘。
(4)是否會有超時重連
(5)大流量時間風險:是否會在弱網(wǎng)下進行更新Apk包义起,下載文件等大流量動作
弱網(wǎng)測試工具
fiddler 模擬網(wǎng)絡延遲
lNetwork Emulation for Windows Toolkit 模擬網(wǎng)絡丟包