Skip to content

開発モデルの影響

ソフトウェア開発ライフサイクル(SDLC)のモデルによって、テストのタイミングやアプローチは変わります。V4.0シラバスで特に強調されている「シフトレフト」と「DevOps」を中心に解説します。

開発モデルは大きく分けて「シーケンシャル(順次)モデル」と「イテレーティブ(反復)・インクリメンタル(漸進的)モデル」があります。

シーケンシャルモデル(ウォーターフォール、V字モデル)

Section titled “シーケンシャルモデル(ウォーターフォール、V字モデル)”

開発プロセスが直線的に進むモデルです。「要件定義→設計→実装→テスト」と工程が区切られています。

  • 特徴: テスト活動は開発の後半に集中しがちですが、V字モデルの考え方では、各開発工程(左側)に対応するテストレベル(右側)が存在し、早期からテスト計画や設計を行うことが推奨されます。

イテレーティブ・インクリメンタルモデル(アジャイル、スクラム)

Section titled “イテレーティブ・インクリメンタルモデル(アジャイル、スクラム)”

短い期間(イテレーション/スプリント)を繰り返し、少しずつ機能を完成させていくモデルです。

  • 特徴: 各イテレーションの中で、開発とテストが並行して行われます。頻繁に変更が発生するため、リグレッションテストの自動化が非常に重要になります。

シフトレフトアプローチ (Shift-Left)

Section titled “シフトレフトアプローチ (Shift-Left)”

**「テスト活動をSDLCの可能な限り早い段階で開始する」**という考え方です。 従来のウォーターフォールでは、プロセスの右側(後半)でテストを行っていましたが、これを左側(前半)に移動させるため「シフトレフト」と呼ばれます。

具体的な活動例:

  • コードを書く前に仕様書をレビューする。
  • 実装前にテストケースを作成する(TDD/ATDD)。
  • CI/CDパイプラインに静的解析を組み込む。

メリット: 欠陥を早期に発見できるため、修正コストが大幅に下がります。

DevOpsは、開発(Dev)と運用(Ops)が協調し、高品質なソフトウェアを迅速に提供する文化・手法です。

  • 継続的デリバリー (CD): 変更を自動的にテストし、本番環境へのデプロイ準備を整えるプラクティス。
  • 継続的インテグレーション (CI): コード変更のたびに自動ビルドとテストを行うプラクティス。

DevOps環境におけるテスト担当者は、単に手動テストを行うだけでなく、自動化テストの設計やCIパイプラインの構築に関わることが求められます。