第1章 テスト自動化入門
松尾 和昭
本章では、テストに関わる活動のうち自動化されたテストに焦点をあて、
後続する章に向けた導入を行います。
例えばテストピラミッドなどを例に、後続するテストの関係性や役割にも触れる予定です。
著者の経験をもとにした自動化導入の一旦、
開発に関わる様々な人が同じ言葉を使うきっかけが作れるような話題にも触れ、
読者の実際の活動にも還元できるようにしたいと思っています。
本章ではユニットテストの目的や概要、関連する手法について解説していきます。
iOSアプリ開発におけるユニットテストではXCTestを利用することになりますが、
開発において落とし穴があるように、ユニットテストにも多くの落とし穴があると考えています、
読者の皆様が本章を通して、ユニットテストの基礎や関連するテクニックを俯瞰することで、
特定のライブラリやフレームワークに限らない、広い視野を持つことにつながれば幸いです。
第3章 ユニットテスト(XCTest 編)
田中 賢治
本章ではAppleから提供される公式フレームワークの「XCTest」について解説していきます。
XCTestによるユニットテストの書き方として、基本的なフレームワークの使い方をおさらいしつつ、
実務でユニットテストを行う上で欠かせないテクニックについても解説する予定です。
第4章 ユニットテスト(Quick / Nimble 編)
細沼 祐介
本章ではOSSのBDD(振舞駆動開発)フレームワークである「Quick/Nimble」について解説していきます。
近年のiOSアプリ開発ではQuick/Nimbleも多く利用されていると感じたので、
本書でも独立した章として解説できればと思っています。
BDDスタイルで実装を進めながら、
Step by stepで学んでいけるような構成にしたいと思っています。
本章では、2章〜4章で学んだユニットテストの知識をもとに、
実際のiOSアプリに対してユニットテストを導入していく例を見ていきます。
架空のサンプルアプリではありますが、実践的なアーキテクチャを採用したプロジェクトを題材とし、
ストーリー仕立てで学んでいける内容を予定しています。
読者の日々の業務に繋がるような内容にできればと思っています。
第6章 UIテスト入門
平田 敏之
本章ではiOSアプリにおけるUIテストについて、その目的や費用対効果などについて解説します。
UIテストの導入を検討する際に事前に知っておきたいポイントについて触れていきます。
第7章 XCTest(UI)とその周辺
玉城 信悟
本章ではXCTestのUI Testing、通称XCUITestを使ったUIテストについて解説していきます。
基本的な使い方から始め、良くあるパターンや便利なテクニックなどを紹介していきます。
UIテストはユニットテストと比べ、テスト対象の状態を作る方法が限られるなどの制約が存在します。
これらの制限を理解しておく事でUIテストの導入時にハマりやすい落とし穴を避ける一助となるはずです。
第8章 3rd Party製UIテストフレームワークとその周辺
松尾 和昭
本章では、
AppiumやEarlGreyといったApple以外により保守されるUIテストフレームワーク、
ライブラリを取り上げます。
前章のXCUITestやテスト実行環境の成長により自動化可能な範囲や内容が広がったもの、
公式ツールとして利用できるようになったものなど変化がありました。
例えば、Appiumエコシステムの成長により画像を使った要素探索ベースによるUIテストの実行も可能になりました。
このようなUIテストをとりまく世界、それらを実装、運用する方法に触れる予定です。
本章では、CI(継続的インテグレーション)/CD(継続的デリバリー)について解説をします。
プロダクトのリリースをすばやく、そして確実・安全におこなえることは非常に重要になっています。
そのためには、CI/CDを適切におこなえていることが大事です。
CI/CDサービスを利用している方は多くなってきているかと思いますが、どのように実践していくかの話はまだまだ少ないと思っています。
CI/CDとはなにかといった話から、どのようにiOSプロジェクトで実践していくかまでを解説していきます。
実際のCI/CDサービスの利用方法だけでなく、近年増えてきているCI/CDの周辺サービスにも焦点を当てる予定です。
本章を通して、皆様のCI/CD環境がより充実したものになれば嬉しい限りです。