Testing iOS Apps with HadoopUnit: Rapid Distributed GUI Testing (Synthesis Lectures on Software Engineering)

Scott Tilley, Krissada Dechokul

商品描述

Smartphone users have come to expect high-quality apps. This has increased the importance of software testing in mobile software development. Unfortunately, testing apps—particularly the GUI—can be very time-consuming. Exercising every user interface element and verifying transitions between different views of the app under test quickly becomes problematic. For example, execution of iOS GUI test suites using Apple’s UI Automation framework can take an hour or more if the app’s interface is complicated. The longer it takes to run a test, the less frequently the test can be run, which in turn reduces software quality.

This book describes how to accelerate the testing process for iOS apps using HadoopUnit, a distributed test execution environment that leverages the parallelism inherent in the Hadoop platform. HadoopUnit was previously used to run unit and system tests in the cloud. It has been modified to perform GUI testing of iOS apps on a small-scale cluster—a modest computing infrastructure available to almost every developer.

Experimental results have shown that distributed test execution with HadoopUnit can significantly outperform the test execution on a single machine, even if the size of the cluster used for the execution is as small as two nodes. This means that the approach described in this book could be adopted without a huge investment in IT resources. HadoopUnit is a cost-effective solution for reducing lengthy test execution times of system-level GUI testing of iOS apps.

Table of Contents: Foreword / Preface / Acknowledgments / Dedication / Introduction / Background / Using UI Automation with HadoopUnit / Rapid GUI Testing of iOS Apps / Summary / Appendix A: Setting up a HadoopUnit Cluster on Mac OSX / Ap-pendix B: HadoopUnit Source Code for iOS GUI Testing / References / About the Authors

商品描述(中文翻譯)

智慧型手機使用者對高品質的應用程式有著很高的期望。這增加了在移動軟體開發中軟體測試的重要性。不幸的是,測試應用程式,特別是圖形使用者介面(GUI),可能非常耗時。對於測試的每個使用者介面元素進行操作,並驗證在測試的應用程式的不同視圖之間的轉換,很快就變得困難。例如,如果應用程式的介面復雜,使用蘋果的UI Automation框架執行iOS GUI測試套件可能需要一個小時甚至更長的時間。測試運行所需的時間越長,測試運行的頻率就越低,這反過來降低了軟體的品質。

本書介紹了如何使用HadoopUnit加速iOS應用程式的測試過程。HadoopUnit是一個分散式測試執行環境,利用Hadoop平台內在的並行性。HadoopUnit以前用於在雲端上運行單元測試和系統測試。它已經被修改為在小型集群上執行iOS應用程式的GUI測試,這是幾乎每個開發者都可以使用的一個適度的計算基礎設施。

實驗結果表明,使用HadoopUnit進行分散式測試執行可以顯著優於在單台機器上執行測試,即使用於執行的集群大小只有兩個節點。這意味著本書中描述的方法可以在不需要大量投資IT資源的情況下採用。HadoopUnit是一個成本效益高的解決方案,可以減少iOS應用程式系統級GUI測試的長時間執行時間。

目錄: 前言 / 序言 / 致謝 / 獻辭 / 引言 / 背景 / 使用HadoopUnit進行UI Automation / 快速GUI測試iOS應用程式 / 總結 / 附錄A: 在Mac OSX上設置HadoopUnit集群 / 附錄B: 用於iOS GUI測試的HadoopUnit源代碼 / 參考文獻 / 關於作者