ソフトウェアテストの本質は情報収集!
はじめに
同僚のエンジニアから「テストは合格か不合格かの二択じゃないか」という話をうけて、ソフトウェアテストは合格か不合格かの二択ではないことを知ってほしいと思い、自分なりのソフトウェアテストの考えを整理しました。
ソフトウェアテストとは・・・
ソフトウェアテストとは「テスト対象の情報を収集する手段」だと考えています。これは、ソフトウェアの機能、仕様、および要件に関する理解を深めることを指します。ドキュメントレビューや自動テスト、手動テストもテスト対象の情報を収集することが起点であると考えているからです。不具合を見つける、ステークホルダーに情報提供する、品質を保証することはテスト対象の情報収集をすることと同義であるという考えです。
情報収集は、「合格/不合格」、「OK/NG」という二者択一ではなく、「使いやすい」、「複雑である」、「わかりにくい」というような定性的なフィードバックも情報の一つだと考えています。
テストというと、何らかの基準を用いて、「合格/不合格」、「OK/NG」という尺度で評価し、不具合を見つけるために実施するプロセスであるイメージを持つ人がいると思います。
しかし、より広義にテストの意味や目的を捉えてみてはどうでしょうか。
ソフトウェアテストをテスト対象の情報を収集をする手段と捉えると、ソフトウェアに対する定性的なフィードバックを得る活動もソフトウェアテストの一種であるということはイメージしやすいかと思います。
なお、JSTQB Foundation Levelシラバスでは、テストに共通する目的として以下が挙げられています。これらの目的には、「評価」、「検証」、「確認」といった用語が使われていますが、「収集」という目的も含まれると考えています。
まとめ
ソフトウェアテストを情報収集と捉えることで、定性的なフィードバックを含む情報収集から、ソフトウェアの使いやすさや複雑さなど、重要な側面が考慮されるのではと考えました。ソフトウェアテストは単なる合格/不合格の判定に留まらず、あらゆる側面のソフトウェアの品質改善に向けた重要な手段であると説明しやすくなればと思います。
この記事が気に入ったらサポートをしてみませんか?