きゅうり-概要
ソフトウェアテストをより有効に活用するために、組織は今日、一歩前進しています。開発が進行している間、重要な受け入れテストシナリオを実装します。このアプローチは一般的にとして知られていますBehavior Driven Development (BDD)。
ビヘイビア駆動開発は、開発者と顧客の両方の観点からもテストスクリプトを作成する機会を与えてくれます。そのため、最初は、開発者、プロジェクトマネージャー、QA、ユーザー受け入れテスター、および製品所有者(株主)が全員集まり、このソフトウェア/アプリケーションを成功させるためにどのテストシナリオに合格する必要があるかについてブレインストーミングします。このようにして、彼らは一連のテストシナリオを考え出します。これらのテストスクリプトはすべて単純な英語であるため、ドキュメント化の目的にも役立ちます。
例
ユーザー認証機能を開発している場合、以下はいくつかの重要なテストシナリオであり、成功と呼ぶために合格する必要があります。
ユーザーは、正しいユーザー名と正しいパスワードでログインできる必要があります。
ユーザーは、間違ったユーザー名と正しいパスワードでログインできないようにする必要があります。
ユーザーは、正しいユーザー名と間違ったパスワードでログインできないようにする必要があります。
使い方
コードの準備が整うまでに、テストスクリプトの準備も整います。コードは、BDDで定義されたテストスクリプトに合格する必要があります。それが起こらない場合は、コードのリファクタリングが必要になります。定義されたテストスクリプトが正常に実行された後にのみ、コードがフリーズします。
これは非常に単純な概念ですが、この概念を実装するために必要なものです。答えは、ビヘイビア駆動開発(BDD)フレームワークです。Cucumberは、そのようなオープンソースツールの1つであり、ビヘイビア駆動開発をサポートします。より正確に言うと、Cucumberは、プレーンな英語のテキストによって駆動されるテストフレームワークとして定義できます。これは、ドキュメント、自動テスト、および開発支援としてすべて1つになります。
では、キュウリは何をするのでしょうか?それは次のステップで説明することができます-
Cucumberは、機能ファイル(後で紹介する)のプレーンな英語テキスト(Language Gherkin –このチュートリアルの後半で紹介する)で書かれたコードを読み取ります。
ステップ定義内の各ステップの完全一致を検出します(コードファイル-詳細はチュートリアルの後半で提供されます)。
実行されるコードは、次のようなさまざまなソフトウェアフレームワークにすることができます。 Selenium, Ruby on Railsなど。すべてのBDDフレームワークツールがすべてのツールをサポートしているわけではありません。
これが、Cucumberが他のフレームワークよりも人気がある理由になっています。 JBehave, JDave, Easyb, 等
Cucumberは、次のような12を超えるさまざまなソフトウェアプラットフォームをサポートしています。
- Ruby on Rails
- Selenium
- PicoContainer
- SpringFramework
- Watir
他のツールに対するキュウリの利点
Cucumberは、Java.netやRubyなどのさまざまな言語をサポートしています。
これは、ビジネス言語と技術言語の間の架け橋として機能します。これは、平易な英語のテキストでテストケースを作成することで実現できます。
これにより、コードの知識がなくてもテストスクリプトを記述でき、プログラマー以外の人も参加できます。
他のツールとは異なり、エンドツーエンドのテストフレームワークの目的を果たします。
シンプルなテストスクリプトアーキテクチャにより、Cucumberはコードの再利用性を提供します。