UISpecはiPhone向けのオープンソース・ソフトウェア。開発したシステムにテストは付き物だ。今は開発者向けにテストフレームワークが各種揃っており、テストを自動化するのもそれほど難しいことではない。そう、ユニットテストについてはとても楽になったのではないだろうか。もう一つは実際の操作を伴うテストについてだ。

ピクチャ 166.png

iPhoneの動作テストに

 

これがなかなか難しい。実際の操作を行うにはエミュレータや実機が必要になる。iPhoneの実機テストなんて相当大変そうなイメージがあるだろう。だがUISpecを使えばその負荷が軽減できそうだ。UISpecはRSpecにインスパイアされて開発されたソフトウェアで、iPhoneエミュレータを実際に操作してテストを行うことができる。

デモがあるので試してみると分かりやすい。まるで人が操作しているかのようにスライドしたり、ボタンを押したりする。入力ももちろん可能だ。その結果、どのような状態にあるかを判断してエラー判定を行うことができる。データを一から登録してそれを削除して…なんて人がやっていたら相当な手間がかかるであろう作業も一気に終わらせることができる。

ピクチャ 170.png

デバッガコンソールで確認

 

ダイアログが出た場合、ボタンを押すこともできる。どこまで操作ができるのかは分からないが、細かな操作(指でなぞったり、ピンチ操作など)は難しいかも知れない。だが文字を入力したりボタンを押すだけでもテストの効率は大幅によくなりそうだ。

テストは時間をかけるから面倒に感じてしまうのだ。テストもコードを書いて自動化してしまうのが良い。そうすれば開発のついでにテストコードが出来上がっていく。ユニットテストだけでは分からなかった、実際の操作に伴う不具合を見つけるにはUISpecが必須だろう。

 

uispec - Project Hosting on Google Code

 http://code.google.com/p/uispec/