シフトレフトテスト (Shift Left Testing) とは
開発ライフサイクルの早い段階で「テスト活動」を行うことを、シフトレフトテスト (Shift Left Testing) と言います。これは、「ソフトウェアテストの7原則について経験と照らし合わせて考えてみる」の「3. 初期テストが重要」を実現するものでもあります。
なぜシフトレフトテスト (Shift Left Testing) ?
例えば、ウォーターフォールモデルだと以下のようなV字モデルで開発ライフサイクルの最後に「テスト活動」を行います。
※以下はhttps://www.itmedia.co.jp/im/articles/1111/07/news155.html より抜粋
この場合のデメリットとしては、テストの段階で初めて「要件が不明瞭」「仕様バグ」「設計バグ」といった手戻りコストが高い事象が発生しがちです。また、リリースまでの工期も長くなります。
これに対して、シフトレフトテストを用いることで以下のようなモデルとなります。
※以下はhttps://www.itmedia.co.jp/im/articles/1111/07/news202.html より抜粋
「開発ライフサイクルの早い段階で「テスト活動」を行うことをシフトレフトテストと呼ぶ」と説明しましたが、ここで言う「テスト活動」とは、静的テスト(要件定義書レビューや、仕様レビュー、設計書レビュー)も含んでいます。静的テストを早期に行い素早いFBを得ることで、テストのタイミングでの要件確認、仕様確認、設計書の確認といった工期の削減や、要件・仕様の誤認識による大きな手戻り防止(≒コスト削減)、品質の向上にも役立ちます。つまり従来のウォーターフォールモデルが抱えている問題の解決に繋がります。
また、上記モデルは一般的にW字モデルと言われています。シフトレフトテストを実現することで結果としてW字モデルになります(もしくはW字モデルにすることで結果としてシフトレフトを実現している?)。