テストの種類・The Art of Software Testing のシステムテストカテゴリ

2020年10月5日テスト品質

システムテストは目的別にカテゴリー分けして設計

システムテストの内容を考える時にテスト目的をカテゴリに分けて考えると判り易くなります。グータラ親父はシステムテストのカテゴリとして、“The Art of Software Testing “ という本に載っていた 15種類のシステムテストカテゴリから、組み込みシステム用に何種類かを抜き出して使っていました。

システムテストの定義もいろいろな物がありますが、システムが求められている本来の機能を持っている事を様々な観点から総合的に確認するテスト、というので大きくは外れていないと思います。様々な観点の中には、いろいろなユーザによるいろいろな環境での使い方という考えが入ってきます。あるユーザは非常に負荷の高い状況で使うでしょうし、あるユーザは最大構成で使うかもしれません。

いろいろなユーザによるいろいろな使い方で、コンピュータシステムが本来の機能を提供できる事を確認するために、システムテストは様々な観点からテストケースを作成する必要があります。複数の機能を同時に使って高負荷になっている時のテストや、最大構成で使っている時のテストや、何等かのエラーが起きた時の回復処理のテストなど、考える必要のある領域がとても広くなります。そこで大切になってくるのは、テストの設計すをる時に適切なテストカテゴリー(テストの目的に沿った分類)を使って、漏れが無いようにテストケースの設計を進める事です。

“The Art of Software Testing “ という本は古い本ですが、そこに書かれている内容は今の時代でも十分に役に立つものです。この記事では、グータラ親父が使っていたシステムテストカテゴリについて紹介します。

ソフトテストの教則本 The Art of Software Testing

“The Art of Software Testing “ は 40年以上も前の1979年に  Glenford J. Myers が初版を発行した古い本です。古い本なのですがテストケースの設計方法について具体的かつ体系的に解説してある、とても判り易いソフトテストのバイブルとも言える教本で、そこに書いてある考え方は今でも全く色褪せてはいません。2011年に発行された改定3版ではアジャイルの話題も取り込むなど新しい技術に対する対応も入っていて、今でも十分に通用するテストの教本です。

この本の6章にシステムテストの15種類のテストカテゴリが、その考え方と合わせて紹介されてます。これがなかなか使いやすいものになっています。とはいえ40年前に初版として出版されたものなので、この本で扱っているソフトは企業の大型コンピュータで稼働する基幹システムソフトを主要な対象としています。そのために、現在の組み込みシステム向けのソフトのシステムテストカテゴリとして使うには、ある程度の読み替えや要否の取捨選択が必要になります。この記事では、グータラ親父が実際につかっていたシステムテストカテゴリの項目と読み替えた内容について紹介しますので、参考にご覧ください。

まずは15種類のテストカテゴリの一覧

まずは、"The Art of Software Testing “ に乗っている15種類のシステムテストカテゴリの一覧を見てみましょう。

(1) Facility test : 必要な機能が載っているかの確認
(2) Volume test : 異常に大容量なデータを処理できるかの確認
(3) Stress test : プログラムに異常な負荷を掛けても動作するかの確認
(4) Usability test : エンドユーザにとって使いやすいかの確認
(5) Security test : プログラムのセキュリティ機能の確認
(6) Performance test : 応答性やスループットが満たされているかの確認
(7) Storage test : 一次記憶や二次記憶の記憶容量制御の確認
(8) Configuration test : 推奨構成で正常に動作する事の確認
(9) Compatibility test : 前のバージョンとの互換性の確認
(10) Installation test : サポートされている環境へのインストール作業の確認
(11) Reliability test : 稼働時間や MTBF を満たしている事の確認
(12) Recovery test : システムのリカバリ機能の確認
(13) Serviceability test : サービスの提供を維持する保守機能の確認
(14) Documentation test : 取り扱い説明書の確認
(15) Procedure test : 特殊な機能や保守機能の使い方の確認

いかがですか? このシステムテストカテゴリの名前の見ただけでも、どんなテストカテゴリが必要かを考える時の良い参考になると思いませんか。皆さんの組織で実施されているシステムテストにはこのようなカテゴリのテストは入っていますでしょうか?

それでは、後半の記事ではこの15種類のテストカテゴリ―について、グータラ親父の読み替えや取捨選択について、もう少し具体的に紹介していきましょう。

(次の記事)テストの種類・システムテスト:機能/大容量データ/高負荷/利用性/セキュリティ/性能/記憶領域 に続く
(前の記事)テストの種類・セキュリティテスト に戻る
 テストの記事の先頭 に戻る