#potatotips13 でカジュアルなUIテスト自動化法について話してきた


もう2週間前の事になりますが、potatotips 13にiOS発表枠で参加してきました。内容はUIテストの自動化をラクに行う手法について。

イベント当日の様子はyimajoさんの下記エントリに詳しくまとめられています。 第13回 #potatotips に参加してきた! | 株式会社キュリオシティソフトウェア

iOSアプリで機能追加・テストを行う際はババッとコードを書いてサクッとSimulatorを起動し目視チェック、というケースが多いと思います。しかしテストする場所がアプリのとても深い階層にあったり、なかなか修正がキマらず何度も何度も同じ画面までポチポチSimulatorをクリックするのはツラいものがあります。

ならテスト自動化だろ!という話になりそうですが、UIまわりはテスト導入が大変な上に仕様変更の頻度も高く、後の保守を考えると頭が痛い。

今回のLTで紹介したjohnno1962/Remoteは、Selenium IDEライクにSimulatorを操作し画面のタップや遷移のイベントを記録、再び同じフローを再現できるツールです。XCodePluginとして提供されているので、テストコードを書いたりといった下準備も必要なし。

ちょっと確認面倒だけど、テスト化するほどではないな・・といった機能追加の際も、カジュアルに自動化してデバッグの手間を省けるようになります。同じテストケースの作り直しも楽なので、改修案件の完了と同時にテストケースもあっさり破棄可能。これで保守コストもゼロに。

そんな感じで自分の環境でもボチボチRemoteを試しています。使い勝手に若干問題があったりしますが、これまでのUIテスト系FrameworkにもUI Automationにもないカジュアルさでなかなかライフチェンジングな感じ。大晦日頃にコミットされた出来立てホヤホヤなので、細かいところは今後に期待。

Related Posts

TravisCIでFirebase Hostingへのデプロイを自動化

ZenHubのデスクトップアプリをElectronで実装した

Electronの各Platform向けアプリアイコンを作成する

RxSwiftにおけるメモリ管理の考え方

Swift1.2で演算子の挙動が微妙に変わった

猫の島で有名な「青島」に行ってきた

XcodeがArchive時に延々とキーチェーンへのアクセス許可を求めてくる件

Herokuでnginx+Jekyllな構成を作った

まだObjective-Cで消耗してるの?