在模擬器、模擬器與實際設備上進行測試

网際網路上之測試與應用程式測試一直是整體開發流程中重要的部分。測試包含尋找及解決錯誤 — 無論是在導航中發現瑕疵、註冊表單問題、付款處理中斷,或者是字體大小 simply a simple difference。然而,測試可以確保每次更動不會在不同設備上破坏使用者體驗。

拥有健全測試流程的关键之一是進行測試的設備。彻底的測試程序在不同的設備上執行時也可能会產生結果的變化。因此,測試設備的重要性不容忽視。對於在移動設備上進行測試來說,这种重要性更大,因為設備種類多樣,有不同的作業系統、瀏覽器和硬體配置。

讓我們來研究不同的移動測試設備解決方案以獲得更深入的了解。

移動測試設備解決方案的類型

隨著技術的演進,測試也看到了在各種移動測試設備解決方案中 Advances in various mobile testing device solutions。這些移動測試解決方案是为了支持網站跨瀏覽器測試移動應用程序測試而构建的,通過分析應用程序的行為、功能和界面方面在不同手機上的表現。

這種測試的主要目的是確保網站和應用程序在不同的行動設備上行為一致。由於這些設備在硬件配置、作業系統和屏幕解析度上有所不同,因此在某個設備上可能以某種方式工作需要,對於其他設備來說可能會有所變化。

在行動設備上進行的測試主要分為兩類:

  • 真实設備
  • 虛擬設備

什麼是真實設備?

真實測試設備是各種型号的移動手機,用來運行網站或應用程序以測試其功能和行為模式。這些是最終用戶會使用的 actual 手機。

通常,測試團隊購買幾款搭載 iOS、Blackberry、Android 手機、平板電腦和 iPad 的移動手機來測試他們的軟體應用程序。

測試設備的演變:從真實到虛擬測試設備

雖然在真實設備上測試產生的結果非常準確,但測試成本較高,因為公司必須購買多部設備,並且需要 periodically update them 當新的設備上市。

這種在真实設備上進行測試的開支,是公司們通過引進如模拟器和响了器等虛擬測試設備來克服的巨大挑戰。因此,在進行跨瀏覽器兼容性測試的 Software時,虛擬測試設備變得常吃。

什麼是虛擬測試設備?

虛擬測試設備是一款安裝在電腦上的軟件程序, Unlike真實設備,它提供模擬大部分真實智能手机設備的重要功能。它模擬手機的本質,幫助測試者在其上運行 Software應用程序,以了解它會在指定的真實設備上如何運行。

儘管虛擬測試設備 happen to 模擬設備且成本效益高,但它無法因為準確性和可靠性问题而取代真实設備。

虛擬測試設備有兩種類型:

  • 响了器
  • 模擬器

响了器是什麼?

响了器是一款software that mimics the hardware and software of the target device on your computer. They do this by translating the ISA (Instruction Set Architecture) of the target device to the one used by the computer you are using to conduct testing using binary translation.

ISA 是每個處理器家族用來撰寫機器語言的一套指示,它們用來建造自己的設備配置,描繪设备的 functionality 和行為。

透過將目標行動設備的 ISA 翻譯到您的電腦,您可以模擬目標設備的运作方式,形成一個用於測試的虛擬環境。

然而,這些讓您可以調整物理感測器、地理位置等功能的目標行動設備的近乎原生能力,是以延遲為代價的。

Android 模擬器Galaxy 模擬器iPhone 模擬器(實際上是 iOS 模擬器的誤称)是 software 測試中廣泛使用的模擬器之一。

模擬器是什麼?

模擬器是一種software,幫助您的電腦運行為不同作業系統建造的某些程序。它們大多是用於 iPhone 和 iPad 設備,與 Android 設備容易模擬不同。

<iOS 模擬器模擬 iOS 並在電腦作業系統之上運行所需應用程式。但要在 iOS 模擬器上運行,必須在 macOS 上操作,因為它需要蘋果的原生 Cocoa API。這個 Cocoa API 對於 GUI、運行時及許多其他操作至關重要。

這造成了一個問題,因為開發人員必須在 MacBook 上工作,或者在現有系統上虛擬化 macOS。

與模擬器不同,模擬器並不模擬硬體。因此,在使用模擬器進行測試時,無法調查電池使用、行動通訊中斷等某些功能。

模擬器與模擬器的對比:了解差異

這些虛擬測試設備有時會在交流中被交替使用,但實際上,模擬器與模擬器在許多方面都存在差異。

Criteria Emulators Simulators
目標區域 移動設備硬體、軟體和作業系統 移動設備的內部行為
提供者 模擬器由設備製造商提供 模擬器由設備製造商和其他公司提供
內部結構 寫活动在機器級汇编語言 寫活动在高层語言
適合於除錯 模擬器可靠且更適合於除錯 然而,模擬器較不可靠且不那麼適合於除錯
性能 二進制翻譯讓它們因為延遲而較慢 模擬器較快,因為沒有二進制翻譯
示例 Android SDK iOS 模擬器

真實測試設備與虛擬測試設備

真實測試設備和虛擬測試設備在功能上有差異

Criteria Real Testing Device Virtual Testing Device
成本 大批購買真實設備成本過高 通常可以免费安裝,因此成本最低
可靠性 真實設備展現精確結果並允許在與用戶相同條件下進行測試 虛擬測試設備只模擬設備,並不能模擬真實用戶條件,如硬體和軟體配置
處理速度 在真實設備上進行軟體測試要快得多 由於二進制翻譯,virtual devices上進行軟體測試較慢
適合於除錯 使用真實測試設備進行除錯可能會比較棘手,特別是當捕獲缺陷時。 虛擬設備透過其特性,讓步驟化的除錯变得更加簡單,您可以捕獲缺陷
跨平台測試 通常跨平台測試可以使用真實設備進行 使用虛擬設備可以無縫進行跨平台測試

真實設備、仿眞器和模擬器:何時使用何種設備進行測試

這些設備提供的特性,如果勤於使用,可以產生最佳化的結果,使跨瀏覽器兼容性測試變得更加容易。最佳實踐主要包括在正確的設備上進行測試以獲得更好的結果。

由於虛擬設備提供更好的除錯功能,因此在程式開發的初期階段使用最適合。虛擬設備可以通過初期階段所需的頻繁迭代,使週期變得更快且更有效率。

另一方面,由於準確度的因素,Sanity Testing 和 User Acceptance Testing 可以用真實設備進行更好的測試。在一定時點後,回測的一部分仍可使用虛擬設備進行,但可能會導致結果受到影响。

使用真實設備雲服務踏出一大步

實際和虛擬設備有優點和缺點,使它們適合於測試的一個階段,而不那麼適合於其他階段。然而,測試採用真實設備雲可以提供兩者的最佳效果。
使用一個真實設備雲即可正確完成您的測試,並為您提供

因此,真實設備雲是理想的解決方案,既適合測試人员尋找錯誤,也適合開發人员輕鬆修復錯誤,同時保持成本低廉。

Source:
https://www.browserstack.com/guide/testing-on-emulators-simulators-real-devices-comparison