はじめに
こんにちは!
入社1年目の私が、【JSTQB FL】(日本ソフトウェアテスト技術者資格基準)の勉強を通じて、
「1.テストの基礎」について重要だと思ったポイントを要約してお伝えしていきたいと思います!
目次
1-1.テストとは何か?
1-2.テストの必要性
1-3.テストの7原則
1-1.テストとは何か?
テストとは
テストとは、ソフトウェアの品質を評価し、運用環境でソフトウェアの故障が発生するリスクを低減する1つの手段のこと
ここでいう防ぎたいリスクとは?
・経済的な損失
・時間の浪費
・信頼の失墜
・傷害や死亡事故
テストに共通する目的
すべてのプロジェクトで、テストの目的は以下の通りとなっています。
・作業成果物の評価
※「読みやすいか」「間違いはないか」をチェック
・お客様の要求を満たしていることの検証
・品質が所定のレベルにあることを確証
・欠陥や故障を発見し低品質になることを防ぐ
・ステークホルダー(利害関係者)へ品質レベルについての情報を提供
・テスト対象が法律上、契約上、規制上の要件や標準に遵守および、準拠しているかどうかを検証
⇒法律を含めたさまざまなルールが守られているかどうかを検証
テストとデバッグ
テストとは、ソフトウェアの動作を確認し、想定外の動きや不具合を「見つける」作業
デバッグとは、テストで見つかったバグを特定し「修正する」作業
テストとデバッグの違いは、「修正する」作業を含むか含まないかが大きな違いになります。
また、その他の違いとしては担当者に違いがあります。
テストを行うのは主にテスト担当者、それに対してデバッグを行うのは主に開発者という違いがあります。
1-2.テストの必要性
テストはなぜ必要なのか
運用環境で問題が発生するリスクを低減させるためにテストを行います。
「1-1.テストとは何か?」より
テストとは、ソフトウェアの品質を評価し、運用環境でソフトウェアの故障が発生するリスクを低減する1つの手段
また、コンポーネントやシステムの品質向上の効果や、契約や法律上の要件、および各業界の標準に合致していることを証明するためにテストが必要となります。
品質保証とテスト
品質保証とテストは、関連性はありますが同じではありません。
さらに大きな範囲を表す品質マネジメントという概念が両者を結び付けています。
品質マネジメントとは、プロジェクト自体やプロジェクトで作る物の品質を管理するためのすべての活動のこと
※品質保証と品質コントロールの両方を含む
品質保証(QA)とは、品質が適切なレベルか確認し、安心や満足を保証するための活動のこと
品質保証は、お客様視点での活動になります。
品質コントロールとは、テスト活動を含め、適切なレベルの品質を達成するための活動のこと
こちらは、作り手視点での活動となります。
エラー、欠陥、故障
エラーとは、間違った結果を生み出す人間の行為のこと
エラーと同じ意味で「誤り」とも言われます。
エラーは以下のような様々な原因によって発生します。
・納期のプレッシャー
・人間の誤りを犯しやすい性質
・プロジェクト参加者の経験不足または技術不足
・プロジェクト参加者間の誤ったコミュニケーション
・コード、設計、アーキテクチャー、解決すべき根本的な問題、使用する技術の複雑さ
・システム内またはシステム間のインターフェースに関する誤解
・新しく不慣れな技術
欠陥とは、作業成果物に存在する、要件または使用を満たさない不備・欠点のこと
欠陥はエラーによって引き起こされる事象になります。
欠陥と同じ意味として「バグ」、「フォールト」などがあります。
故障とは、テストによりプログラムを動かしたときの、不正なプログラムの実行結果のこと
※テストのミス実行による結果などは、故障とは別物になります。
欠陥があることによる不正な結果が故障です。
1-3.テストの7原則
テストの7原則は以下の通りとなっています。
1.テストは欠陥があることは示せるが、欠陥がないことは示せない
→テストにより、ソフトウェアに残る未検出の欠陥数は減らせるが、欠陥が見つからないとしても、正しさの証明とはならない
2.全数テストは不可能
→すべてをテストすることは、ごく単純なソフトウェア以外では非現実的
3.早期テストで時間とコストを節約
→テスト設計を作りこみの段階で実施することによって、それぞれの工程とその成果物の質を見直し向上させることができる
4.欠陥の偏在
→リリース前のテストで見つかる欠陥や運用時の故障の大部分は、特定の少数モジュールに集中する
5.殺虫剤のパラドックスにご用心
→同じテストを何度も繰り返すと、最終的にはそのテストでは新しい欠陥を見つけられなくなる
6.テストは状況次第
→状況が異なれば、テストの方法も変わる
7.「バグゼロ」の落とし穴
→欠陥を修正したから、必ずしもソフトウェアの品質を向上させるとは限らない
終わり
今回は、【JSTQB FL】テストの基礎の「1-3.テストの7原則」までまとめてみました!
ここまで読んでいただきありがとうございました!
ぜひ参考にしてみてください!