Gayathri Mohan 原著
末村 拓也 翻訳
堀 明子 翻訳
松浦 隼人 翻訳
ソフトウェアテストには、対象とする品質要件に応じて様々な「手法」が存在します。しかし、個別のテスト手法を断片的に学ぶだけでは、プロダクトの品質を総合的に高めることはできません。本書は、複数のテストを補完的に組み合わせて、あらゆる側面から品質を検証するための技術・戦略を、体系的に学べる骨太なガイドブックです。
取り上げるのは、以下10種のテスト手法。それぞれについて、テストの原理原則・導入戦略・実践方法を、具体的なWeb/モバイルアプリケーションでの適用例を交えながら詳しく解説します。
□手動探索的テスト
□自動テスト
□継続的テスト
□データテスト
□ビジュアルテスト
□パフォーマンステスト
□セキュリティテスト
□アクセシビリティテスト
□モバイルテスト
□機能横断要件テスト
本書は、各領域のテストを一貫した視点で解説するため、それぞれのテストの「役割」と「つながり」がよく理解できます。本書を通じて、広大なテスト分野を迷わず歩くための「体系的な知識地図」をインストールしてください。
■対象読者
・Web/モバイルアプリケーション開発に携わるエンジニア
・幅広いテスト領域を体系的に押さえたい品質保証/QAエンジニア
・テスト設計・戦略立案に必要な基盤知識を身につけたい人
・開発と品質保証を横断する視点を養いたい人
■第1章 フルスタックテスティングの概要
1.1 高品質のためのフルスタックテスティング
1.2 シフトレフトテスト
1.3 10個のフルスタックテスティングスキル
1.3.1 手動探索的テスト
1.3.2 自動機能テスト
1.3.3 継続的テスト
1.3.4 データテスト
1.3.5 ビジュアルテスト
1.3.6 セキュリティテスト
1.3.7 パフォーマンステスト
1.3.8 アクセシビリティテスト
1.3.9 機能横断要件テスト
1.3.10 モバイルテスト
■第2章 手動探索的テスト
2.1 構成要素
2.1.1 探索的テストフレームワーク
2.1.2 機能の探索
2.2 手動探索的テスト戦略
2.2.1 アプリケーションを理解する
2.2.2 部分的に探索する
2.2.3 フェーズごとに探索的テストを繰り返す
2.3 演習
2.3.1 API テスト
2.3.2 Web UI テスト
2.3.3 Chrome D evTools
2.4 視点:テスト環境の「衛生管理」について
■第3章 自動機能テスト
3.1 構成要素
3.1.1 ミクロレベルとマクロレベルのテストタイプについて
3.1.2 自動機能テスト戦略
3.2 演習
3.2.1 UI 機能テスト
3.2.2 サービステスト
3.2.3 単体テスト
3.3 その他のテストツール
3.3.1 Pact
3.3.2 Karate
3.3.3 機能テスト自動化におけるAI/MLツール
3.4 視点
3.4.1 克服すべきアンチパターン
3.4.2 自動化カバレッジ100%!
■第4章 継続的テスト
4.1 構成要素
4.1.1 継続的インテグレーション入門
4.1.2 CI/CT/CDプロセス
4.1.3 原則と決まりごと
4.2 継続的テストの戦略
4.2.1 利点
4.3 演習
4.3.1 Git
4.3.2 Jenkins
4.4 Four keys
■第5章 データテスト
5.1 構成要素
5.1.1 データベース
5.1.2 キャッシュ
5.1.3 バッチ処理システム
5.1.4 イベントストリーム
5.2 データテストの戦略
5.3 演習
5.3.1 SQL
5.3.2 JDBC
5.3.3 Apache KafkaとZerocode
5.4 その他のテストツール
5.4.1 Testcontainers
5.4.2 Deequ
■第6章 ビジュアルテスト
6.1 構成要素
6.1.1 ビジュアルテストの概要
6.1.2 プロジェクト/ビジネスにとって重要なユースケース
6.2 フロントエンドテスト戦略
6.2.1 単体テスト
6.2.2 統合/コンポーネントテスト
6.2.3 スナップショットテスト
6.2.4 E2E 機能テスト
6.2.5 ビジュアルテスト
6.2.6 クロスブラウザテスト
6.2.7 フロントエンドパフォーマンステスト
6.2.8 アクセシビリティテスト
6.3 演習
6.3.1 BackstopJS
6.3.2 Cypress
6.4 その他のテストツール
6.4.1 AI 駆動のツール、Applitools Eyes
6.4.2 Storybook
6.5 視点:ビジュアルテストの課題
■第7章 セキュリティテスト
7.1 構成要素
7.1.1 よくあるサイバー攻撃
7.1.2 STRIDE脅威モデル
7.1.3 アプリケーションの脆弱性
7.1.4 脅威モデリング
7.2 セキュリティテスト戦略
7.3 演習
7.3.1 OWASP Dependency-Check
7.3.2 OWASP ZAP
7.4 その他のテストツールについて
7.4.1 Snyk IDEプラグイン
7.4.2 Talisman Pre-Commitフック
7.4.3 Chrome DevToolsとPostman
7.5 視点:セキュリティとは習慣である
■第8章 パフォーマンステスト
8.1 バックエンドパフォーマンステストの構成要素
8.1.1 パフォーマンスと売り上げと、週末セールの密接な関係
8.1.2 シンプルなパフォーマンス目標
8.1.3 アプリケーションのパフォーマンスを左右する要素
8.1.4 KPI(Key Performance Indicator)
8.1.5 パフォーマンステストのタイプ
8.1.6 負荷パターンのタイプ
8.1.7 パフォーマンステストを行うステップ
8.2 演習
8.2.1 ステップ1:目標とするKPIを設定する
8.2.2 ステップ2:テストケースを定義する
8.2.3 ステップ3から5:テストデータ・環境・ツールを準備する
8.2.4 ステップ6:JMeterを使ったテストケースのスクリプト化と実行
8.2.5 その他のテストツールについて
8.3 フロントエンドパフォーマンステストの構成要素
8.3.1 フロントエンドパフォーマンスに影響を与える要因
8.3.2 RAILモデル
8.3.3 フロントエンドパフォーマンスの指標
8.4 演習
8.4.1 WebPageTest
8.4.2 Lighthouse
8.4.3 その他のテストツール
8.5 パフォーマンステスト戦略
■第9章 アクセシビリティテスト
9.1 構成要素
9.1.1 アクセシビリティに関するユーザーのペルソナ
9.1.2 アクセシビリティのエコシステム
9.1.3 例:スクリーンリーダー
9.1.4 WCAG2.0:ガイドの原則とレベル
9.1.5 レベルAの達成標準
9.1.6 アクセシビリティの考慮された開発フレームワーク
9.2 アクセシビリティテスト戦略
9.2.1 ユーザーストーリーにおけるアクセシビリティチェックリスト
9.2.2 自動アクセシビリティ診断ツール
9.2.3 手動テスト
9.3 演習
9.3.1 WAVE
9.3.2 Lighthouse
9.3.3 Lighthouse Nodeモジュール
9.4 その他のテストツール
9.4.1 Pa11y CI Nodeモジュール
9.4.2 Axe-core
9.5 視点:文化としてのアクセシビリティ
■第10章 機能横断要件テスト
10.1 構成要素
10.2 機能横断テスト戦略
10.2.1 機能性
10.2.2 ユーザービリティ
10.2.3 信頼性
10.2.4 パフォーマンス
10.2.5 サポータビリティー
10.3 その他の機能横断要件テスト手法
10.3.1 カオスエンジニアリング
10.3.2 アーキテクチャーテスト
10.3.3 インフラテスト
10.3.4 コンプライアンステスト
10.4 視点:進化の可能性と時の試練!
■第11章 モバイルテスト
11.1 構成要素
11.1.1 モバイルの全体像
11.1.2 モバイルアプリのアーキテクチャー
11.2 モバイルのテスト戦略
11.2.1 手動探索的テスト
11.2.2 自動機能テスト
11.2.3 データテスト
11.2.4 ビジュアルテスト
11.2.5 セキュリティテスト
11.2.6 パフォーマンステスト
11.2.7 アクセシビリティテスト
11.2.8 機能横断要件テスト
11.3 演習
11.3.1 Appium
11.3.2 Appiumビジュアルテストプラグイン
11.4 その他のテストツール
11.4.1 Android Studio のDatabase I nspector
11.4.2 パフォーマンステストツール
11.4.3 セキュリティテストツール
11.4.4 Accessibility S canner
11.5 視点:モバイルテストピラミッド
■第12章 1歩先のテストへ
12.1 テストにおける本質的原則
12.1.1 欠陥の検知よりも欠陥の防止
12.1.2 共感的テスト
12.1.3 ミクロレベルとマクロレベルのテスト
12.1.4 高速なフィードバック
12.1.5 継続的なフィードバック
12.1.6 品質指標の計測
12.1.7 品質の鍵はコミュニケーションとコラボレーション
12.2 品質第一のマインドセットを作るのに役立つソフトスキル
■第13章 新しいテクノロジーにおけるテスト入門
13.1 人工知能(AI)と機械学習(ML)
13.1.1 機械学習入門
13.1.2 機械学習アプリケーションのテスト
13.2 ブロックチェーン
13.2.1 ブロックチェーンの考え方入門
13.2.2 ブロックチェーンアプリケーションのテスト
13.3 モノのインターネット(IoT)
13.3.1 IoT の5 層アーキテクチャー入門
13.3.2 IoT アプリケーションのテスト
13.4 拡張現実(AR)と仮想現実(VR)
13.4.1 AR/VR アプリケーションのテスト
■日本語版特別付録 2025年のフルスタックテスティング
A.1 探索的テスト
A.2 プロパティベーステスト
A.3 ミューテーションテスト
A.4 WebアプリケーションのUIを用いたテスト
A.4.1 Playwright
A.4.2 Selenium
A.4.3 ベストプラクティスの変化
A.5 ビジュアルテスト
A.6 AI・機械学習
A.7 ブロックチェーン
A.8 AIを用いたテスト
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。