Chuyển đến nội dung chính

NFR、品質属性、エッジケース: BA は開発/QA 向けにテストするためにどのように記述できますか?

Duy Tran12分
NFR、品質属性、エッジケース: BA は開発/QA 向けにテストするためにどのように記述できますか?

機能要件の答え: システムは何をしますか?

非機能要件 (NFR) の答え: システムはどのような条件下でどの程度うまく機能しますか?

多くのプロジェクトは機能の欠如ではなく、NFR の欠如が原因で失敗します。

  • 機能には十分なボタンがありますが、遅すぎます。
  • ログインは機能しますが、監査ログがありません。
  • API は正しいデータを返しますが、レート制限を処理しません。
  • フォームは送信できますが、スクリーン リーダー ユーザーは使用できません。

BA はアーキテクトになる必要はありませんが、NFR を明確に質問して作成する方法を知っている必要があります。

1. NFR にはどのようなグループが含まれますか?

一般的な BA グループ:

グループBA の質問
パフォーマンスどのくらい速いですか?ユーザーは何人ですか?
可用性システムにはどれくらいの稼働時間が必要ですか?
信頼性エラーを回復するにはどうすればよいですか?
セキュリティ誰が何をする権利があるのでしょうか?
プライバシーどのデータが機密ですか?どれくらいの期間保存しますか?
使いやすさユーザーがタスクを完了するのは簡単ですか?
アクセシビリティ障害者でも利用できますか?
スケーラビリティトラフィックが増加すると何が起こるでしょうか?
可観測性調査するのに十分なログ/メトリック/アラートはありますか?
保守性設定、ルール変更、サポートは簡単ですか?

2. 測定したNFRの書き方

書かないでください:

システムは高速でなければなりません。

書いてください:

注文リスト ページは、同時ユーザー 500 人、注文データ 100,000 件の p95 で 2 秒以内に読み込まれる必要があります。

書かないでください:

システムは安全でなければなりません。

書いてください:

財務マネージャーの役割のみがトランザクション レポートをエクスポートできます。すべてのエクスポートでは、user_id、タイムスタンプ、フィルター、エクスポート行番号、IP を含む監査ログを記録する必要があります。

テンプレート:

[Đối tượng] phải [hành vi/chất lượng] trong [điều kiện] với [ngưỡng đo] và [cách kiểm chứng].

3. 品質属性のシナリオ

非常に明確な書き方:

成分例
刺激1,000 ユーザーが同時にアクセス
環境ラッシュアワー、6 か月のデータ
応答検索リターンシステム
対応策p95 レイテンシー < 2.5 秒、エラー率 < 1%

要件として次のように書きます。

Khi có 1.000 user search đơn hàng đồng thời trong giờ cao điểm, hệ thống phải trả kết quả trong p95 < 2.5 giây và error rate < 1%.

4. 3 つの特殊なケースを見逃してはなりません

データのエッジケース

  • NULL またはフィールドがありません。
  • レコードが重複しています。
  • 別のタイムゾーンの日付。
  • フィールドの負の値を負にすることはできません。
  • 名前が長いですね。
  • 特殊文字。

権限のエッジケース

  • ユーザーがログインしていません。
  • ユーザーがセッションを期限切れにする。
  • ユーザーはロール A を持っていますが、ロール B の機能にアクセスします。 ・操作途中で管理者権限が剥奪された。

統合のエッジケース

  • タイムアウト API。
  • API は 500 を支払います。
  • API は、予想とは異なるスキーマを返します。
  • ベンダーのレート制限。
  • 再試行するとリクエストが重複します。

UX のエッジケース

  • 空の状態。 ・読み込みに時間がかかります。
  • ユーザーが送信を 2 回クリックします。
  • 間違った形式でファイルをアップロードします。
  • ユーザーはブラウザバックに戻ります。

5. 完全な例

機能: 請求書のアップロード。

機能要件:

FR-001: User có thể upload hóa đơn dạng PDF hoặc ảnh để hệ thống lưu vào hồ sơ thanh toán.

NFR とエッジケース:

NFR-001 Performance:
File dưới 10MB phải upload xong trong p95 < 5 giây trên mạng 4G ổn định.

NFR-002 Security:
File upload phải được virus scan trước khi user khác có thể tải xuống.

NFR-003 Privacy:
File hóa đơn có thể chứa PII, chỉ role Finance và Owner của hồ sơ được xem.

EC-001:
Nếu user upload file > 10MB, hệ thống hiển thị lỗi "File vượt quá dung lượng 10MB" và không lưu file.

EC-002:
Nếu user bấm Submit hai lần, hệ thống chỉ tạo một record hóa đơn.

EC-003:
Nếu virus scan fail, file bị quarantine, user thấy trạng thái "Đang chờ kiểm tra bảo mật".

6. BA のチェックリスト NFR

ストーリーがスプリントに入る前に:

  • パフォーマンスには測定値がありますか?
  • セキュリティには明確な役割/権限がありますか?
  • プライバシーにはデータ分類がありますか?
  • 監査ログには何が必要ですか?
  • 重要なエラーケース AC は存在しますか?
  • 再試行すると重複が発生しますか?
  • すでに空の状態ですか?
  • アクセシビリティにはどのような基準が必要ですか?
  • モニタリング/アラートにはどのようなメトリクスが必要ですか?
  • QA は NFR をテストする方法を知っていますか?

7. エッジケースを見つけるための AI 支援プロンプト

AI を使用して提案することもできますが、以下を確認する必要があります。

Bạn là Senior Software BA và QA Lead.
Đây là user story và acceptance criteria:
[paste]

Hãy liệt kê:
1. Data edge cases
2. Permission edge cases
3. Integration failure cases
4. UX empty/loading/error states
5. NFR còn thiếu
6. Test scenarios đề xuất

Trả về bảng: Case, Why it matters, Suggested AC, Test approach.

8. よくあるエラー

エラー 1: NFR はスローガンのように書かれています

「安全性が高い」「使いやすい」「速い」をテストすることはできません。しきい値、条件、メトリクスを追加しましょう。

エラー 2: すべての NFR をアーキテクトにプッシュしています

アーキテクトはソリューションの設計を支援しますが、BA はビジネス ニーズ、コンプライアンス、ユーザーの期待が明確に述べられていることを確認する必要があります。

エラー 3: ハッピー パスのみを書き込みます

幸せな道は通常は簡単です。本番環境のインシデントを引き起こす部分は、エッジケースにあります。

スケジューリング機能の完全な NFR の例

ID品質特性測定可能な要件テスト/検証方法
NFR-PERF-001パフォーマンス同時ユーザー数が 300 でスロットが 10,000/日ある場合、スロット リスト ページは p95 で 2 秒未満で読み込まれる必要があります。リリース前にテストをロードし、ダッシュボードで p95 レイテンシを監視します。
NFR-AVAIL-001可用性スケジュール機能では、営業時間 08:00 ~ 20:00 の 99.5% の可用性が必要です。稼働時間の監視、インシデントレポート。
NFR-SEC-001セキュリティ予定を所有する顧客のみが、その予定を表示/変更/キャンセルできます。権限テスト、別のユーザーのappointing_idを使用した否定テスト。
NFR-監査-001監査可能性スケジュールを作成、変更、またはキャンセルするたびに、アクター、タイムスタンプ、old_status、new_status、reason を記録する必要があります。テスト ケースの監査ログを確認します。
NFR-ACC-001アクセシビリティ予約フォームはキーボードで操作でき、スクリーンリーダーでラベルやエラーを読み取ることができます。WCAG チェックリスト、キーボードのみのテスト。
NFR-OBS-001可観測性booking_success、slot_unavailable、notification_failed のメトリクスがあります。ステージングテスト後のダッシュボードには十分なメトリクスが表示されます。

エッジケースカタログ:

エッジケース予想される動作
2 人の顧客が 1 秒以内に同じスロットを確認確認できる予定は 1 つだけです。残りのリクエストは受信されます SLOT_UNAVAILABLE。
顧客は残り 4 時間ちょうどでスケジュールを変更しますポリシーが「少なくとも 4 時間」の場合、システムは 4 時間以上を許可します。
電子メール サービス エラー予約はまだ確認されており、通知を 3 回再試行し、失敗した場合はアラートを作成します。
顧客がスロットを表示した後、コンサルタントは非アクティブになりました送信がブロックされたため、コンサルタントは利用できなくなりました。
ユーザーがリンクを開いて期限切れのカレンダーをキャンセルするシステムはホットラインに電話するよう指示を表示しますが、自動的にはキャンセルされません。

参照元

結論

NFR とエッジ ケースでは、ソフトウェア BA が違いを生みます。ストーリーは小さく見えるかもしれませんが、パフォーマンス、セキュリティ、プライバシー、エラー処理、可観測性が欠けている場合、リリース後に大規模な手戻りが発生する可能性があります。優れた BA は、コーディングを開始する前にチームがそのリスクを認識できるようにします。