自動テストツールとは何ですか?
物理的な製品をテストして目的の動作と仕様を満たしているかどうかを確認するのと同様に、ソフトウェアもテストします。 ソフトウェアのテストは、人が手動で、またはツールを使用して実行できます。 自動テストツールは、対象ソフトウェア、つまり検討中のソフトウェアをテストするために使用されるソフトウェアです。 このようなツールは、ターゲットソフトウェアでさまざまなテストを実行し、テストに合格したかどうかを判断します。
ソフトウェアをテストして、正しい結果が生成され、有効な入力が受け入れられて正しく処理され、無効な入力が拒否されることを確認する必要があります。 結果が迅速に生成されるかどうか、多数の人が同時にアクセスした場合でもソフトウェアが適切に動作するかどうかを判断するには、テストが必要です。 手動テストが頻繁に使用されますが、テストを行う人々の徹底に依存します。 ソフトウェアを手動でテストするには時間がかかり、ほとんどの非自明なアプリケーションではかなりの数の人員が必要であるため、コストが増加します。 さらに、数千の同時ユーザーまたは大量のデータのテストを手動で簡単に実行することはできません。
テスト自動化とは、ソフトウェアをテストするためのツールの使用です。 自動テストツールは、それ自体がソフトウェアであり、開発、購入、または取得できます。 このツールは通常、ターゲットソフトウェアの実行を開始し、さまざまな条件をテストするためにさまざまな入力をターゲットソフトウェアに渡します。 ターゲットソフトウェアの対応する出力を評価し、各テストの合否結果を追跡します。 一連のテストの最後に、通常、ツールは要約結果を提供するため、欠陥の数と重大度を迅速に判断できます。
自動テストツールは2つの方法で機能します。 まず、コード駆動型にすることができます。つまり、ツールは記述されたコードと密接に関連しているため、さまざまな入力の結果が正しいことを確認できます。 第二に、マウスの動き、キーボード入力、音声入力などのユーザーからのアクティビティを模倣し、ユーザーに提供される出力の正確性を検査するユーザーインターフェイスに基づくことができます。 後者の場合、人の実際の活動を記録してからツールで再生したり、そのような活動をツールに供給されたコマンドのスクリプトから生成したりできます。
汎用の自動テストツールが市場で入手できます。 ほとんどは非常に高価ですが、一部のツールは無料で入手できます。 ターゲットソフトウェアが非常に具体的または一意である場合、テストツールはおそらく、そのソフトウェアチーム自身がカスタム開発する必要があります。 すべてのソフトウェアと同様に、ツール自体にも制限があり、適切な入力データが与えられた場合にのみ適切に機能します。 比較的完全なテストセットを提供しない場合、ツールはターゲットソフトウェアの品質を判断するのに役立ちません。
自動テストツールには多くの利点があります。 一連のテストが作成されると、テストは人が実行するよりも速く実行できます。 テストは一晩で実行することも、奇数時間に実行することもできます。 テストを繰り返し実行して、時間の経過とともに修正されるエラーがターゲットソフトウェアに侵入したかどうかを判断できます。