アジェンダ
- SDLC(ソフトウェア開発ライフサイクル)概要
- 継続的インテグレーション(CI)
- 継続的デリバリー(CD)
- IoTone Japan の QC テスト戦略
- まとめ・行動への呼びかけ
SDLC とは?
ソフトウェア開発ライフサイクル(SDLC)は、高品質なソフトウェアを体系的に開発するためのプロセスです。
7つのフェーズ
- 計画 — 要件定義、スコープ設定
- 分析 — 要件の詳細化、実現可能性の検証
- 設計 — アーキテクチャ、UI/UX の設計
- 実装 — コーディング
- テスト — 品質保証、バグの検出
- 展開 — 本番環境へのリリース
- 保守 — 運用、改善、障害対応
SDLC モデルの比較
| モデル |
特徴 |
適用場面 |
| ウォーターフォール |
順次進行、各フェーズ完了後に次へ |
要件が明確で変更が少ないプロジェクト |
| アジャイル |
反復的、短いスプリント、柔軟性が高い |
変更が頻繁なプロジェクト |
| DevOps |
開発と運用の統合、自動化重視 |
継続的デリバリーが必要なプロジェクト |
DevOps の原則
DevOps は「開発」(Dev)と「運用」(Ops)を統合する文化とプラクティスです。
- CI/CD — コードの統合からデプロイまでを自動化
- 自動化 — ビルド、テスト、デプロイの自動化
- コラボレーション — 開発チームと運用チームの壁を取り除く
- フィードバックループ — 迅速なフィードバックによる継続的改善
- モニタリング — 本番環境の継続的な監視
テストの重要性:シフトレフト
従来のアプローチでは、テストは開発の最後に行われていました。
シフトレフト = テストを開発プロセスの早期段階に移動する
- 早期にバグを発見するほど、修正コストが低い
- コードレビュー、ユニットテスト、静的解析を早期に実施
- 品質ゲート — 各フェーズに品質チェックポイントを設置
- テストは「フェーズ」ではなく、開発全体を通じた「活動」
CI とは?
継続的インテグレーション(Continuous Integration)は、開発者が頻繁にコードを共有リポジトリに統合するプラクティスです。
核心原則
- コードの変更を毎日(理想的には1日に複数回)統合
- 統合ごとに自動ビルドを実行
- 自動化されたテストスイートを実行
- 問題を即座に検出し、修正
CI のベストプラクティス
- トランクベース開発 — 長命なブランチを避け、メインブランチに頻繁にマージ
- 自動化パイプライン — コミットからテスト完了まで全自動
- 高速フィードバック — ビルド+テストは10分以内が理想
- テストの信頼性 — フレーキーテスト(不安定なテスト)を排除
- ビルドの修正を最優先 — 壊れたビルドは全チームの問題
CI ツールの例
- GitHub Actions — GitHub リポジトリと統合、YAML ベース
- GitLab CI — GitLab 内蔵の CI/CD パイプライン
- Jenkins — オープンソース、高度なカスタマイズが可能
- CircleCI — クラウドネイティブ、高速ビルド
- AWS CodeBuild — AWS エコシステム統合
CI は次のセクション「継続的デリバリー」の基盤です。
CD とは?
継続的デリバリー(Continuous Delivery)は、CI の延長として、ソフトウェアをいつでも安全にリリースできる状態に保つプラクティスです。
CI との関係
コード変更 → CI(ビルド+テスト) → CD(ステージング+承認+本番デプロイ)
- CI = コードが常に動作することを保証
- CD = コードが常にリリース可能であることを保証
デプロイメントパイプライン
ビルド → ユニットテスト → 統合テスト → ステージング → 承認 → 本番
各ステージの役割
- ビルド — コンパイル、依存関係解決
- ユニットテスト — 個々のコンポーネントの検証
- 統合テスト — コンポーネント間の連携検証
- ステージング — 本番に近い環境での検証
- 承認 — 手動/自動の品質ゲート
- 本番デプロイ — ブルー/グリーン、カナリアリリース等
CD のメリット
- リリース頻度の向上 — 週次・月次から日次・時間単位へ
- リスクの低減 — 小さな変更を頻繁にデプロイ
- フィードバックの迅速化 — ユーザーの反応を早期に取得
- ロールバックの容易さ — 問題発生時の迅速な復旧
- チームの自信向上 — 自動テストによる安心感
IoTone Japan の QC テスト戦略
セクション 4
IoTone Japan について
IoTone Japan(http://iotone.co.jp)は、IoT、AI、デジタルトランスフォーメーションの分野で活動するテクノロジー企業です。
Team AI の使命
teamai.iotone.co.jp — IoTone Japan のQC(品質管理)チームは、ソフトウェア品質を保証するために3つの柱を組み合わせた統合的なテスト戦略を採用しています。
3つの柱
IoTone Japan QC テスト戦略
| 手動テスト |
自動/CI テスト |
AI 支援テスト |
探索的テスト UXレビュー エッジケース発見 ユーザビリティ検証 |
ユニットテスト 統合テスト E2Eテスト パイプライン自動化 |
テストケース生成 コードレビュー 回帰分析 テスト優先度判定 |
柱 1:手動テスト
人間の直感と経験を活かしたテスト
- 探索的テスト — テスターの経験と直感に基づく自由形式のテスト
- UX レビュー — ユーザー体験の評価、ユーザビリティの検証
- エッジケース発見 — 自動テストでは見つけにくい境界条件の発見
- アクセシビリティテスト — 多様なユーザーが利用できることの確認
- クロスブラウザ/デバイステスト — 実デバイスでの動作確認
なぜ手動テストは依然として重要か?
自動テストは「期待通りに動くか」を検証。手動テストは「ユーザーにとって良い体験か」を検証。
柱 2:自動/CI テスト
パイプラインに組み込まれた自動テスト
- ユニットテスト — 関数・メソッド単位の検証(Jest, pytest, JUnit)
- 統合テスト — API、データベース接続等の連携検証
- E2E テスト — ユーザーシナリオの端から端までの検証(Playwright, Cypress)
- パフォーマンステスト — 負荷テスト、レスポンスタイムの検証
- セキュリティスキャン — 依存関係の脆弱性チェック(SAST/DAST)
CI パイプラインでの自動実行
git push → ビルド → lint → ユニットテスト → 統合テスト → E2E → レポート
柱 3:AI 支援テスト
AI を活用した次世代テストアプローチ
- テストケース自動生成 — AI がコード変更を分析し、テストケースを提案
- AI コードレビュー — プルリクエストの自動レビュー、潜在的バグの検出
- 回帰分析 — 変更の影響範囲を AI が予測、関連テストを優先実行
- テスト優先度判定 — リスクベースのテスト優先度を AI が算出
- テスト結果分析 — 失敗パターンの学習、根本原因の推定
- テストデータ生成 — 現実的なテストデータを AI が生成
AI 支援テストで使用するツール
- Claude Code — コードレビュー、テストケース生成、バグ分析
- GitHub Copilot — テストコードの自動補完
- Cursor / Windsurf — AI 統合開発環境でのテスト支援
- カスタム AI パイプライン — プロジェクト固有の AI テストツール構築
IoTone Japan の差別化
AI を「テスターの代替」ではなく「テスターの強化」として活用。人間の判断力と AI の処理能力を組み合わせることで、品質と効率の両立を実現。
統合フロー:3つの手法の適用タイミング
| 開発フェーズ |
手動 |
自動/CI |
AI支援 |
| 要件定義 | レビュー参加 | — | 要件分析 |
| 設計 | 設計レビュー | — | 設計の妥当性検証 |
| 実装 | ペアプログラミング | lint, 静的解析 | コードレビュー |
| テスト | 探索的テスト, UX | ユニット, 統合, E2E | テスト生成, 優先度 |
| デプロイ | スモークテスト | パイプライン | 回帰分析 |
| 運用 | ユーザーテスト | モニタリング | 異常検知 |
SDLC + DevOps + CI/CD + QC 戦略の統合
- SDLC は体系的な開発プロセスを提供
- DevOps は開発と運用の壁を取り除く
- CI/CD はビルドからデプロイまでを自動化
- IoTone Japan の QC 戦略 は 3つの柱で品質を保証:
- 手動テスト(人間の直感)
- 自動テスト(速度と一貫性)
- AI 支援テスト(インテリジェンスとスケール)
品質は全員の責任であり、テストは開発の一部です。
お問い合わせ・リソース
IoTone Japan
参考資料
TeamAI
IoTone Japan のデジタルトランスフォーメーションサービス
TeamAI とは?
TeamAI は、IoTone Japan が提供する中小企業向けのデジタルトランスフォーメーション・コンサルティングサービスです。
まず初回コンサルティングで、お客様のビジネスプロセスと既存のソフトウェアやサービスを把握します。そこから、ベストプラクティスの最適化と AI 活用による改善の機会を特定します。
私たちの哲学
AI は人を置き換えるのではなく、ムダを置き換える。
- 人こそが優れた企業の中心
- AI はロス(損失)を排除し、効率を向上させる
- 新しいツールを導入する前に、既存プロセスを最適化
- テクノロジーはチームのために存在する
AIOps トレーニング
私たちのコンサルティングの重要な柱は、AIOps(AI を活用した IT 運用)のチームトレーニングです。
- 自動化されたモニタリングとアラート
- インテリジェントなインシデント対応
- インフラの予測分析
- ワークフローの継続的最適化
- 社内 AI スキルの構築
導入するだけでなく、チーム自身がプロセスを主導できるよう支援します。
私たちの進め方
コンサルティングを行うすべてのチームにリモート監視と技術サポートを提供します。
- フェーズ 1: ビジネスプロセスと既存システムの初回コンサルティング
- フェーズ 2: 戦略策定と最適化ロードマップの作成
- フェーズ 3: マイルストーンベースの実装・デリバリー
- フェーズ 4: 継続的なサポートと改善
料金体系
お客様の成功に合わせた、手頃な価格設計。
- 定額コンサルティング料 — 透明性のある初期費用
- フェーズ別マイルストーン方式 — 価値の提供に応じたお支払い
- 継続リテイナー — プロジェクト期間中のサポート
お客様が成功すれば、私たちも成功です。
http://teamai.iotone.co.jp