XcodeによるGUIのオートメーションテスト


前回書いたようにXcodeはOCUnitによるObjective-Cユニットテストを簡単に実行できる。ではGUIのテストはどうするのだろう。

GUIのテストといっても、大きく分けて

・実際にGUIを生成して操作を模したテスト(オートメーションテスト)
GUIを模したモック(Mock)を使用して擬似的な操作をテスト(モックテスト)

とあるのだが、ここで言及するのは前者であり実際のGUI(又はシミュレータ)を使ったテストだ。

少し調べてみたのが、どうやらInstrumentとそれ用に用意されたJavascriptを使うことでiOSのオートメーションテストを実行できるようだ。

WWDC 2010 Video: Automating User Interface Testing with Instruments
この動画の視聴にはiTunesが必要だが、非常に分かり易く必見だ。

UI Automation Reference Collection
UIATarget Class
スクリプトで使用するクラス群。

あと、Androidではおなじみのこんなのもある。
UI テストツール「NativeDriver」の iOS 版をリリースしました - Google Japan Developer Relations Blog

NativeDriverを使うことで同じようにAndroidiPhone向けのアプリケーションをテストできるようだ。
巷のサービスは概ねこの二つのプラットホームをサポートしているので、これらのアプリケーションを開発するのにとても良いと思うのだが、まずは中身を使ってみないとな。