タグ付けされた質問 「cucumber」

5
RSpecとCucumberは本当に価値がありますか?
私はほとんどのRoRプログラマーがテスト中毒者であり、大規模なテストスイートの利点を理解していますが、テストを開始したとき、そのような大規模なスイートを取得することはなく、「正しい方法でテストしていますか?本当に効率的ですか?」多くの場合、アプリケーションの動作のみをテストする統合テストを扱っています。 まず、テストする価値は本当にありますか?つまり、テストの作成に費やした時間は本当に価値があるのでしょうか? 次に、RSpecを使用し、最近Cucumberを発見し、しばらく使用しましたが、これらすべての手順を書くことが本当に面倒な価値があるかどうかわかりませんか?私はステップを再利用できることは知っていますが、これらのステップが完了しすぎているかどうかはわかりません:たとえば、aを使用していますが、作成した場合にユーザーを複製する可能性があるためGiven I am logged in as (.+)、その定義で言う必要があるかどうかはわかりませんGiven there's a user called $1しかし、それは常に一歩前にある価値はありませんGiven I am logged in as (.+)。非常に多くのコードであり、おそらくほとんど役に立たないでしょう。毎日テストされた部品に新しいバグはないのではないかと思います...それで、CucumberはRSpecと比較して本当に価値がありますか?

1
レガシー要件をBDDに移行する
Q:要件データベースで少なくとも15年間のレガシーソフトウェア要件を維持しながら、大企業をCucumberに移行する最良の方法は何ですか? 現在検討中: 1)すべてを移行する マイナス面:無制限の時間/予算がない、生き残るために前進しなければならない、すべてを止めることはできず、レガシー要件とレガシーテストスイートの100%をGCする。 2)ボーイスカウトルール あなたがそれを見つけたよりもすべてを残します。要件に触れたり変更したりする場合は、キュウリ機能を作成/更新します。欠点:2つのシステムの記録(Cucumber、legacy req。DB)があります。おそらく、与えられたアプリケーションの隅に非常に長い間触れられないことを永遠に想定しています。 3)ボーイスカウトルールプラス #2と同じですが、単一の保留シナリオを使用してCucumberに移行しないネット要件を機能に追加し、レガシー要件をコピーして説明セクションに貼り付けます。このようにして、Cucumberがどの程度「カバー」されているかに関するメトリックを(保留中のシナリオを介して)取得します。また、古い要件システムを維持する必要性に乗ります。それがCucumber内の巨大な混乱であるかもしれないので、これ以外の欠点を見つけることはできません。 4)ここにアイデアを挿入します。 バックグラウンド: Cucumberに移行するプロジェクトには自動化されたテストスイートがあり、一部のプロジェクトでは手動テストのみが使用されています。それらはすべて、レガシー要件データベースで要件を維持します。要件は法律/規制と金融商品の複雑なロジック(リスク、価格設定、構造など)が混在しているため、これを行う必要があります。 これは非常に大きな会社であるため、ソリューションをさらに複雑にしていることに留意してください。 「新しい」要件のためにCucumberを使用するプロジェクトが既にいくつかあります。それで、私たちはこの技術を試してみましたが、これは私たちにとってこれまでのところうまくいきました。Webプロジェクトと純粋なデータプロジェクトが混在しています。 ありがとう 編集:質問に回答するには...従来の要件管理DBは、要件をテストに関連付けません。「テスト可能」ではありません。現在、要件をテストに接続することは、各プロジェクトの最後に、要件をテストケース管理システムにリンクする、困難でエラーが発生しやすい手動プロセスによって行われます。キュウリは私たちにとって明らかに優れたソリューションです。それについての質問はありません。問題は、法的な理由や他の理由で失われることのない、膨大な量の重要な要件を抱える大規模な組織をどのように動かすかです。
11 bdd  cucumber 

3
自然言語があいまいな場合、振る舞い駆動型開発はどのように明快さを改善しますか?
私は現在、キュウリのようなBDDテストフレームワークを調査しています。 機能ファイルはシンプルな自然言語で記述されているため、わかりやすさが向上し、明確なビジョンが得られます しかし、自然言語は、ソフトウェアエンジニアリングで発生する問題のほとんどの原因ではありませんか? 自然言語があいまいであり、それがクライアントの要件の誤解と開発者の理解のために多くのソフトウェアプロジェクトが失敗する理由です。私はここでニッチを取得しません。 はい、テストを小さな単純で実行可能なアクションに分解することは理にかなっており、ある程度の明快さを提供しますが、全体として生産性を向上させますか? PS:私は専門家ではないので、ここでは意見を述べていません。私はその概念を理解したいだけです。
9 bdd  cucumber 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.