2016-01-21 108 views
1

我做了一個搜索,但找不到匹配,可能是由於「負載測試」這個短語的幾個含義......但我們要做的是確保我們的應用程序(即必須及時顯示更新數據的醫療設備)將以所需的吞吐量處理數據,即使iPhone變得繁忙 - 例如,如果有許多打開的應用程序需要CPU注意。負載測試的方法iOS應用

我們可以想到的最好的測試方法基本上是...打開一堆應用程序,也許嘗試通過向其發送大量帶有大附件的電子郵件來加載CPU。

但顯然這只是一種刺激風險。有沒有更好的技術或工具?謝謝你的幫助。

+1

那麼這是一個有點可怕的問題。考慮到您正在構建一個基於通用目的而不是實時操作系統的應用程序,我希望您可以從「必須」的非常寬鬆的定義開始工作。操作系統可以盡最大努力爲您提供CPU時間和其他資源,但不存在任何擔保和資源爭用或線程匱乏風險將始終存在。如果延遲獲取或呈現數據會對某人的健康構成實際風險,請停止並重新考慮您的方法。 – Jonah

+0

我曾使用iPhone供電的醫療溫度計。您需要遵守的準則以及您需要遵循的測試計劃才能通過FDA批准。手機,操作系統和設備的組合被認爲是一種醫療設備。真正可怕/有趣的同時。 – sheeptest

+1

但是,在軟件開發中必須是一個非常可怕的詞。特別是在談論數據傳輸或應用程序穩定性時。我建議任何負責監管質量控制的人員運行您的質量控制計劃和測試案例。我建議您隨時瞭解,您的應用可能會關閉,就像在傳統的醫療設備中一樣,它可能因某種異常原因而爆炸。準備好了解最糟糕的情況。 (如果一切正常,請隨時使用我的答案來指導您的測試計劃方法) – sheeptest

回答

2

從您的應用程序開發的角度來看,你需要把重點放在固定:

  • 會發生什麼事時,數據不會發送?」
  • 會發生什麼,當應用程序被關閉通過iOS版不管是什麼原因?

有一百萬的方式創建的場景,將導致不良情況的發生。瞭解你從一般失敗中受到保護是最安全的依靠。


從驗證現有應用程序的角度來看:

在過去的情景,當時我還沒有在應用程序的開發控制,我已經通過手動探索性測試測試了這些場景物理設備。

如今iPhone模擬器現在提供了很多實用程序,因此您可能不需要手動執行此操作。滾動到這些答案的底部。


測試時,該設備無法可靠地傳輸數據

  • 非技術性的方式:下去3G和飛行模式和頻繁切換連接,所使用的應用程序。
  • 更技術性的方法:通過您的計算機將您的手機設置爲代理。調整連接。 Charles這樣做。

當你扼殺了連接,使用應用程序來做任何交易與後端交談。

一旦您重新連接至Wi-Fi或更穩定的無線連接,它們是否會正確發送?


測試時CPU過載

  • 找到支持你的最高目標OS(iOS上的9例如iPhone 4S)最古老的電話,並在後臺打開了幾場比賽。

  • 積極使用您的應用程序約30分鐘。

    • 通過積極的我的意思是,假裝是一個不耐煩的用戶,在每個按鈕和屏幕上的其他地方點擊5次,直到您開始注意到緩慢。
  • 利用可能導致緩慢的區域。

熱點是:動畫,視頻的東西,導致數據去後臺,tableviews,收集意見等

  • 看看會發生什麼應用程序時,它崩潰。
    • 您註銷了嗎?
    • 是否有任何關鍵數據格式不正確或丟失?

使用這些東西

有關使用模擬器的說明模擬器。

模擬器是一種模擬內存警告的便捷方式,您可以用Charles來限制連接或強制重新啓動。但是CPU不會像在物理設備上測試一樣以同樣的方式進行節流。

除此之外,請參閱下面的屏幕截圖,瞭解可能對您有幫助的模擬器上的可用選項。

Force reboot or memory warning

Trigger iCloud Sync

希望這有助於!

+1

哇,真棒......謝謝!!! – Chris