ソフトウェアテストの7原則とテスト観点のポイント
ソフトウェア開発の現場では、何をテストすれば良いのか・どこまでテストすれば良いのか悩むことも多いのではないでしょうか。
それもそのはず、どれだけ膨大な工数をかけ気が遠くなる程大量なテストをしたとしても 「欠陥が無いこと」は示せません。また、全数テストを行うことは不可能です。
これらは下図のISTQB(JSTQB)のソフトウェアテストの7原則においても示されています。
ソフトウェアテストの7原則
参考:国際的なテスト技術認定機関<ISTQB(JSTQB)>によるテストの7原則
テストは欠陥があることしか示せない
つまり、ソフトウェアテストでは実行したテスト条件においての結果は得られますが、 リリース後に無限と存在する全ての条件下においてどう動くかはわかりません。
それでは「ソフトウェアテストで欠陥が無いことの証明は出来ない」という前提の中で どのように品質保証に役立てたら良いものでしょうか。
■関連記事:
本当に良いテストとは何か
明確な答えはないが、良いテストに必要だと思われる必須要素
テストチームのメンバーに対して「良いテストとは何か」といったお題を投げかけてディスカッションをしてみると面白いもので、10人10色の答えを引き出せます。
明確な答えは無いですが、ビジネスシーンにおける文脈であれば上図の要素は必須でしょう。
ただし、これらの要素を満たさないテストが世の中に溢れていることも事実です。
よくある例としては、「仕様書をそのままコピペしただけのチェックリストをテストと称し戦略がない」。
「実務者は戦略を頭の中で思い描いてテストケースを作ったつもりだが、第三者から見て意図が読み取れない」。「同じような観点のテストケースばかりで合理性に欠ける」などです。
良いテストへの第一歩を踏み出すキーワードとして「テストの目的と達成手段を論理的に示せること。またその選択がプロジェクトにとって最善であると説明できること」を意識することは有用です。
よく、テスト設計をしないで突然テストケースを作成する現場を目にしますが、 このテーマと向き合うと「なぜ、テストの上流プロセスにあたるテスト分析やテスト設計が必要か」などそれぞれの活動意義が腹落ちするでしょう。
また、トレーサビリティーに関する意識も自ずと湧いてきますし、ドキュメンテーションの質も変わってきます。
▼ソフトウェアテストの品質の重要性については、こちらを参考にしてみてください。
→ソフトウェア品質の重要性とは?評価するための方法や品質向上の解決策
テストでは「何をやらないか」も決めなくてはならない
その他には、実現可能性の観点から意識しなければならないことが、「人・モノ・金・期間」などの制約です。
例えば、上映予定の映画のキャンペーンサイトであれば納期は必須でしょう。
ヒットするか分からないソーシャルゲームの新規タイトルであれば大量のお金はかけられません。
これは、医療や航空宇宙など高信頼性分野でも同様で程度の違いはあるものの、必ず何かしらの制約の中で品質保証をすることが求められます。
この制約という概念が加わると、テストは「何をするか」を決めると同時に「何をやらないか」を決めなければならないことに気が付きます。
そのため、優先度をつけながら「どこまでやるべきか」を検討する必要があるわけです。
ソフトウェアテストには答えはなく、一筋縄ではいきません。
ただし「良いテスト」と呼ばれるものには、先に述べたような特徴があることを理解しながら実践を重ねていくと良いでしょう。
本記事がソフトウェアテストの7原則を知る上で少しでも参考になれば幸いです。
私たちコウェルは品質を重視したオフショア開発、オフショアにおけるテストサービス、品質保証に取り組んでいます。
オフショア開発・オフショアでのソフトウェアテストに関してお悩みなどございましたら、ぜひコウェルにお気軽にお問い合わせください。
貴社のオフショア開発プロジェクトを最大限にサポートさせていただきます。
なお、コウェルに関する詳細資料は以下でダウンロードすることが可能ですので、何かございましたらお気軽にお問い合わせください。
このほか、弊社の具体的なサービスや導入事例については以下をご覧ください。
コウェルのソフトウェアテストサービスメニュー>>>
コウェルは、日本とベトナムから世界中のお客さまへ高品質なソフトウェアテスト・品質保証・オフショア開発サービスを提供しています。
コウェルの開発導入事例>>>
コウェルは情報通信、金融、流通・小売サービス、医療・ヘルスケアなど、さまざまな業界のお客様の導入を支援しています。