BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Bluepill: LinkedInによる大規模iOS UI テストのためのオープンソースツール

Bluepill: LinkedInによる大規模iOS UI テストのためのオープンソースツール

原文(投稿日:2017/01/21)へのリンク

LinkedInのBluepillは、開発者がひとつのマシンで複数のシミュレータを使ってOS UIテストを実行するのを可能にする。LinkedInのソフトウェアエンジニアKeqiu Hu氏によると、ツールの安定性とテストのスケーラビリティをもたらすことを目的としているという。

Bluepillは、LinkedInの3x3フィロソフィー(1日に3つのリリース、「コードをコミットしてからメンバーが使えるまで3時間以内」を目標とする)において不可欠なものだ。これは2つの非常に望ましい特性をもたらす

  • テストプラットフォームの安定性。これは主にXcode iOS Simulatorの「不安定さ(Flakiness)」に関係がある。自分のコードではなくシミュレータ自身の問題で、テストが失敗することがあるのだ。LinkedInの統計によると、それは彼らが実行したテストの2%がに相当するという。
  • テストのスケーラビリティ。基本的にテストを並列に動作させて、複数のシミュレート環境をカバーできるようになる。

Bluepillはプラットフォームの安定性とスケーラビリティの2つを、AppleのプライベートフレームワークCoreSimulatorによって解決している。このフレームワークを使うことで、各種デバイスシミュレータの作成、ランタイムバージョンの選択、シミュレータからの通知処理などが可能になる。Hu氏によると、CoreSimulatorを使うことで、Xcodeをアップデートするたびに進化するブラックボックスのXcodeシミュレータからBluepillを隔離し、複数のシミュレータを使ってテストを並列に実行できるという。

最も単純なユースケースの場合、次のように実行すればよい。

./bluepill -a ./Sample.app -s ./SampleAppTestScheme.xcscheme -o ./output/

上記コマンドは4つのシミュレータを起動するが、使用するシミュレータ数、ランタイム、失敗したテストの許容リトライ数、スタックしたテストの待機時間など、各種オプションによってテスト環境はカスタマイズできる。

BluepillはBSD–2ライセンスのもとGitHubに公開されている。ツールのビルドを待ちたくない開発者向けに、バイナリも公開されている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT