http://my.safaribooksonline.com/asin:9780321774187はてなブックマーク- http://my.safaribooksonline.com/asin:9780321774187Test-Driven iOS Development

"Test-Driven iOS Development" 概略訳 *1

iOSのアプリケーションがより複雑になり、ビジネス上の重要性が増すにつれて、iOS開発者は、安定したより高度なコードの品質を保証する必要が出てきました。このことは、iOSアプリケーションの開発やテストに、ベストプラクティスを適用する必要があるといことを意味しています。テスト駆動開発 (Test-Driven Development: TDD)は、とても強力なベストプラクティスの中の一つです。Test-Driven iOS Developmentは、iOS環境におけるユニットテストとTDDの実行を成功させることに100%フォーカスした最初の本です。

iOSMac開発の経験が豊富なGraham LeeがApple社のXcode 4とOCUnitユニットテストフレームワークを使用して、進行中の開発プロセスに素早くTDDを導入する方法を紹介します。テスト駆動開発を用いて、初期の仕様段階から、製品の機能まで、完全なObjective-CiOSアプリケーションを構築していきます。また、iOS上の開発にTDDを適用するためのパワフルなパターンと、iOSプラットフォーム上でもうすぐ利用可能になるパワフルな自動実行テスト環境のプレビューを紹介します。本書には以下の項目が含まれています。

  • iOS環境におけるユニットテストを実施するためのコスト、メリット、目的を理解する
  • アプリケーションの設計からリファクタリングまですべてのエリアで適用できるTDDの原理を習得する
  • 実用的で、読みやすく、繰り返し実行できるiOSユニットテストの書き方
  • TDDを適用するために、XCodeプロジェクにOCunitをセットアプする
  • アプリケーションが必要とするインタラクションとクラスを識別するために、ドメイン分析を使用し、その結果にそって設計する
  • iOSユニットテストのその他のツールを考慮する
  • テスト駆動の方式にそったネットワークコードを構築する
  • ユーザーからのインタラクションを行うビューコントローラの自動実行テスト
  • 実装ではなく、インタフェースを設計する
  • 通常バックグラウンドで走るコンカレントなコードのテスト
  • 既存のアプリケーションにTDDを適用する
  • Behavior Driven Development (振る舞い駆動開発)の準備

Test-Driven iOS Developmentは、基本的なコンセプトと実用的な実現方法の両方をカバーしたiOSに特化したテスト駆動開発単体テストの唯一の書籍です。

参考データ

Test-Driven iOS Development (Developer's Library)

Test-Driven iOS Development (Developer's Library)

  • 作者: Graham Lee
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2012/04/09
  • メディア: ペーパーバック
  • 購入: 1人 クリック: 19回
  • この商品を含むブログを見る

      • Test-Driven iOS Development
      • By: Graham Lee
      • Publisher: Addison-Wesley Professional
      • Date: April 09, 2012
      • Print ISBN-10: 0-321-77418-3
      • Print ISBN-13: 978-0-321-77418-7
      • Web ISBN-10: 0-13-276404-0
      • Web ISBN-13: 978-0-13-276404-9
      • Pages in Print Edition: 256

コメント

テスト駆動開発は、うまくシステム設計されたモジュールの設計とコーティングするには必須の手法だと感じています。ただし、当然ですが、万能の手法ではなく、設計者が機能をきちんと理解していなかったり、システム設計がうまく出来ていなかったりすると、マイナスの側面が大きくなる傾向があると感じています。

*1:このOverviewは、Safari Books Onlineの対応する書籍のOverviewを概略で翻訳したものです。省略や意訳もありますので、詳細はオリジナルページを参照してください