web-dev-qa-db-ja.com

キュウリ/キャピバラvsセレン?

先日、会社のテスターの1人に、キュウリで書いたいくつかのテスト(2つの機能、5つのシナリオ)を見せていました。それから彼は私に答えることができないという質問をしました:

これは、Seleniumやその他の機能テスト記録ツールよりも優れていますか?

キュウリは別のテクノロジーであり、テストのレベルも異なることは理解していますが、キュウリ/カピバラのテストを作成して維持する必要がある理由がわかりません。

セレンだけでなくキュウリ/キャピバラを使用するための合理的な説明を誰かに教えてもらえますか?

16
treaz

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

1.)プロセスのどの段階でこれらのテストを作成しますか?

使用している言語によっては、キュウリが単体テストに適しているとは限りません。ただし、ユニットから統合、エンドユーザーまで、あらゆるレベルのテストに使用できます。

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

自動化されたテストを維持する必要があります。誰がそれを行うかを知ることは、ツールを決定するのに役立ちます。一部のユーザーにとっては技術的すぎるためです。

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

キュウリは、開発、QA、および事業主の間で共同で使用することを目的としています。これは、すべての人の知識を自動テストプロセスに活用するための完璧なツールです。ただし、効果を発揮するには、ユビキタス言語の開発が必要です。 ジェームスショアのアジャイルアート ページでそれを読むことができます。

これらの質問に答えたら、テスターの質問に答える準備ができています。

ただし、レコーディングツール(Selenium IDE、HP Quick Test Pro、IBM Rational Functional Testerなど)と開発ツール(nUnit、jUnit、RSpec、Selenium webdriver、Capybaraなど)を比較する際に留意すべき点がいくつかあります。それらは異なるオーディエンスを対象としています。また、プラスとマイナスも異なります。

記録ツールは誰でも簡単に使用できますが、作成するスクリプトは壊れやすいものです。それらは簡単に壊れ、より多くのメンテナンスが必要です。これらは、1回限りの自動テストに最適であり、迅速に実行する必要があり、技術的でない人員が必要です。

開発ツールは学習曲線が大きく、プログラミング(または少なくともスクリプト)の経験が必要です。スクリプトは一般的に堅牢ですが、維持するにはより多くの技術的知識が必要です。再現性が必要で、テストを長期間使用する予定がある場合に適したソリューションです。

The Cucumber Book を読むことを強くお勧めします。それはあなたがキュウリがあなたにとって正しい選択であるかどうかを決めるのに本当に役立ちます。

16
Doug Noel

きゅうりはテストツールだけではありません。 Cucumberの機能のテストに加えて、ドキュメント、利害関係者と協力するメカニズム、および要件ストレージ( 宣言型 で記述した場合)の役割も果たします。

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

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

9
Andrei Botalov

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

1
Sam G

Cucumberは、ビジネスユーザーがテストを読みやすくするために使用されるツールです。これは、正規表現を使用してカピバラのステップに一致する平易な英語の文で構成されています。

記録ツールを使用しても、長期的には何の役にも立ちません。これらは初心者向けであり、それほど強力ではないため、コーディングに直接進むことをお勧めします。

テストにはSeleniumを単独で使用できますが、Cucumberが便利で使いやすい場合は、ドキュメント化の目的で引き続きCucumberを使用することをお勧めします。結局のところ、CucumberはCapybaraまたはSeleniumWebドライバーを使用できます。

1
gerky