Android相容性測試是用以驗證Android裝置的實作是否符合Google官方制定的相容性標準,以確保Android應用程式可在裝置上順利執行。然而,Google提供的Android相容性測試套件(Compatibility Test Suite, CTS)含有數量龐大的測試案例,因此執行相容性測試需長達數小時之久,嚴重影響Android裝置的開發時程。為能縮短Android相容性測試的時間,加快裝置上市的時程,本論文提出一個基於雲端測試改善Android相容性測試效率的方法,此方法利用雲端運算的虛擬化技術,將CTS測試套件分散至多個相同的Android裝置上平行執行測試。為進一步提升相容性測試的效率,本方法並透過實驗探討不同的裝置數量、測試工作排程與測試工作分割方式對Android相容性測試效率的影響。實驗結果顯示當待測裝置數量增為16台以上時,相容性測試效率約可提升3倍,而搭配Longest Job First的排程和混合不同測試工作大小的分割方式則有較佳的測試執行效率。
The Android compatibility testing is used to verify if an Android device is compliance with the Android compatibility standards proposed by Google for ensuring that Android Apps can be executed on the device correctly. However, the Compatibility Test Suite (CTS) provided by Google contains a huge number of test cases and, hence, it would take several hours to execute all the tests of CTS. This could seriously affect the development schedule of Android devices. To reduce the time of performing Android compatibility testing and shorten the time-to-market of Android devices, this thesis presents an approach for improving Android compatibility testing efficiency over cloud. Particularly, the approach leverages the virtualization technique of cloud computing and distributes CTS test suites to multiple Android devices to perform compatibility testing concurrently. In addition, to improve the compatibility testing efficiency further, the approach explores how can the number of Android devices, test scheduling, and test partitioning influence the testing efficiency through several experiments. The experimental results show that the Android compatibility testing efficiency can be improved about three times as the number of devices increase up to 16. Moreover, the results also indicate that the Longest Job First (LJF) scheduling and the mixed-granularity test partitioning can result in better testing efficiency.