見出し画像

【QA】テストとは何か?

開発プロセスにおいて、テスト工程ではどんな作業が行われるでしょうか。テストとは単にソフトウェアが期待通りの動作をするかを確認する行為だと思われるかもしれません。ここでは、テストとは何かについてご紹介していきます。


1.背景

ソフトウェアシステムは様々な分野で使われることが必須となっています。時々はソフトウェアが期待通り動作せず、何らかの不具合をユーザーに与えることがあります。その不具合は、大きく分けて次の4つがあります。

  • 経済的な損失

  • 時間の浪費

  • 信用の失墜

  • 障害や死亡事故

トラブルが発生したソフトウェアの修正おやび再テストにかかるコスト、クレーム受付や製品回収などのトラブル対応にかかるサポートコストが考えられます。また、ソフトウェアを使用しているユーザー企業の業務が止まってしまうことにより発生する損害への補償や機会損失も忘れてはいけません。

品質の低下は信用の失墜につながり、製品競争力の低下につながります。さらに「あの会社の製品は品質が悪いから買うのをやめた方がいい」と言われるようになってしまいます。

2.テストとは

ソフトウェアテストは、ソフトウェアシステムが本番で使われる前に、期待通りの動作をするかを確認する行為です。動作しない場合(故障)、その故障が発生しなくなるところまで見届けることでソフトウェアの故障が発生する可能性を低くします。

一般にテストとは、ソフトウェアを実行して結果を確認することだと思われていることが多いようですが、テストを実行する他に様々な活動を含みます。これをテストプロセスと言います。

①テスト実行前作業

自分が何のためのテストをしているのかわかるために実施しておくべき作業となります。

  • テスト計画

  • テスト分析

  • テスト設計

  • テスト実装

②テスト実行時の作業

単にテストケースを実行するだけではなく、テスト企画やテスト設計で決定した事項の確認を忘れないようにするために行うべき作業となります。

  • 実行結果のチェック

  • テスト終了基準の評価

③テスト完了作業

テストプロジェクトが成熟していくために、また担当者自身のテスト技術の向上につながるために行うべき作業となります。

  • テスト結果の報告

  • テストウェアの整理

④全体を通して行われる作業

テストプロジェクト全体を通して行われる作業となります。

  • モニタリングとコントロール

以上で、ソフトウェアを実行して結果を確認することは、テストの一部ではありますが全部ではないということを理解していただければ幸いです。各作業については近いうちにご紹介していこうと思います。

3.テストとデバッグ

デバッグ(debug)とテストは同じなのでしょうか。結論から言うと、デバッグとテストは同じではありません。

テストは、ソフトウェアに存在する欠陥に起因する故障を発見することを目的としています。これに対してデバッグとは、故障の基となる欠陥を見つけて、欠陥の原因を解析し、修正する一連の開発の活動です。その後、テスト担当者が確認テストを実施し、欠陥の修正で故障が解決したことを確認します。

一般的には、テスト担当者はテストに責任を持ち、開発担当者はデバッグに責任を持つことになります。

4.まとめ

テストとは、ソフトウェアが期待通り動作するかを確認する行為です。テストはソフトウェアを実行して結果を確認することだけでなく、テストプロセスを通して様々な作業を行います。テストはテスト担当者が責任を持って行い、デバッグは開発担当者が責任を持って行う行為で、異なる概念です。


ソース|JSTQB Foundation 


いいなと思ったら応援しよう!