理解度チェック
クイズの説明
Step 1で学んだ品質の基本概念について、理解度を確認します。
- 全8問
- 合格ライン: 80%(7問正解)
- 不合格の場合は復習してから再挑戦してください
問題
Q1. ソフトウェア品質における「機能要件」と「非機能要件」の違いとして正しいものはどれですか?
- A) 機能要件は無料、非機能要件は有料
- B) 機能要件は「何をするか」、非機能要件は「どれくらい良くするか」
- C) 機能要件は開発者が決める、非機能要件は顧客が決める
- D) 機能要件は後から追加できる、非機能要件は最初に決める
正解: B
機能要件は「システムが何をするか」を定義し、非機能要件は「どれくらい良く動くか」(パフォーマンス、セキュリティなど)を定義します。
</details>Q2. 1:10:100の 法則において、リリース後にバグを発見した場合のコストは設計段階と比べてどれくらいですか?
- A) 10倍
- B) 50倍
- C) 100倍
- D) 変わらない
正解: C
1:10:100の法則では、設計段階=1、テスト段階=10、リリース後=100です。 リリース後の修正は設計段階の100倍のコストがかかります。
</details>Q3. 品質コストの分類として「予防コスト」に該当するものはどれですか?
- A) バグ修正の作業時間
- B) 障害対応の人件費
- C) コードレビューの実施
- D) 顧客からのクレーム対応
正解: C
コードレビューは問題を事前に発見・防止するための「予防コスト」です。 A、B、Dは問題発生後の「修正コスト」に該当します。
</details>Q4. 「回帰テスト(リグレッションテスト)」の主な目的は何ですか?
- A) 新しい機能が正しく動作するか確認する
- B) 変更を加えた後に既存機能が壊れていないか確認する
- C) システムの負荷耐性を確認する
- D) セキュリティの脆弱性を発見する
正解: B
回帰テストは、コードの変更後に既存の機能が正しく動作し続けているかを確認するテストです。「1箇所直したら別の場所が壊れた」という問題を防ぎます。
</details>Q5. 「受入条件(Acceptance Criteria)」の説明として最も適切なものはどれですか?
- A) 開発者がコードを書くための条件
- B) タスクが「完了した」と判断するための具体的な基準
- C) プロジェクトに参加するための条件
- D) システムが動作する環境の条件
正解: B
受入条件は、タスクやストーリーが「完了した」と判断するための具体的な基準です。 すべての受入条件を満たして初めて「作業完了」と言えます。
</details>Q6. 品質を意識した作業において、「プロ」と「アマチュア」の違いとして正しいものはどれですか?
- A) プロは速く作業し、アマチュアは遅い
- B) プロは「動いたからOK」、アマチュアは「品質確認してOK」
- C) プロは「品質を確認してOK」、アマチュアは「動いたからOK」
- D) プロは一人で作業し、アマチュアはチームで作業する
正解: C
プロの開発者は「動くコード」ではなく「品質を確認したコード」を提供します。 「たぶん大丈夫」ではなく「テストで確認済み」という姿勢が重要です。
</details>Q7. バグが後から発見されるほど修正コストが高くなる主な理由として正しいものはどれですか?
- A) 開発者の記憶が薄れるから
- B) 影響範囲の特定、修正、テストのやり直しが必要になるから
- C) バグ修正の単価が時間とともに上がるから
- D) 顧客がより厳しくなるから
正解: B
リリース後にバグが発見されると、影響範囲の調査、修正、回帰テスト、再デプロイなど多くの作業が必要になります。また、顧客対応やサポートコストも発生します。
</details>Q8. 新人エンジニアが品質を学ぶ最大のメリットとして最も適切なものはどれですか?
- A) 給料が上がる
- B) 仕事を早く終わらせられる
- C) 手戻りが減り、信頼される開発者になれる
- D) コードを書く量を減らせる
正解: C
品質を意識した作業を行うことで、レビューでの指摘が減り、バグの手戻りも少なくなります。 結果として、チームから信頼される開発者として成長できます。
</details>結果
7問以上正解の場合
合格です!おめでとうございます!
Step 1「品質とは何かを理解しよう」の理解度チェックを完了しました。 次はStep 2「チェックリストを活用しよう」に進みましょう。
6問以下の場合
もう少し復習しましょう
間違えた問題の内容を、該当するセクションで復習してください:
| 問題 | 復習セクション |
|---|---|
| Q1 | step1_2 ソフトウェア品質とは |
| Q2-Q3 | step1_3 品質コストの考え方 |
| Q4-Q5 | step1_4 品質管理の基本用語 |
| Q6-Q8 | step1_1 なぜ品質を学ぶのか |
まとめ
学んだこと
- ソフトウェア品質の2つの側面(機能要件と非機能要件)
- 品質コストの考え方(1:10:100の法則、予防・発見・修正コスト)
- 品質管理の基本用語(バグ、テスト、レビュー、回帰テスト、受入条 件)
- プロとしての品質意識の重要性
次のステップ
Step 2: チェックリストを活用しよう
品質を確保するための強力なツール「チェックリスト」の作り方と使い方を学びます。
推定所要時間: 15分