iOS アプリ開発自動テストの教科書 〜XCTest による単体テスト・UI テストから、CI/CD、デバッグ技術まで

アイオーエスアプリカイハツジドウテストノキョウカショエックスシーテストニヨルタンタイテストユーアイテストカラシーアイシーディーデバッグギジュツマデ

iOS アプリ開発自動テストの教科書 〜XCTest による単体テスト・UI テストから、CI/CD、デバッグ技術までの表紙
プログラミング
著者:
平田 敏之、細沼 祐介(ヒラタ トシユキ ホソヌマ ユウスケ)
出版社:
技術評論社
出版日:
2019年06月27日頃
ISBN:
9784297106294
在庫:
在庫あり
4.33(3 件 / 楽天ブックス)

なぜ注目されているか

言及数
737位
総合1304位 ↓ 65 ランクダウン 言及 3 件

書籍紹介

「iPhone X、XR、iPad……端末が多すぎて、テストが手動じゃ追いつかない」
「競争が激しいアプリ開発現場で、スピードを落とさずテストしなければ」

「どうして、テストしたはずのアプリで、ユーザーからこんなにバグが報告されるんだ」

競争が激化し、複雑になる iOS アプリの開発において、こんな問題を解決できる手段が「自動テスト」です。

本書は、DeNA の開発生産性や品質を担う SWET グループのエンジニアたちが、iOS アプリ開発の自動テストにフォーカスしてまとめた、これまでにない“テストの入門書”です。自動テストの基本はもちろん、単体テスト・UI テスト、CI/CD、さらに効率的なデバッグのテクニックまでを網羅できます。

iOS アプリ開発でテストに関わるエンジニアはもちろん、開発の現場のすべてのエンジニアが持っておきたい、iOS テスト必携の 1 冊です。

技書の森解説

『iOS アプリ開発自動テストの教科書』 (平田 敏之、細沼 祐介 著、技術評論社、2019 年 6 月刊) は、iOS アプリの自動テストの入門書です。副題は「XCTest による単体テスト・UI テストから、CI/CD、デバッグ技術まで」です。版元の概要によれば、DeNA で開発生産性や品質を担う SWET グループのエンジニアたちがまとめた本で、版元が勧める読者は iOS アプリ開発者と、自動テストに取り組みたいエンジニアです。英語の書名は Test Automation Essentials for iOS Apps です。

全 12 章と付録の構成、XCTest から配信とデバッグまで

第 1 章「自動テストをはじめる前に」と第 2 章「自動テストにおける落とし穴を避ける」は、どこまでを自動化するか、テストケースの独立、失敗原因の分かりやすさ、不安定なテスト結果、実行時間といった考え方の土台を扱います。第 3 章は XCTest による単体テストで、アサーション、setUp と tearDown のライフサイクル、XCTestExpectation を使った非同期な API のテスト、ランダムな順序での実行、コードカバレッジまでを並べます。第 4 章は単体テストに役立つ OSS として Quick/Nimble、Mockingjay、Cuckoo、SwiftCheck を取り上げます。第 5 章から第 7 章は XCUITest による UI テストで、Xcode のレコーディング機能から UI 要素の特定と操作、Accessibility Identifier の設定、Page Object Pattern、実行時間の短縮へ進みます。第 8 章からは CI/CD の基本、fastlane によるタスクの自動化、アプリ配信サービスとデバイスファーム、Bitrise と CircleCI によるパイプラインと続き、第 12 章「デバッグのテクニック」はブレークポイント、LLDB、シミュレータと実機のデバッグ機能、Hyperion を扱います。付録には XCTest の導入と実行、Bundler によるツールのバージョン固定が収められています。

自動テストの層の分け方と、UI テストと CI/CD の章

テストピラミッド の考え方では、速く安定した単体テストを土台に厚く積み、画面を実際に操作する UI テストは数を絞ります。第 6 章は XCUITest の API を扱います。第 8 章は 継続的インテグレーションと継続的デリバリー の基本を扱います。本書は単体テストから配布とデバッグまでを 1 冊に収めており、はじめにでは本書の狙いを「iOS アプリ開発における自動テストのための地図」と表現しています。

目次に無い題材と、2019 年刊として読む際の注意

目次にアプリの作り方そのものを解説する章はありません。はじめには「各トピックについて深くは取り上げていませんが」と断っています。また 2019 年 6 月の刊行のため、各サービスの画面や設定の手順は刊行時点のものです。刊行後、Apple は Xcode 16 から使える新しいテストの仕組みとして Swift Testing を案内しており、XCTest で書いた既存のテストと並べて実行し、段階的に移行できると説明しています。言語を問わないテストの本は テスト本の選び方 にまとめています。

本書は、第 1 章と第 2 章で考え方を、第 3 章から第 12 章で単体テスト、UI テスト、CI/CD、デバッグを扱います。

言及した記事 (3 件)

関連記事

関連用語

共有: