簡単な質問が3つあります。
自動テストにQuickTestProを使用している人はいますか?
他に推奨する自動テストアプリケーションはありますか?
自動テストは良い考えですか?
ありがとう
私は QTP を使用する自動化チームの責任者でしたが、それが嫌いでした。記録/再生機能はひどいもので、定期的に混乱し、奇妙なテスト結果が得られました。レコードは、オブジェクト データベースを構築するためにのみ使用でき、その場合でも、ある程度確実に機能させるためにあらゆる種類のハッキングを行わなければなりませんでした。
QTP/QC は ActiveX/COM に基づいており、燃える犬のうんちの別の袋である VBScript でのみスクリプト化できます。あらゆる種類の拡張性を得るために、これらすべてのハックとトリックを実行する必要がありました。QTP テストをテスト スイートに動的に追加するテストの実行、入力パラメータの編集、環境に一致するようにオブジェクト リポジトリの変更、テストの保存、テストを実行するためのスケジューラ インスタンスの生成などを行っていました。テストが完了したら、すべての結果を親テストにコピーし、テスト セットから QTP テストを削除します。最終的に、VBScript が呼び出して QTP/Quality Center を中途半端なレポート エンジンとして使用するカスタム COM コンポーネントを公開することになりました。
Mercury/HP のもう 1 つの問題は、彼らがすべての技術サポートをインドに外注し、トレーニングを行わなかったことです。API に関する技術的な知識を持っている人と話す前に、低レベルのサポートの煉獄で 2 週間を過ごすのが一般的でした。
強い言葉遣いで申し訳ありませんが、エピソード全体がトラウマになっていることがわかり、QTP/QC を使用するプロジェクトやチームのために働くことは二度とありません。
SO には、テストの自動化に関するスレッドがいくつかあります。
私は Quick Test Pro を使用したことはありませんが、さまざまな自動テスト ツールを使用するいくつかのプロジェクトに参加してきました。Silk Test、Rational Robot、WinRunner。これらの取り組みの中で最も成功したのは、RRAFS フレームワークで Rational Robot を使用して、アプリケーションの変更をテスト スクリプトから分離したものです。また、テスト インフラストラクチャの自動化と管理にSTAFフレームワークを使用しています。
自動テストは、アプリケーションのさまざまな面をテストするための優れた手法ですが、人間のテスターに取って代わるものではありません。すべてのツールと同様に、使用することも悪用することもできます。テスト対象が安定しており、反復可能であり、結果が予測可能または計算可能であり、十分な頻度でテストしている限り、自動化のコストは最終的に元が取れます。
非UIの自動テストは間違いなく価値があることがわかりました。
UIの自動テストも価値がありますが、それほど価値はありません。私のプロジェクトでは、UIはコードの10%未満です。UIの自動テストには、タイミングやスレッドアクセスなど、予想よりも困難な他の問題がたくさんあります。UIテストにはnunitformsを使用しています。
可能であれば、最初にUIの背後にあるロジックをテストしてから、最後にUIをテストすることをお勧めします。UI以外のテストを使用すると、コストを大幅に削減できます。
Automated QAのテストプログラムを評価しましたが、見た目は良かったのですが、UI以外のテストで行っていたものに似ていたため、nunitformsを使用しました。
ダン、私は自動化にQTP11を使用しています。
テストしたいアプリケーションの種類などの要件を教えてください。ほとんどすべての種類のアプリケーションで、多くのオープンソースおよびシェアウェアツールを利用できます。
自動化するものが頻繁に変更されない限り、自動化されたテストは良い考えです。そうでない場合は、必要に応じてアプリケーションで実行するよりも頻繁にテストスクリプトを変更することになります。
「自動テスト」は思ったほど良くありません。私の知る限り、プロセスの一部にすぎないのはテスト実行の自動化です。
タスクに繰り返しがある場合は、タスクの自動化が必要です。たとえば、モジュールで、製品にいくつかの小さな改善が加えられたビルドごとに回帰テスト ケースを実行する必要がある場合、回帰テスト ケースを実行できます。自動化。この例では、反復テスト ケースの自動化により生産性が向上し、テスターは手動テストにより集中できるようになります。
qtp とは別に、qt 関連プロジェクトの squish や、Windows C++ および VB プロジェクトのテスト パートナーも探索できます。
私の職場では QuickTest Pro を使用していませんが、自動システム テストのオプションを調査中です。推奨事項に関する限り、ソフトウェア ツールを承認または拒否するための基準が何であるかを知らずに、それを行うのは少し困難です。以下の基準に従って、自動化されたシステム ツールを判断します。
これらは単なる機能です。コストは確かに要因です。ツールがスクリプト用の専用言語を学習する必要があるかどうかは、別の要因です。
自動テストは間違いなく良いアイデアです。自動テストは、継続的インテグレーションを可能にする重要な要素の 1 つです。
どの種類の自動テストですか?
API を介していくつかの結果を比較するビルド後のプロセスの一部であるいくつかのスクリプトを作成しましたが、これは特に必要なものではありません。
自動化された Windows ユーザー インターフェイス アプリケーションに関しては、Rational Robot を垣間見たことがありますが、特にお勧めすることはできません。