3

私の目標は:

  • お客様は新しいWebテストを生成できます。
  • 継続的インテグレーションサーバーは、テスト環境の展開を行います。それに対してテストを実行する必要があります
  • テストは、他の環境に対して実行することもできます。

(最終的な受け入れテストは、フォントなどをテストするためにお客様が行う必要がありますが、これは、テスト環境の受け入れ前チェックとして最適です。お客様は、現在以外のことに集中できます。)

通常、一部のプロパティ(テキストフィールドIDなど)が変更されたかなどがあり、テストは数週間で失敗します。記録されたテストは頻繁に失敗したようです。したがって、古いテストを保守および変更しようとするよりも、新しいテストを簡単に記録する方が適切です。

今、私はまったく新しいアプローチを見つけました。たぶん録音は正しい方法ではありません。もし私たちの顧客が人間が読める形式のユースケースを作成し、それをマシンが理解してWebレコーディング(ドメイン固有言語、DSLを使用)にコンパイルできるとしたらどうでしょう。これはSFではなく、すでに作成されているので、読み進めてください。:-)

私はこれらの自動Webテストフレームワークを使用しようとしました:

  • Visual Studio Webテスト(お客様は実行できません)
  • Selenium(Firefoxでのみ動作します。お客様はIEを使用しています)
  • WatiN(Watirの.NETバージョン、レコーダーは少しバグがあるようです)
  • HP Quick Test Pro(新しいテストを行うのに十分簡単ではありません)

これらのどれも私が実際に必要なものを提供していません...しかしセレンは最も近いものです。

お客様はフィンランド語を話すため、ソフトウェアプロジェクトの開始時、仕様段階で、ユーザーは次のようなユースケースを作成します。

  • Avaa「OmaLomake」
  • Syötä"Tuomas"kohtaan "nimi"
  • パイナ「スラーヴァ」

翻訳:

  • 「MyForm」を開く
  • フィールド「name」に「Tuomas」を挿入します
  • 「次へ」を押します

さて...これは人間が読める形式のユースケースですが、自動Web受け入れテストにコンパイルすることもできます。Open、Insert、into field、Pressはキーワード、その他は値です。

これにはどのようなDSLツールが適していますか?

Microsoftは、MGrammarと呼ばれるOsloプロジェクトで新しいDSL作成ツールを作成しています。これは、カスタム言語を作成して、技術者以外の人が機械を簡単に操作できるようにすることができることを意味します。(CobolとVisual Basicであった(そして失敗した)同じ基本的な考え方。)

誰かがすでにMGrammarでこの種のDSLを作成していることがわかりましたが、これはSeleniumではなくWatin用です:http: //www.codinginstinct.com/2008/11/creating-watin-dsl-using-mgrammar.html

したがって、継続的インテグレーションサーバーのプロセスは次のようになります。

  1. (通常どおり)ソース管理から新しいバージョンを取得します。
  2. 単体テストをビルドして実行し、コードを分析します(通常どおり)。
  3. (通常どおり)バージョン管理でインストールパッケージとタグバージョンを作成します。
  4. ユースケースをWebテストにコンパイルする
  5. Webテストを実行する
  6. ソフトウェアを承認/拒否します:-)

継続的インテグレーションサーバーでWebテストを実行すると、通常、多くの構成作業が必要になります。それで、これを試す前に、私は興味があります、あなたはどう思いますか?同じ種類のセットアップを使用しましたか?また、どのような経験がありますか?(正確な環境は?)

DSLはどうですか、それはユースケースに十分なパワーを持っているのでしょうか、それとも別の無限の開発タスクになるのでしょうか?顧客はテストを生成しますか?

4

3 に答える 3

1

First of all, Selenium does work with IE and other browsers as well as Firefox; cross browser support is one of its strengths. Here's the list of supported browsers.

However, if you want a human language-based DSL for writing your tests, take a look at Cucumber - the syntax is almost exactly like your example above. Cucumber already has Finnish language support - see the examples at this link.

于 2010-07-06T15:53:08.937 に答える
0

TestPlanソフトウェアは、テストの作成に特化した言語を使用します。これは高度にドメイン固有であり、Web 環境で非常にうまく機能します。Selenium バックエンドをサポートしているため、互換性が得られるだけでなく、ブラウザーなしで実行できるため、さらに高速なテストが可能です。あなたが探しているセットアップのタイプで、いくつかのかなり大きなWebプロジェクトでそれを使用しました.

サンプル スクリプトは次のようになります。

GotoURL /SomePage
Click MyForm
SubmitForm with
   %Params:name% Tuomos
   %Submit% value:Next
end

それでおしまい。ユーザーが何をしたいのかをうまく説明しており、機能テストです。スクリプトをユニットに組み合わせて、カスタム機能を持たせることもできます。したがって、本当に必要な場合は、名前に相当する Finish を書くことができます。

于 2010-10-21T05:41:19.913 に答える
0

Selenesse ( http://github.com/marisaseal/selenesse ) や Fitnium ( http://www.magneticreason.com/tools/fitnium/fitnium.html )などの Fitnesse と Selenium の統合ツールも目的に役立ちます。ただし、顧客が作成したテスト ケースに要素ロケータを誰が配置するのかについては、答えを見つける必要があります。お客様がレコーダーを使用してロケーターを設置すると、メンテナンスができない場合があります。顧客が手順を記述し、自動化テスター/開発者が正規表現、カスタム ロケーション戦略を使用してそれらのロケーターを配置できる場合、このアプローチは機能する可能性があります。

于 2010-07-09T10:12:43.710 に答える