0

私はちょうどその本のScrum and XP from the Trenchesの途中で、 ​​How we do testingの章、特に Acceptance Testing Phase (私はATPと呼びます) について読んでいます。著者は、1 つのアプローチを提案しています。

アプローチ 2: 「新しいものの構築を開始しても問題ありませんが、古いものを本番環境に移行することを優先します」</p>

しかし(私の意見では、または私は何も得られません)そのアプローチはATPをまったく参照していません. 1 つのスプリントがあり、次に別のスプリントがありますが、ATP はどこにありますか。あるいは、最初のスプリントには ATP が含まれていることを著者が念頭に置いているのかもしれません。もしそうなら、それはステートメントフォームのサブチャプターをどのように参照するか? 受け入れテストはスプリントの一部であるべきか? 数ページ前:

私たちはここでよく迷います。一部のチームは、スプリントに受け入れテストを含めています。しかし、私たちのチームのほとんどは、次の 2 つの理由からそうしません。 スプリントにはタイムボックスがあります。受け入れテスト (デバッグと再リリースを含む私の定義を使用) は、タイムボックス化が非常に困難です。時間がなくなっても重大なバグが残っている場合はどうなりますか? 重大なバグがある状態で本番環境にリリースするつもりですか? 次のスプリントまで待つつもりですか?ほとんどの場合、どちらのソリューションも受け入れられません。そのため、手作業による受け入れテストは外部に任せています。複数のスクラム チームが同じ製品に取り組んでいる場合、手動の受け入れテストは、両方のチームの作業を組み合わせた結果に対して行う必要があります。両方のチームがスプリント内で手動で承認した場合でも、最終リリースをテストするチームが必要になります。

皆さん、(ここに質問があります):その章をどのように理解していますか?

それとは別に、ここに私の考えがあります。著者は、重大なバグの問題があるため、ATP はスプリントの一部であってはならないと述べていますか? では、スプリントで ATP がなければ、このような問題が発生することはありませんか? はい、できます。いずれにせよ (Sptint に ATP があるかどうかに関係なく) 問題が発生します。結論 : スプリント タイムボックスが十分に長い場合 (おそらくそれはアプローチ 2の著者のアイデアでした)、ATP も処理できます。これにより、リリース後に大量のエラーが到着することがなくなります。

ありがとう、パヴェル

PS 本の著者と積極的にチャットできるように変更されたページをご存知ですか?

PS 2質問を投稿する前に読んだときに、おそらく次のように言って、啓発されました。

アプローチ 2: 「新しいものの構築を開始しても問題ありませんが、古いものを本番環境に移行することを優先します」</p>

著者: スプリント 1 が終了し、コードベース (バージョン 1.0.0) が ATP に入ります。同時に、リリース 1.1.0 の Sprint 2 を開始し、同時に 1.0.0 バージョンで発見されたバグを修正します。スプリント 1 で準備されたコードベースに問題がなければ、それは公開されます。ここに、オーバーラップの王様がいます。しかし、それが作者の意図であった場合 (そうではなかったと確信しています)、基本原則を破っています。

  1. スプリントの後、新しいソフトウェアが利用可能になります (ATP が終了するのを待っているわけではありません)。
  2. スプリントをスプリント + ATP :) と見なすと、スプリントはタイムボックス化されません。

全体として、その本は素晴らしい読み物ですが、その章は少しあいまいですが(私がその読書中に拾った素敵なクールな言葉でもあります).

4

2 に答える 2

1

受け入れテストは、ソフトウェアの構築とはほとんど、またはまったく関係がありません。

できる限り迅速かつ適切に構築します。

ユーザーが一部の機能を受け入れる (または一部の機能を拒否する)。

受け入れテストでは「重大なバグ」は見つかりません。ソフトウェアはすでに動作しています。ユーザーはその仕組みが気に入らないだけです。バグではありません。これは誤解であり、次のスプリントで修正されます。

テスト済みソフトウェアのサブセットである承認済みソフトウェアを (いくつか調整して) デプロイできます。人々はこれを常に行っています。

受け入れられなかったため、機能、ページ、ボタン、画面などを隠すことがよくあります。彼らは単体テストに合格しました。彼らが働きます。しかし、なぜか受け入れられませんでした。したがって、それらは展開されません。

多くの場合、ユーザーの元の定義に誤りがあり、ユニット テストを修正して、コードを修正して次のリリースで展開できるようにする必要があります。

機能が受け入れられるかどうかは、それが機能するかどうかや、どのスプリントに組み込まれたかとは関係ありません。すべてが 1 つのスムーズなパッケージであればいいかもしれません。しかし、通常は 1 つのスムーズなパッケージではありません。だからこそ、私たちはアジャイルでなければなりません。

于 2011-06-20T21:00:20.403 に答える
0

スプリントの受け入れ基準の開始時のIMOはよく知られており、ユーザーストーリーごとに修正する必要があります。スプリントレビューでストーリーを「完了」としてマークできるようにするには、受け入れテストが成功する必要があります。したがって、IMO ATPはスプリントに属します!

マイク・コーンの「アジャイルな見積りと計画」を参考にしたいと思います。彼は、ポストイットのユーザーストーリーに受け入れ基準を書くことを推進しています。これらは、スプリントレビューでの承認の基礎となります。このステートメントから、スプリントにATPを含める必要があることがわかります。

要件や受け入れ基準を変更すると、新しいユーザーストーリーが生まれます。ただし、進行中のものを変更することはありません。

受け入れテストを自動化する場合、この作業はスプリント中に実行できます。しかし、基礎となる基準は、スプリントの開始時にすでに修正されているはずです。

于 2011-07-06T13:27:56.027 に答える