app測試第三彈--移動App崩潰測試用例設計

啄木鳥軟件測試培訓網:www.3testing.com瀏覽器

  手機做爲專用的消費類電子產品須要進行如下測試:可靠性測試(對於硬件則是RQT;對於軟件則是field trial);標準符合性測試(FTA);互操做性測試(IOT);[color=rgb(68, 68, 68) !important]安全性測試(安規測試);強度測試等。


  其中,有些種類的測試,例如FTA,有嚴格的標準(GSM、3GPP等)來明確被測的功能點,測試人員所要作的是在測試用例的編寫中體現出這些功能點,而且儘可能營造這些測試用例所需的運行環境來完成測試,並反饋測試結果。可是對於[color=rgb(68, 68, 68) !important]性能測試,就沒有這樣的規範供測試人員來參考,所以性能測試須要進行哪些用例以及用例經過的指標的高低都有很大彈性,在很大程度上受限於測試人員的經驗和項目的資源和進度壓力。如何在資源、進度和質量之間找到平衡點是產品負責人須要考慮的問題,測試人員能夠左右的是劃定性能測試的範圍、明確與性能測試相關的設計需求(提升產品的可測試性)以及經過[color=rgb(68, 68, 68) !important]自動化測試[color=rgb(68, 68, 68) !important]工具等手段來進行更加有效的性能測試,提升產品的質量。


  1、手機性能測試的範圍


  性能測試強調長時間、重複或者高強度的進行某些操做,來驗證產品在各類極限條件下的表現。性能測試隸屬於[color=rgb(68, 68, 68) !important]軟件測試中的系統測試,它對軟件在集成系統中運行的性能行爲進行測試,旨在及早肯定和消除軟件中與構架有關的性能瓶頸。經過對測試數據和log的分析,還可能找出被測系統隱藏的缺陷。終端做爲移動通信類電子產品,其性能測試又主要和其實現的功能相關,大體可分爲如下幾類:


  1. 時間相關。


  時間相關的性能測試可分爲長時間保持測試和限定時間反應測試。


  長時間保持測試主要是測試終端長時間穩定進行某項功能的能力。主要包括長時間待機能力、長時間CS域業務保持能力、長時間PS域業務保持能力、長時間組合業務保持能力等。長時間待機測試,就是根據手機電池的能力連續不間斷待機必定時間(例如4天),以後驗證手機是否還可以發起主叫和被叫業務,可以發起主叫,表示終端在長時間待機後自身還處於正常狀態,可以發起被叫,說明終端在睡眠模式下能夠正常接收尋呼。長時間CS域業務保持測試,就是根據手機電池的能力連續不間斷進行語音通話或者[color=rgb(68, 68, 68) !important]視頻通話必定時間(例如2小時),測試通話期間圖象聲音是否連續、清晰,是否有單通現象出現,是否會有手機板子過熱現象。長時間PS域業務保持測試,主要是經過持續進行WWW業務、ftp業務或者流媒體業務必定時間(例如2小時),測試進行數據業務期間上下行數據傳輸率是否穩定,[color=rgb(68, 68, 68) !important]網頁顯示是否流暢,流媒體播放是否連續等。長時間組合業務保持測試,就是同時保持CS和PS域業務一段時間,以驗證終端長時間進行組合業務的能力。


  限定時間反應測試主要是測試終端在規定時間內對用戶的操做做出反應,給出操做結果的能力。主要包括開機駐留時延、關機時延、CS域業務接入時延、PS域業務接入時延、本地應用的操做時延等。開機駐留時延,是指從用戶按下開機鍵(終端上電、系統引導、啓動任務、搜索網絡、完成位置更新)到終端進入待機界面,提示用戶能夠進行正常服務的總時間。關機時延,是指從用戶按下關機鍵(終端完成網絡detach、將RAM中修改過的數據寫回flash)到終端徹底下電所需的總時間。CS域業務接入時延,是指在進行語音或視頻電話時從按下撥號鍵到聽到對方回鈴聲所需總時間,因爲該過程須要在網絡側分配資源,因此測試結果可能會受到當前網絡資源可用程度的影響,例如在網絡負荷高的時候申請CS 64k業務時,網絡側須要從新組織或合併沒有線資源來知足業務要求,所需時間相對會長一些。PS域業務接入時延,是指在進行數據業務時從開始鏈接到能正常進行數據業務所需總時間。本地應用的操做時延,是指完成某些本地操做維護功能所需的時間,例如打開電話薄,在電話薄裏查找聯繫人,存儲新建的聯繫人,存儲短信,存儲多媒體文件,打開瀏覽器,播放多媒體文件等所需時延,這些時延若是過長,也會極大地下降用戶體驗的滿意度。


  2. 次數相關。


  次數相關的性能測試是測試終端重複穩定地進行某項功能的能力。包括開關機成功率、小區初搜成功率、小區重選成功率、CS域業務成功率、PS域業務成功率、組合業務成功率、切換成功率、本地應用的成功率等。這種重複操做包括不少對象被屢次建立和釋放,所以可能會發現潛在的內存泄漏等問題。開關機成功率測試,主要是檢驗屢次開機是否會有物理層不能正確收到初搜命令的狀況,關機不徹底也可能會致使下一次開機失敗,以及在某些狀況下系統死機後只能經過插拔電池板來從新開機。CS域業務成功率的測試,是指經過進行必定次數的主叫或者被叫,統計失敗的次數,對失敗緣由進行歸類,分析是否可以找到和終端相關的失敗緣由。 PS域業務成功率、組合業務成功率、切換成功率的測試方法也相似。本地應用的成功率包括屢次存儲再刪除文件、聯繫人、短信等操做,以及屢次打開某個應用或執行某類操做來對該應用的穩定性進行測試,找出瓶頸。


  3. 併發業務。


  併發測試主要是測試終端同時進行多項業務時表現出的處理能力。例如同時進行CS域語音業務和PS域下載業務,或者在MP3播放的同時進行WWW上網業務,以測試協議棧、操做系統和處理器對併發業務的支持能力。


   4. 負載測試。


  負載測試主要是驗證系統的負載工做能力。系統配置不變的條件下,在必定時間內,終端在高負載狀況下的性能行爲表現。例如同時進行多個ftp下載,使下行傳輸率接近極限值,觀察終端是否能夠正常工做。


  2、手機性能測試的方法


  手機性能測試的方法按照自動化程度不一樣可分爲手工測試和[color=rgb(68, 68, 68) !important]自動測試


  手工測試主要是經過測試人員手動操做,並藉助某些監測儀器和工具,來驗證手機性能。但因爲手機功能衆多,而且性能測試工做量大,若是單個測試工程師靠手動按鍵來執行全部測試用例,花費的時間少則幾小時,多則須要幾天的時間,這樣耗費大量測試時間的同時也容易讓測試工程師產生疲倦甚至是厭倦心理,很容易形成測試的遺漏。手機測試中常碰到不少重複性高的工做,如發送數條 SMS 或者 MMS 以驗證其收發成功率以及穩定性、連續進行屢次呼叫、屢次對文件系統進行添加刪除操做、多任務多進程狀況下的衝突測試以及極限測試等等,都是重複性高的工做,手動執行的話費時費力,若是能有一套自動執行的機制,將能大大提升測試的效率。


  由此產生了對手機自動化測試工具的需求。手機這種板機的MMI功能測試不一樣於基於PC上的MMI測試,後者藉助PC平臺,目前市場上已有很是多功能強大且通用的自動測試工具支持其測試,如比較典型的有Winrunner, Robot, [color=rgb(68, 68, 68) !important]LoadRunner等等,但這些工具一般不能兼容到象手機這種嵌入式系統中來。這就要求測試人員可以基於當前平臺進行二次[color=rgb(68, 68, 68) !important]開發,來知足自動化測試的需求。


  手機的自動化性能測試通常分爲如下幾個步驟進行:


  1. 系統分析


  將系統的性能指標轉化爲性能測試的具體目標。一般在這一步驟裏,要分析被測系統結構,結合性能指標,制定具體的性能測試實施方案。這要求測試人員對被測系統結構和實施業務的全面掌握。


  2. 創建虛擬用戶腳本


  將業務流程轉化爲測試腳本,一般指的是虛擬用戶腳本或虛擬用戶。虛擬用戶經過驅動一個真正的客戶程序來模擬真實用戶。在這一步驟裏,要將各種被測業務流程從頭到尾進行確認和記錄,弄清這些過程能夠幫助分析到每步操做的細節和時間,並能精確地轉化爲腳本。此過程相似製造一個可以模仿人的行爲和動做的機器人過程。這個步驟很是重要,在這裏將現實世界中的單個用戶行爲比較精確地轉化爲計算機程序語言。若是對現實世界的行爲模仿失真,不能反映真實世界,性能測試的有效性和必要性也就失去了意義。


  3. 根據用戶性能指標建立測試場景


  根據真實業務場景,對生成的測試腳本進行復制和控制,轉化爲知足性能測試指標的測試用例集。在這個步驟裏,對腳本的執行制定規則和約束關係。具體涉及到對業務類型,併發時序等參數的設置。這比如是指揮腳本運行的司令部。這個步驟十分關鍵,每每須要結合用戶性能指標進行細緻地分析。


  4. 運行測試場景,同步監測應用性能


  在性能測試運行中,實時監測能讓測試人員在測試過程當中的任什麼時候刻均可以瞭解應用程序的性能優劣。系統的每一部件都須要監測:協議棧,MMI應用程序,內存佔用狀況,驅動程序運行狀態等。實時監測能夠在測試執行中及早發現性能瓶頸。


  5. 性能測試的結果分析和性能評價


  結合測試結果數據,分析出系統性能行爲表現的規律,並準肯定位系統的性能瓶頸所在。在這個步驟裏,能夠利用數學手段對大批量數據進行計算和統計,使結果更加具備客觀性。在性能測試中,須要注意的是,可以執行的性能測試方案並不必定是成功的,成敗的關鍵在於其是否精確地對真實世界進行了模擬。



  在整個性能測試過程當中,自動化測試工具的選擇只能影響性能測試執行的複雜程度,簡便一些或繁雜一些;但人的分析和思考卻會直接致使性能測試的成敗。因此這裏着重於對性能測試思路的整理。測試工具的介紹能夠參看有關自動化測試工具的資料。安全

顧翔凡言:微信

測試工具的確不是銀彈,優秀的測算工程師是咱們急需的。網絡

啄木鳥軟件測試培訓中心,主打五門課:併發

初級:
1,你也想成爲軟件測試工程師嗎~軟件測試基礎教程
中級:
2,軟件測試工程師必須掌握的技能~軟件測試設計方法實戰。
高級:
3,讓你的程序跑得更快~軟件性能測試
4,讓你找出更多的bug~探索式軟件測試
5,讓用戶迷上你的產品~用戶體驗式測試
工具



本文分享自微信公衆號 - 軟件測試培訓(iTestTrain)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。性能

相關文章
相關標籤/搜索