2016-07-27 5 views
3

Javaベースのテストを処理するためにCucumberをうまく使用しました。キュウリ - 既知の問題として予想通りに失敗する方法を教えてください。

これらのテストでは回帰の問題が発生することがあります。見つかった問題の修正に時間がかかります(問題の優先度に応じて、数週間から数か月かかる場合があります)。だから、いくつかのキュウリ試験を既知の問題としてマークする方法を探しています。これらのテストがすべてのテストで失敗しないようにするには、たとえばレポートに黄色の色で保留するなどのようにマークしたいだけです。

失敗したテストのために@tagを指定して実行リストから除外することができますが、これらのテストを継続的に実行する必要があるため、実行したいのではありません。問題が修正されたら、追加のタグ操作をせずに適切なテストを再度緑色にする必要があります。

いくつかの他のフレームワークは、このような機能を提供します(テストは実行しますが、失敗した場合はその結果を無視します)。どういうわけかキュウリを使って同じトリックをすることは可能ですか?

私が今使っている最終的な解決策 - 特定のタグの既知の問題をマークするには、これらのテストを定期的なラウンドから除外し、別々に実行します。しかし、それは私が信じる最良の解決策ではありません。

感謝しています。前もって感謝します。

+0

既知のエラーに適用するために@known_errorタグ(またはそれを呼び出すもの)を作成します。あなたのキュークを\ @ known_errorを除いたものと\ @known_errorだけを含むものの2つの段階で実行します。それらを背中合わせに置く。最初のテストは緑色で、2番目のテストは合格するまで「卒業」するテストを審査します。依存関係に失敗した場合は、最初の結果のみに依存します。 –

+0

Dave、これは私が今行っていることです:)しかし、この場合、私のメインレポートには既知の問題に関する情報は含まれていないため、別々に追跡する必要があります。 –

答えて

0

既知の障害を引き起こす手順で保留中の例外をスローすることを検討します。これにより、ステップが実行され、忘れられないようになります。

また、障害が発生したときにそれが捕捉され、実際の障害の代わりに保留中の例外がスローされるように、失敗したステップを書き直すことも検討します。これは、問題が修正され、保留中の例外をスローする理由がなくなったときに、合格スイートがあることを意味します。

私が懸命に働くもう一つのことは、問題が古くならないようにすることではありません。問題は子供のようなものです。子供が成長すると、問題を解決するのがより困難になります。若いうち、おそらく数分かかる問題を解決するのは簡単です。数ヶ月前の問題を解決するのは難しいです。

+0

あなたのアドバイスのおかげで、トーマス!私は保留中の例外を投げることを試してみるでしょう、それは助けるかもしれません。 「問題が古くならないように」ということは残念ですが、QAエンジニアとしては、実際の問題の優先順位付けに影響はありません。可能な限り頻繁に思い出させるだけですが、私の声が考慮されることを保証するものではありません:) –

+0

何かが壊れているか、QAを聞いていないエンジニア。だからこそ私はそれを避けるために頑張っています。しかし、他の人が気にしないなら、私は自分自身を死にはしません。 –

+0

私が説明している問題を解決するのに本当に役立つように答えとして記入してください。しかし、この方法にもいくつかの欠点があるので、私はそれを使い始めることを意味しません。とにかく、それは少なくとも私が探していたものに近い新しいソリューションです。みなさん、ありがとう! –

0

すべきではありません。

私の意見では、失敗したテストがある場合、これらのシナリオのバグ/タスクチケットを追加し、それらを関連タグのビルドステータスページに追加する必要があります。 もう1つのことは、チケット番号をタグとして追加して、チェックした後に削除することです。

バグのためにシナリオが失敗した場合、シナリオが完全に実装されていない場合、実行しない方がよいことがレポートに表示されます。

これらのシナリオに特定のタグ/名前を追加し、以前のシナリオ方法で試してタグを取得し、追加された特定のタグ/名前を確認し、保留中の例外をスローすることができます。

私が示唆しているのは、バグがある場合はそれらのシナリオを実行し続け、ステータスページにそれを記録することです。

「グレー」のステータスで何らかの黄色ではなく失敗しているため、これらのシナリオが赤色の場合、クライアントはより理解しやすくなると思います。

実行のステータスが一部のCIジョブをトリガーする必要がある場合は、その状態を変更する方が良いかもしれません。

私はそれを見て、あなたが考える必要があることは、次のようなものでなければなりません:黄色か赤の違いは何ですか?あなたやクライアントのために保留中または失敗していますか?実際の状態を把握する

これらの問題をメールでお伝えし、プロジェクトチームやQAチームと話し合い、最終的な決定が下されたら、お客様からもフィードバックを得るべきです。

関連する問題