ソフト開発監査チェックリスト(15)テスト管理技術(後半)

2021年2月15日ソフト開発監査

ソフト開発監査のチェックリストの開発技術・テスト管理の項目を紹介しています

ソフト開発監査は、ソフトの開発委託先の能力を判定するためにグータラ親父が勝手に命名した監査の方法です。ソフト開発監査の概要監査時の事前の準備監査当日の作業内容については、他の記事で紹介しています。また、ソフト開発監査で使う監査チェクリストの使用時のポイントについても、別の記事で紹介していますので、そちらをご覧ください。 

この記事では、前の記事に続いて開発技術のチェクリストの中のテスト管理について、残りのチェック項目を紹介します。

【項目番号:TM-04】

テストの量を確認したら次はテストの質を確認します。とはいえ、テストの質は簡単な数値で表せるものでは無く、質が良いか悪いかを判断する確かな方法が無いのが悩ましいところです。悩んでいても仕方が無いので、まずは異常系のテストをどれだけの比率でやっているか、という観点からテストの質を確認します。

実は、テストの目的を機能が動作する事と設定すると、正常系のテストをするだけで良くなります。実際に海外でソフトウエアの開発を行うと、テストは要求仕様書に書いてある機能が動作する事を確認するための正常系のテストしかしていない、という場合も良くあります。

テストの目的を様々な動作条件でも安定して機能が動作する事と設定すると、負荷が高かったりノイズが多かったりというような実際に機器が使われる環境で起こりえる事を想定して、そのような状況でも動作する事を確認するための異常系のテストも入ってきます。また、通信プロトコル等ではエラーが発生した時の処理が規定されている事が多いので、これらの設計・実装されたエラー処理が正しく実行される事を確認する準正常系のテストもあります。これらの異常系や準正常系のテストをどの程度の比率でやっているのかを、テストの質が良いかどうかの判断に使います。

【項目番号:TM-05】

異常系のテストの比率をもう少し細かくテストの目的つまりテストカテゴリ毎のテストの比率で見る事で、また別の視点からのテストの質を判断する事ができます。テストカテゴリ毎のテストの比率もまた、これが正解というのは無いのですが、自社の既存製品と比較する事で、委託先のテストと自社のテストとの差異が見えてきますので、不足するテストカテゴリのテストを増やしてもらうなど、具体的なテストの質の改善要望が出しやすくなります。

【項目番号:TM-06】

ファームのバージョンアップ機能は、他の機能よりも一段高い品質が必要だとグータラ親父は思います。大規模化が進む今のソフトでは、残念ながら潜在バグが入った状態でソフトがリリースされる事もあります。市場で動作している製品にソフトのバグがあったとしても、ネット経由でバグ修正版のファームにバージョンアップする事ができれば、そのバグを無かった事にできます。そんなファームのバージョンアップ機能が万が一にもバグって動かなかったとしたら、、、そんな事は想像もしたくありません。ですので、ファームバージョンアップ機能のテストは、十分な質のテストができているか特に注意して確認しておきます。

なお、ファームウエアとソフトウエアはグータラ親父の記事ではほぼ同じ意味に使っています。言葉の意味からは、ファームはよりハードに近いので出荷後にバージョンアップ等による書き換えができない物を指して、ソフトは市場での書き換えができる物を指すのが良さそうにも思えます。でも、ファームもソフトも、企画・設計・実装・テストという品質に関わる作業は同じなので、グータラ親父はファームもソフトも似た様な物として捉えています。そのため、ファームとソフトという呼び名もどちらも同じ物を指していると思って、記事をご覧ください。

【項目番号:TM-07】

ファームのバージョンアップ機能のテストでは、テストの質と合わせてテストの量もまた大切です。特にエンドユーザの宅内で使われるような端末機器の場合には、何万台から何十万台の製品があり、いろいろな環境やタイミングでファーのバージョンアップ機能が使われます。全ての場合を試験の段階で揃える事はできませんが、のべ回数にして数百回から数千回のバージョンアップ試験は実施して、いろいろなタイミングでのバージョンアップ機能の正常な動作を確認しておきたいところです。

【項目番号:TM-08】

無線LANはここ数年で各家庭にも広まってきました。色々な家電も無線LANに対応する製品が増えてきているので、自社製品にも無線LAN機能が載っている場合が多くなってきました。製品に無線LANの機能が載っていれば、当然無線LANについてもテストをするのですが、無線LANはテスト環境の準備やテストの進め方が幅広く、良い質のテストを行うには慎重に検討を進める必要があります。そのような点に注意して無線LANのテストが作られているか、注意しながら確認します。

【項目番号:TM-09】

ソフトが大規模化するにつれてテストに掛かる工数や日数も増えてきました。数百人日のテストとか数十日の期間のテストとなると、テスト環境や機材やテスト人員等をうまく配置してテストを進めないと、あちこちでテスト待ちが発生したり、遊んでいるテスト機材が発生したりして、テストの効率が下がってしまいます。また、一旦テストを始めたら、計画通りに進んでいるかを確認する事が大切です。

計画通りに進んでいない時は特に注意が必要で、テストをしているソフトの品質がとても悪くてテストがあちこちで止まっているのかもしれません。テストはその結果からソフトの品質の良し悪しを測る事ができますが、テストの途中経過からもソフトの出来具合を知る事ができます。そのためにも、テストがちゃんと計画されてテストの進捗がちゃんとトレースされる体制があるか、という点に注意しながら核にします。

【項目番号:TM-10】

テストの最大の成果物はテストで検出されたバグです。バグはその再現方法等の情報と合わせて開発部門にフィードバックして、バグの修正が行われる事で、ソフトの品質を良くします。しかし、検出したバグ以外にもいろいろなテストの成果物があります。例えば、同じようなソフトAとBに対して同じような質と量のテストをした結果、見つかったバグの数がソフトAは30件でソフトBは60件だとします。

どちらのソフトも見つかったバグが全て修正されていれば、最終的なソフトウエアの品質はAもBも同じと判断する事もできます。でも、テストで全ての潜在バグを見つける事が出来るわけではないので、潜在バグが残っている可能性はソフトBのほうが多いと考えて、ソフAのほうが品質が良いという考え方もあります。このような情報もテストの成果物ですので、そのような事も含めてテストの結果を有効に使っているか、という視点で確認します。

テスト管理の次はテスト内容についてのチェック項目です

テスト管理のの確認の次はテスト内容についての確認項目について、次の記事で紹介します。

(次の記事)ソフト開発監査チェックリスト(16)テスト技術 に続く