シフトレフト
Shift Left
しふとれふと
テストや品質の確認、セキュリティ対策などを、開発工程の後ろ(右)ではなく、要件定義、設計、実装といった早い段階(左)に移して行う考え方。欠陥は早く見つけるほど修正の費用が小さいことを根拠とし、DevOpsやDevSecOpsで重視される。
Related
他の資格での定義
Related
関連キーワードの用語
コンテナイメージに含まれるOSパッケージやライブラリの既知の脆弱性を検出し、修正していく取組み。イメージスキャナを使ってビルド時、レジストリへの登録時、稼働中に継続して検査し、信頼できる最小構成のベースイメージを使う、署名で改ざんを防ぐといった運用を行う。稼働中のコンテナに直接パッチを当てるのではなく、修正版からイメージを作り直して入れ替えるのが原則。
プログラムを実行せずに、ソースコードやバイナリを解析して脆弱性を検出する検査手法。SQLインジェクションやバッファオーバーフローにつながる危険な関数の使用や、入力値が無害化されずに出力に渡る経路などを見つける。開発の早い段階から自動で実行できる一方、誤検知が多く、実行時の設定や環境に起因する問題は見つけにくい。
2つ以上のバリエーションを用意し、どちらがより効果的かを実際のユーザの反応で比較検証する手法。Webサイトのデザインや広告文の最適化などに用いられ、データに基づく意思決定を支援する。
プログラムの内部構造(ロジック、分岐、ループなど)に着目して行うテスト。命令網羅、分岐網羅などのカバレッジ基準を用い、すべての処理経路が正しく動作するか検証する。単体テストで主に用いられる。
プログラム中のバグ(不具合・誤り)を発見し、原因を特定して修正する作業。テストで発見された問題に対して、デバッガなどのツールを活用しながら修正を行う。
単体テスト済みの複数のモジュールを結合し、モジュール間のインタフェースや連携が正しく機能するか検証するテスト。結合テストとも呼ばれ、トップダウンテストやボトムアップテストなどの手法がある。
