🎸
テスト分析・リスクベースドテスト!JSTQBに沿ってアジャイル・スクラム・DevOpsにも応用できるQAの知識を解説します!
テスト分析 概要
テスト分析の段階では、要件や仕様を深く探ることで、テストの対象となる範囲を特定します。この時点で、テストの基準や受け入れ基準を明確に設定し、どのテストをどの順番で行うかの優先順位を決めることが求められます。
テスト分析概要 60秒動画解説
テスト分析とリスクベースドテスト
この段階でリスクアセスメントを実施します。このアセスメントを通じて、潜在的なリスクを初期段階で特定し、それに基づいたテスト戦略を策定する準備を行います。
テスト分析とリスクベースドテストの動画解説
リスクベースドテスト全体を説明している動画なので、ぜひ参考にしてください!
リスクベースドテストにおけるテスト分析の例
テスト計画の「6. ソフトウェアのリスク発生」項目をリスク分析で詳細化します。この際、「7. テスト戦略」も考慮し、記載を行います。リスク評価、重要度、リスクの原因などの要素を含めることが重要です。
以下はその詳細な例です。
1. 不正確なデータの応答
- リスク評価: 高
- トレーサビリティ: ユーザーストーリー、画面設計書参照
- 重要度: APIが返すデータが不正確や不完全な場合、システムや他の依存サービスに大きな影響が生じる。
-
リスクの原因:
- データベースクエリの誤り
- データ変換の問題
- テストカバレッジ: 顧客業務への大きな影響を考慮し、100%を目指す。
- 対応方針: NTについては原則対応を行い、NGの場合は修正後に確認テストを実施する。
- テスト戦略: データベースクエリとデータ変換ロジックのテストを重点的に行います。さらに、検証テストやデータ整合性の確認も実施します。NTやNGの結果が出た場合、確認テストだけでなく、すべてのテストケースに対してリグレッションテストを実施します。
- リスク再評価: リリース後のリスク再評価を予定。
2. 低いパフォーマンス
- リスク評価: 中
- トレーサビリティ: パフォーマンス試験設計書参照
- 重要度: システムの遅いレスポンスはユーザーエクスペリエンスを悪化させる可能性がある。
-
リスクの原因:
- サーバーのオーバーロード
- コードの不適切な最適化
- 外部APIの遅延
- テストカバレッジ: 初期のユーザ利用が少ないと予想されるため、カバレッジを70%に設定。
- 対応方針: 優先度の高いテストケースはリリース前に対応し、それ以外はリリース後の対応を検討。
- テスト戦略: パフォーマンステストを通じて、システムの応答時間や処理能力を確認し、最適化を行う。
- リスク再評価: リリース後のリスク再評価を予定。
3. 認証・認可の失敗
- リスク評価: 高
- トレーサビリティ: アーキテクチャ設計書、ユーザーストーリー、画面設計書参照
- 重要度: 不十分なAPIのセキュリティは、不正アクセスやデータ漏洩のリスクを引き起こす。
-
リスクの原因:
- トークンの失効
- OAuthの不十分な実装
- APIキーの漏洩
- テストカバレッジ: セキュリティの脆弱性が損害を引き起こす可能性があるため、カバレッジは100%。
- 対応方針: NTの場合は対応を行い、NGの場合は修正後に再テスト。
-
テスト戦略:
- 認証・認可のユニットと統合テストを強化
- セキュリティペネトレーションテストの導入
- リスク再評価: リリース後に予定。
4. 依存する外部APIの障害
- リスク評価: 低
- トレーサビリティ: アーキテクチャ設計書参照
- 重要度: 依存する外部APIの障害はシステム全体の動作に影響がある。
-
リスクの原因:
- 外部サービスのダウンタイム
- APIレートリミットの超過
- APIの非互換性更新
- テストカバレッジ: 当該システムでは外部APIを利用しないため、カバレッジは考慮外。
- 対応方針: 外部APIの利用はないため、特に対応は不要。
- テスト戦略: 要件によれば、本システムは外部APIを使用しないため、リスクは低い。
- リスク再評価: 追加開発時に外部APIの利用を検討する場合に再評価を行う。
5. セキュリティ侵害
- リスク評価: 高
- トレーサビリティ: OWASP ASVS参照
- 重要度: システムへの不正アクセスやユーザーデータの漏洩は法的・評判のリスクとなる。
-
リスクの原因:
- セキュリティパッチの未適用
- 弱いパスワードポリシー
- SQLインジェクションの脆弱性
- テストカバレッジ: 静的解析とセキュリティペネトレーションテストを100%カバレッジで実施。
-
対応方針:
- 静的解析の評価はAとする。
- セキュリティペネトレーションテスト結果:
- 「緊急」「重要」: 対応必須
- 「警告」: チーム内で対応を検討
- 「注意」「情報」: 対応不要
- テスト戦略: 定期的なセキュリティペネトレーションテストを実施し、潜在的脆弱性を識別。セキュリティのベストプラクティスとパッチ状況を継続的に監視。
- リスク再評価: 四半期ごとに実施
Discussion