|
ソフトウェア開発者とのコミュニケーションは、特に技術的な知識や語彙が不足している場合は、しばしば困難な作業となります。そのため、プロジェクトマネージャーはユーザーストーリーや多機能システムのメタファーを頻繁に使用します。 プロジェクトの関係者と開発者の間の議論を促進するように設計されたテクノロジーを使用することで、コミュニケーションをさらに促進できます。 キュウリのフレームCucumberは、共通で書きやすい言語を用いて自動ソフトウェアテストを作成できるオープンソースフレームワークです。Cucumberは、振る舞い駆動開発(BDD)の概念に基づいています。BDDでは、ソフトウェア開発において、特定の条件下でユーザーがアプリケーションに期待する動作を定義することが求められます。 (LCTT翻訳者注:ピクルスとキュウリはどちらもキュウリで、ピクルスは漬物に使われる小型のキュウリの一種です。ちなみに、キュウリは漢代に張騫が西域征伐の際に持ち帰ったため、「胡瓜」と呼ばれていました。後に、石勒が「胡」の字の使用を禁じたため、「黄瓜」に改名されました。) Cucumberフレームワークは、現代的な意味での「テクノロジー」ではありません。ビットやバイトの集合体でもありません。むしろ、自然言語(今回は英語ですが、Gherkinは既に70以上の言語に翻訳されています)で記述する方法です。Cucumberフレームワークを使用する際に、コードの読み書きの知識は必要ありません。必要なのは、物事がどのように機能するかについてのアイデアを書き留めることだけです。また、このテクノロジーをどのように活用したいかを文書化するために、特定の用語とガイドラインを使用する必要があります。 Gherkin 言語とは何ですか?Cucumberは、ユースケースを定義するための方法論としてGherkinを採用しています。これは主に、明確なプロジェクト要件を生成するために使用されます。言い換えれば、ユーザーがソフトウェアに何を実行させたいかを、解釈や例外を許すことなく正確に記述できるようにすることです。技術的な事項について深く考え、それをプログラマーロジックに変換できる形で記述するのに役立ちます。 次に例を示します。 ご覧のとおり、これは非常に特殊なシナリオです。ユーザーが50ポンドを要求した場合、ATMは50ポンドを払い出し、それに応じてユーザーの口座残高を調整します。このシナリオはATMの利用方法の一側面に過ぎず、ATMと人間のやり取りの特定の要素のみを表しています。これは、ユーザーの要求に応答する機械をプログラミングするタスクをプログラマーに任せる際に、どのような要素が関係するかを明確に示しています。 Gherkin のキーワードは何ですか?Gherkin 構文では、タスクを実行するために必要な操作を記述するために 5 つの基本的なステートメントを使用します。
(LCTT翻訳者注:これらのキーワードはどの言語でも使用できます。https://cucumber.io/docs/gherkin/languages/ を参照してください) これらの単純なキーワードを使用することで、顧客、アナリスト、テスター、ソフトウェア プログラマーは、誰もが理解できる用語を使用してアイデアを交換できます。 実行可能な要件と自動テストさらに、Gherkinでは実行可能であることも必須です。これは、各キーワードを期待される(そして明示的に宣言された)機能にマッピングすることで実現されます。したがって、上記の例との一貫性を保つため、既に実装されているものはすべて自動的に緑色で表示されます。 Gherkinを拡張することで、開発者は要件をテスト可能なコードに変換できるようになります。実際には、特定のフレーズを使ってソフトウェアソリューションを検査できます。現在のコードが正しく動作しない場合や、新しい変更によって予期せぬソフトウェアバグ(2~3個)が発生した場合でも、修正に進む前に問題を簡単に特定できます。 結論はGherkin構文のおかげで、クライアントはもう行き詰まることはありません。企業と開発者の間の溝を埋め、これまで以上に自信を持って優れた製品を提供できるようになります。 Gherkin の詳細については、Cucumber の Web サイトまたは Git リポジトリをご覧ください。 |