Cucumber フレームワーク: Cucumber?

⚡ スマートサマリー

Cucumber は、ビヘイビア駆動開発をサポートするテストツールであり、技術的な知識に関係なく誰でもテストを読むことができます。このリソースでは、Given-When-Then ステップを通じて BDD がどのように機能するか、利点について説明します。 Cucumber、そしてそれがどのように比較されるか Selenium そしてHP ALM。

  • 🥒 コア定義: Cucumber これは、技術者と非技術者の両方の関係者が理解できる平易な言葉でテストを作成する、ビヘイビア駆動開発ツールです。
  • 🗣️ BDD Foundation: ビジネスアナリストとプロダクトオーナーは、開発者がコードを書く前にシステムの動作を説明することで、共通理解を深める。
  • 📝 Given-When-Then: あらゆる Cucumber シナリオは、読みやすいGiven-When-Then構造に従っており、生きたドキュメントとしても機能します。
  • 主な利点: 迅速なセットアップ、コードの再利用、エンドユーザー重視、そしてコーディングの知識を持たないビジネス関係者の容易な参加。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ ツールの比較: Cucumber HP ALMは無料でBDDベースですが、HP ALMは有料で Selenium 機能テストと性能テストを対象とする。

Cucumber フレームワーク

何ですか Cucumber?

Cucumber は、ビヘイビア駆動開発(BDD)をサポートするテストツールです。技術的な知識に関係なく、誰でも理解できるテストを作成する方法を提供します。BDDでは、開発者がコードを書く前に、ユーザー(ビジネスアナリスト、プロダクトオーナー)がまず、顧客の視点からシステムの動作を記述するシナリオまたは受け入れテストを作成し、プロダクトオーナーによるレビューと承認を受けます。 Cucumber フレームワークは Rubyプログラミング言語.

Cucumber フレームワーク
Cucumber フレームワーク

BDDの仕組み Cucumber オートメーション?

あなたはネットバンキングアプリケーションに資金振替モジュールを作成するよう割り当てられたとします。

それをテストする方法は複数あります Cucumber テストフレームワーク:

  1. 送金は、送金元口座に十分な残高がある場合に実行されるべきです。
  2. 送金先の口座情報が正しければ、資金送金は実行されます。
  3. ユーザーが入力した取引パスワード/RSAコード/セキュリティ認証が正しい場合、資金送金が実行されます。
  4. 銀行休業日であっても、資金送金は実行されるべきです。
  5. 資金移動は、口座名義人が指定した将来の日付に行われる必要があります。

その テストシナリオ 送金金額をX、期間をY日/月とする、合計金額がZに達したら予定送金を停止するなど、追加機能を考慮すると、より精巧で複雑なものになります。

開発者の一般的な傾向としては、まず機能を開発し、テストコードは後から書くというものです。上記の例からも明らかなように、 テストケース このシナリオの開発は複雑で、開発者は テスト 発売まではテストを行わず、発売後には迅速だが効果のないテストを行うだろう。

この問題を克服するには、 Cucumber BDD (行動駆動型開発) これは考案されたものです。開発者にとってテストプロセス全体を容易にします。

In Cucumber BDDでは、何を書いても 与えられたとき、その時 ステップ。上記の例をBDDで考えてみましょう。

Given that a fund transfer module in net banking application has been developed
And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account
Or I shall transfer on a Bank Holiday
Or I shall transfer on a future date
And destination a/c details are correct
And transaction password/RSA code/security authentication for the transaction is correct
And press or click send button
Then amount must be transferred
And the event will be logged in log file

書きやすく、読みやすく、理解しやすいと思いませんか?資金振替モジュールのあらゆるテストケースを網羅しており、さらに変更して対応することも容易です。資金振替モジュールのドキュメント作成にも最適です。

のメリット Cucumber ソフトウェア

  1. コードを容易に読み解けないビジネス関係者を巻き込むことは有益です。
  2. その Cucumber テストツール エンドユーザー体験に重点を置いている。
  3. このテストの書き方によって、テスト内でのコードの再利用が容易になる。
  4. 迅速かつ簡単なセットアップと実行。
  5. その Cucumber テストツールは、 テスト.

Cucumber vs Selenium vs ALM

このセクションでは、 Cucumber, Selenium、そしてALM。

Cucumber HP ALM (QTP) Selenium
Cucumber ソフトウェアは無料です。 QTP 高いです。 それは自由です。
Cucumber ソフトウェアは、振る舞い駆動型開発ツールである。 これは機能自動化ツールです。 これは機能的かつパフォーマンス的な(Selenium グリッド)テストツール。
プラグインは Cucumber テストツールの動作が速くなりました。 プラグインは、 Cucumber (NAIST) と Selenium. プラグインはより遅い Cucumber.
Cucumber このフレームワークは、Ruby 以外の言語もサポートしています。 Java、スカラ、 Groovy, etc. QTP VBスクリプトのみをサポートしています。 Selenium サポート Java.Net、その他多くの言語。
自動化手順の作成は、テスターと開発者の共同作業です。 In QTP自動化手順を作成するのはテスターのみです。 いいね Cucumber自動化手順の作成は、テスターと開発者の共同作業です。
その Cucumber テストツールはWeb環境のみをサポートしています。 ウェブ、デスクトップ、およびあらゆるクライアント/サーバーアプリケーションをサポートします。 ウェブ環境のみをサポートします。

また、チェックしてください:- UFT vs Selenium: との差 Selenium (NAIST) と HP UFT

よくあるご質問

はい。AIツールは、記述された要件から直接Gherkinシナリオとステップ定義を作成できます。ただし、テスターは生成されたシナリオを使用する前に、正確性、エッジケース、および網羅性を確認する必要があります。

いいえ。AIはシナリオ作成とステップ生成を高速化しますが、人間のテスターは依然として期待される動作を定義し、ビジネスロジックを検証し、ステークホルダーとの連携を維持します。これらはビヘイビア駆動開発の中核をなす要素です。

Gherkinはプレーンテキスト言語です Cucumber テストシナリオを作成する際に使用します。Given-When-Then構造を採用しているため、ビジネス関係者と開発者の両方にとって読みやすく、かつ実行可能なテストを作成できます。

Cucumber BDDはBDDツールです。TDDとは異なり、ユーザーの視点から記述されたシステム動作に焦点を当てています。TDDは、各機能の小さな部分を実装する前に、ユニットレベルのコードテストを作成することに重点を置いています。