2012-12-09 170 views
-4

最近在QCon中,Gerard Meszaros說我們應該只在模擬器上運行自動化測試來提高效率。我們也在考慮移動自動化測試。但我不確定是否會出現一些只能在真實設備中發現的問題?或者某些組件如相機,重力感應器無法在模擬器/仿真器中測試?謝謝!真實設備和模擬器/仿真器有什麼區別?

編輯:

你可以找到傑拉德的幻燈片在這裏:http://www.slideshare.net/pinot_noir/ensuring-quality-in-cloud-and-mobile-applications

我再次閱讀幻燈片,發現我誤解了他的觀點。他的真正含義是我們應該儘量避免在硬件上進行調試(第41頁)。他還提到我們可以將傳出請求捕獲到傳感器和其他服務,然後注入響應。也許我們可以選擇一些無法在模擬器中完全測試的案例,然後使用真實設備進行測試。

謝謝您的所有意見! :)

+0

這太寬泛了,難道你沒有更具體的應用類型? – KillianDS

+1

只能在模擬器上運行測試等語句,這是來自應該被忽略的人的陳述。仿真無疑在測試中佔有一席之地,然而沒有任何一個能力的人會說仿真對於所有測試都是有效的。而且,沒有一個具有競爭力的人會認爲模擬在所有情況下都更有效率,因爲根據模擬它可能很容易變慢。例如,Android模擬通常比設備慢,而iOS模擬提供了一個接近但不準確的環境。 – mah

+0

@mah android模擬速度慢。因爲它不是模擬它是'emulation' :) –

回答

1

最近在QCon中,Gerard Meszaros說我們應該只在模擬器上運行自動化測試來提高效率。

這真是奇怪的建議,如果那真的是Meszaros先生說的話。在模擬器上運行測試是好的,但「僅」是過度的建議。在設備上運行自動化測試沒有什麼壞處,您可以從中學到很多東西。

但我不確定是否會出現一些只能在真實設備中發現的問題?

當然。

  • 許多裝置具有多核CPU,而模擬器只模擬在這個時候
  • 設備存儲空間往往運行速度變慢了很多比不存儲在模擬器上
  • 設備製造商採用Android鼓搗單核以不會出現在運行股票的仿真器上的方式Android
  • 模擬器僅鬆散地模擬與電力,互聯網(例如,沒有移動數據,沒有WiFi),GPS,傳感器,相機等有關的硬件。
  • 模擬器不支持一些設備功能,如ne w V2版本的Maps,Play商店,Android 4.2上的多個帳戶等。

依此類推。

或者某些組件如相機,重力感應器無法在模擬器/仿真器中測試?

那些難以用自動化的方式進行測試。

+0

根據http://stackoverflow.com/a/13734937/14731,模擬器可以運行Android Maps v2。 – Gili

+0

@Gili:只能通過軟件盜版。 – CommonsWare

+0

我認爲這是一個灰色地帶。 Google很明顯計劃在不久的將來提供這種功能。同樣很明顯的是,開發人員將「真誠」作爲解決方法,直到Google推出正式版本。我沒有聽說過任何人使用這種「不誠實」,是嗎? – Gili