13

私たちは大規模なプロジェクトの初期段階にあり、何らかの形の自動UIテストが役立つ可能性があると判断しましたが、これがどのように機能するかを正確に分類していません...

主な目標は、アプリの基本的なインストールと実行を自動化することです。そのため、開発者が大きな破損を引き起こした場合(たとえば、アプリがインストールされない、ネットワークが接続されない、ウィンドウが表示されないなど)、テスター壊れたビルドのインストールと構成に時間を浪費する(そしてイライラする)必要はありません

二次的な目標は、反復的なタスクを処理するときにテスターを支援することです。

私の質問は、誰がこれらの種類のテストを作成する必要があるかということです。私たちのチームの暗黙の前提は、テスターがそれを行うというものでしたが、ネットで読んだすべてのことは、開発者が一種の「拡張単体テスト」としてそれらを作成することを常に暗示しているようです。

いくつかの考え:

  • コントロールIDやクラスなどを知っていて、アプリがどのように機能しているかをよりよく把握していることを考えると、開発者はこれを行うのにはるかに適しているようです。

  • テスターに​​は、アプリがどのように機能しているかがわからないという利点があるため、はるかに便利なテストを作成できます。

  • IronRubyWhiteを使用していくつかの初期スクリプトを作成しました。これは本当にうまく機能し、文字通り何でもできるほど強力ですが、UIテストを書くためのコードを書くことができる必要があります

  • 私たちが試したすべての自動UIテストツール(TestCompleteなど)は非常に複雑で壊れやすいようです。テスターはそれらを使用できますが、約100倍の時間がかかり、常に「偶発的な複雑さ」に直面しています。 UIテストツールが原因です。

  • 私たちのテスターはコーディングできません。彼らはかなり賢いですが、テスターが単純なルビースクリプトを書く可能性があることを示唆したとき、私が得たのは面白い外観でした(スクリプトは混乱した混乱よりも約100倍簡単に読み書きできますが)自動UIテストツールの標準と思われるボタンとデータグリッド)。

開発者とテスターの両方のチームでUIオートメーションを試した他の人からのフィードバックに心から感謝します。誰が何をしましたか、そしてそれはうまくいきましたか?前もって感謝します!

編集:問題のアプリケーションは、WCFを使用してサーバーに接続するC#WPF「リッチクライアント」アプリケーションです。

4

8 に答える 8

4

私の経験では、コーディングできるテスターは、開発者として昇給のために仕事を切り替えます。

自動UIテストツールについて同意します。WinRunnerまたはLoadRunnerを購入できるほど豊富な私が働いたすべての場所では、スタッフが実際にそれを使用する余裕がありませんでした。価格は変わったかもしれませんが、当時は5桁から6桁の高値札でした(スターターホームの価格を考えてみてください)。製品は使いづらく、誰もがそれらを壊すのに苦労することを恐れていたので、通常は施錠されたキャビネットにアンインストールされたままでした。

于 2009-08-18T23:58:51.860 に答える
4

アプリケーション開発者として 7 年以上働いた後、最終的にテストとテストの自動化に切り替えました。テストはコーディングよりもはるかに困難であり、成功したい自動化開発者はテスト スキルを習得する必要があります。

少し前に、私はいくつかのブログ投稿でスキル マトリックスに関する私の考えを述べました。

議論に興味がある場合:

http://automation-beyond.com/2009/05/28/qa-automation-skill-matrices/

ありがとう。

于 2009-08-28T13:51:19.977 に答える
4

理想的には、最終的にテストを書くのは QA であるべきです。プログラムによるソリューションを使用する際の問題は、QA 担当者がツールの使用に慣れるための学習曲線です。開発者は確かにこの学習曲線を支援し、メンタリングによってプロセスを支援できますが、それでも時間がかかり、開発の足を引っ張っています.

別の方法は、言語 (およびデータ スクリプト) をサポートし、QA がスクリプトを視覚的に構築できるようにする単純な GUI ツールを使用することです。これにより、本当に必要な場合にのみ言語の詳細を掘り下げることができます。ここでも開発を行うことができます。

私が見た中で最も成功した試みは間違いなく後者でしたが、これを設定するのは難しい部分です. Selenium は、単純な Web アプリケーションと、アプリケーションを介した単純なスレッドでうまく機能しました。JMeter も (Web サービスのスクリプト化された Web 会話用に) うまく機能しています... 社内で構築されたテスト ハーネスの別のオプション - スクリプト言語 (Groovy、Python、Ruby) の上にあるシンプルなツールで、QA を可能にします。 GUI またはデータ ファイルを介してアプリケーションにテスト データを入力します。データ ファイルは単純なプロパティ ファイルにすることも、より複雑な場合は構造化された (YAML や Excel などの) データ ファイルにすることもできます。そうすれば、基本的なスモーク テストを構築して開始し、後でそれをさまざまなシナリオ駆動型のテストに拡張できます。

最後に...リッチクライアントアプリはこの方法でテストするのがはるかに難しいと思いますが、言語の性質と利用できるツールに依存します...

于 2009-08-19T00:15:18.890 に答える
3

テストを提案するテスターと、実際にテストを作成する開発者はどうですか?

于 2009-08-19T00:20:42.793 に答える
3

開発者にテストを書いてもらうことが最も役に立つと思います。そうすれば、最後だけでなく、開発サイクル全体で「破損チェック」を行うことができます。毎晩自動ビルドを行うと、バグが小さく、人食いの巨大なバグに成長する前に、バグを見つけて修正することができます。

于 2009-08-19T00:05:02.113 に答える
2

最初は、使用するツールに大きく依存すると思います。

当社は現在Seleniumを使用しています (私たちは Java ショップです)。

Selenium IDE (Firefox でアクションを記録する) は正常に動作しますが、開発者は Web アプリケーションに対して発生した間違いを手動で修正する必要があるため、QA がテストを作成するのにはあまり適していません。

私が過去に試みたことの 1 つ (ある程度の成功はありました) は、ライブラリ関数を Selenium 関数のラッパーとして作成することでした。彼らは平易な英語として読みます:

selenium.clickButton("Button Text")

...しかし、舞台裏でボタンの適切なレイアウトとタグ、ID などをチェックします。

残念ながら、テストを簡単に記述できるようにするには、多くの設定が必要でした。

私は最近、Selenium のラッパーであるTwist (Thoughtworks 製、Eclipse エンジン上に構築) と呼ばれるツールに気付きました。これにより、プレーンな英語スタイルのテストを作成できます。簡単なアサーションを平易な英語で書くことができるテスターに​​これを提供できることを願っています!

新しいアサーションのスタブも自動的に作成されるため、テスターはテストを作成し、新しいコードが必要な場合は開発者に渡すことができます。

于 2009-08-19T00:21:50.110 に答える
1

最も合理的なオプションは、QA 担当者がテストをスタブ化できるように十分な仕様を用意し、基本的に各「画面」または各コンポーネントで何をテストしたいのかを把握し、それらをスタブ化することです。スタブには、何をテストしているのかを非常に説明するような名前を付ける必要があります。これは、機能要件を具体化する方法も提供します。実際、この方法で要件を実行することは特に簡単であり、技術者ではない人々が自分のプロセスの泥水を実際に処理するのに役立ちます.

スタブは、QA/開発担当者の組み合わせによって記入できます。これにより、QA 担当者にテストの書き方を安価にトレーニングすることができます。また、彼らは通常、仕事の安定性を高めるため、それを丸呑みします。

于 2009-08-19T00:02:32.243 に答える
0

それは主に、テスト チームのスキル レベル、利用可能なツール、および開発者とテスターがどのようにやり取りするかに関するチームの文化に依存すると思います。私の現在の状況では、比較的技術的なテスト チームがあります。すべてのテスターは、開発スキルを持っていることが期待されます。この場合、テスターが UI オートメーションを作成します。テスト チームにこれらのスキルがなければ、成功する準備はできていません。その場合、開発者が UI オートメーションを作成するのが最善かもしれません。

考慮すべきその他の要因:

テスターのプレートには他にどのようなテスト タスクがありますか? あなたの顧客は誰で、品質に関して彼らは何を期待していますか? 開発チームのスキルレベルと、テスト自動化作業を引き受ける意欲は?

-ロン

于 2009-09-24T01:52:27.657 に答える