2011年1月8日土曜日

システムテスト

『知識ゼロから学ぶ ソフトウェアテスト』   高橋寿一著  ④システムテスト


4. ソフトウェアの性能をチェックする
~システムテスト~



システムテストおという手法は、どんな状況下であってもソフトウェアが期待された動作をするかをテストする手法です。

“ システムテストの手法というものは存在しないので、テスト担当者は非常に多くの創造性が求められる ”   Edward Kit


構成テスト
「Windowsにはバグが多い」という話をよく聞きます。理由を考えたことがあるでしょうか。
開発されたプログラムは、多くの場合それ単独では動きません。その周辺にある多くのリソースを使って動作することがほとんどです。
つまり、上の答えは、「Windowsにはテストすべきシステム環境が多すぎる」ことにあるのです。
DellやNECのパソコン。CPUも命令セットも違う。無限に存在するビデオカード。開発者は、この全ての環境に合ったソフトウェアを作ることになります。

その様々な条件でプログラムが十分動作するためのテストを「構成テスト」と言います。

構成テストは、以下のような構成でソフトウェアをテストする必要があります。
・異なるOS (Windows, Linux 等)
・異なるメーカのコンピュータ (Dell, HP, IBM 等)
・異なるビデオカード (異なるメーカ, 解像度, ビデオメモリの大小)
・異なるメーカのプリンタ (HP, EPSON, Cannon等)


負荷テスト
短い時間に多量のデータを入力し、出力させ、それに伴う処理を実行させるテストのことです。
負荷テストで注意すべき点は以下の2つです。
・想定される最大サイズのデータが、システム上で既定時間内に問題なく処理されるかどうかをテストする。この場合のシステムとは、ソフトウェア・ネットワーク・データベースシステム等・ソフトウェアおよびそれに付随するものすべてです。
・ユーザーもしくはそのソフトウェアに関する人々が行う、目的を達成するための操作が十分可能である。

負荷テストとして、長時間プログラムを走らせるといった負荷を与えるテストもあります。

最後に、「負荷テストに関してはかならず自動化すべきだ」という意見が多いです。
手動の場合だと、どんな原因によって問題が起きたかが分かりにくく再現性のないバグになることが多いからです。


パフォーマンステスト
パフォーマンステストとは、ソフトウェアを設計もしくは企画する段階で、設定されたソフトウェアの性能が期待された通り出ているかをチャックするためのテストです。

パフォーマンステストを行う際には、以下の流れが推奨されています。
  1. アーキテクチャバリデーション(アーキテクチャ的に十分なパフォーマンスを発揮しているかをチェック)
  2. パフォーマンスベンチマーク(開発されたソフトウェアのテスト)
  3. パフォーマンス回帰テスト(回帰テスト)
  4. パフォーマンスチューニング、アクセプタンステスト(最終製品が要求定義に定められたパフォーマンスを発揮しているかをチェック)
  5. パフォーマンスモニタ(ERPアプリケーションでは、それに近いデータを用意して、パフォーマンスを発揮しているかをチェック)


ユーザビリティテスト
ユーザビリティテストとは、実際にプログラムを使いユーザもしくはそれに近い人に使用してもらい、ユーザインターフェースなどの使い勝手や仕様をチェックしてもらうテストです。

チェックポイントは以下の点です。
・アクセサリビリティ
・効率性
・学習性
・構造の明確さ
・操作性
・ユニバーサルデザインへの配慮

最後に、ユーザビリティテストは、テストチームがするべきでないテストだと著者は思っています。
確かに、テスト担当者がユーザの立場でテストをするのは無理があります。
いくらユーザの立場に立ったといえ、開発者やテスト担当者が一番そのソフトウェア製品を知っている事実に変わりありません。さらに開発に関わる人はコンピュータサイエンスを特別に勉強してきた人々です。

実際にターゲットユーザとなりうる人々を集めたり、第三者機関などを利用してテストすべきなのです。

0 件のコメント:

コメントを投稿