2012-07-05 13 views
15

先日私は私の会社でテスターの1人に私がキュウリで書いたいくつかのテストを示していた(2つの特徴、5つのシナリオ)。 その後、彼は私に答えられなかったという質問をしました:キュウリ/カピバラ対セレン?

これはセレンまたは他の機能テスト記録ツールよりどのように優れていますか?

私は、キュウリとは異なる技術であり、テストのレベルは違うと理解していますが、キュウリ/カピバラのテストを書いて維持するのがなぜ難しいのか理解できません。

セレンの代わりにキュウリ/カピバラを使用すると合理的な説明がありますか?

答えて

14

この質問は、意見を求める境界線です。あなたの質問は実際には私には "私のためにどんなツールが正しいのですか?"あなたがなぜキュウリとカピバラを選んだのか理由を挙げていないからです。私はそのテスターの質問に答えると信じています。最初にいくつかの質問に答える必要があります。

1.この段階でどの段階でこれらのテストを書いていますか?

キュウリは、使用している言語によっては単体テストに適していない可能性があります。しかし、ユニットからエンドユーザまで、あらゆるレベルのテストに使用できます。

2.)誰があなたのテストを維持するつもりですか?君は?他の開発者?テスター?ビジネスアナリスト?プロジェクトマネージャー?

自動テストはメンテナンスが必要で、誰がそれを行うのか知ることで、ツールを決定するのに役立ちます。特定のユーザーにとっては技術的なものもあります。

3.)誰が新しいテストを定義しますか?

キュウリは、開発、QAおよびビジネスオーナーの間で協力して使用することを意図しています。これは、自動テストプロセスに全員の知識を活用するための完璧なツールです。しかし、これは、ユビキタス言語の開発が有効であることを要求する。 James Shore's Art of Agileページでそれを読むことができます。

これらの質問に回答したら、テスターの質問に対処する準備が整いました。

しかし、記録ツール(Selenium IDE、HP Quick Test Pro、IBM Rational Functional Testerなど)と開発ツール(nUnit、jUnit、RSpec、Selenium webdriverなど)を比較する際には、カピバラ)は、それらが異なる観客に向けられているということです。彼らはまた、さまざまなplussesとマイナスを持っています。

録音ツールは誰でも簡単に使用できますが、作成するスクリプトは壊れやすいものです。彼らは簡単に壊れ、より多くのメンテナンスが必要です。彼らはすぐにそれを取得し、非技術的な人材を必要とする、一回限りの自動テストには最適です。

開発ツールは、より大きな学習曲線を持ち、プログラミング(または少なくともスクリプト作成)の経験が必要です。スクリプトは一般的にはより堅牢ですが、維持するにはより専門的な知識が必要です。あなたは再現性を望んでおり、長い間テストを使用する予定がある場合には、良い解決策です。

The Cucumber Bookを強くお勧めします。キュウリがあなたにとって正しい選択であるかどうかを判断するのに役立ちます。

+0

十分に良い。しかし、それはあなたが両方を行うことができることを前提としています。 QAエンジニアとして、私は開発者のコ​​ーディング慣行については何の支配もしていません。しかし、キュウリをユニットテストよりもずっと効果的に活用して、変化を促進することができます。 –

+0

実際、質問は「なぜキュウリを使うの? – treaz

+0

@treaz Cucumberは、ドキュメント、ステークホルダーとのコラボレーションの仕組み、要件記憶域の役割を担っています。 –

7

キュウリは試験ツールではありません。キュウリの機能をテストする以外にも、ドキュメント化、ステークホルダーとのコラボレーションの仕組み、要件ストレージ(declarative styleに書き込む場合)の役割も果たします。

カピバラでキュウリを使用する必要はありません。セレンは直接使用することができます。しかし、Capybaraはすべてsupporting driversのための同じ高レベルのAPIを持っています。これはSeleniumよりもハイレベルなので、テストを少し速く書くことができます。あるドライバから別のドライバに切り替えるときにコードを変更する必要はありません。

テスト記録ツールを使用して作成されたテストは、一般にはるかに悪いものです。 Selenium IDEは有効なプログラミングコードを生成する可能性がありますが、見栄えが悪く、メンテナンスが困難です。

0

キュウリは、ビジネスユーザーがテストを読めるようにするためのツールです。それはあなたのカピバラの階段に正規表現を使ってマッチした簡単な英語の文章で構成されています。

録音ツールを使用しても、長期的には良いことはありません。彼らは初心者のためのものであり、強力ではありませんので、私はあなたがコーディングに直進することをお勧めします。

あなたのテストにSeleniumを単独で使用することはできますが、便利で使いやすいと判明した場合は、ドキュメントの目的でCucumberを引き続き使用することをお勧めします。結局のところ、キュウリはカピバラやセレンのウェブドライバを使うことができます。

+2

ビジネスユーザーはテストの読み書きに本当に関心がありますか?私の経験から、彼らは仕事をしたいだけです...レコーディングツールは初心者のためのものでした - >ツールを使いやすくすれば、キュウリやカピバラを学ぶのは気になりませんでしたか? – treaz

+0

うん、私はすべてのビジネスユーザーではないにしてもほとんどがフィーチャーファイルを見ていないわけではないが、それはキュウリのためだということに同意する。記録ツールは初心者には最適ですが、カピバラのような高級言語を学ぶことは非常に簡単です。ほんの一握りの方法で克服することができます。 – maru

0

Selenium ideは、視覚的な要素(リンク、テキストなど)がほとんどある機能をテストするのに適しています。しかし、しばしばWebアプリケーションには、電子メールの送信、ジョブのキューイング、サードパーティサービスとの通信など、ビジュアル要素としては機能しない機能があります。たとえば、「電子メールが送信されました」というメッセージが表示されたフォームを提出する。しかし、電子メールが実際に送信されたかどうかは実際にはわかりません。そのため、ここでその機能全体を実際にテストしているわけではありません。