レガシー要件をBDDに移行する


11

Q:要件データベースで少なくとも15年間のレガシーソフトウェア要件を維持しながら、大企業をCucumberに移行する最良の方法は何ですか?

現在検討中:

1)すべてを移行する

マイナス面:無制限の時間/予算がない、生き残るために前進しなければならない、すべてを止めることはできず、レガシー要件とレガシーテストスイートの100%をGCする。

2)ボーイスカウトルール

あなたがそれを見つけたよりもすべてを残します。要件に触れたり変更したりする場合は、キュウリ機能を作成/更新します。欠点:2つのシステムの記録(Cucumber、legacy req。DB)があります。おそらく、与えられたアプリケーションの隅に非常に長い間触れられないことを永遠に想定しています。

3)ボーイスカウトルールプラス

#2と同じですが、単一の保留シナリオを使用してCucumberに移行しないネット要件を機能に追加し、レガシー要件をコピーして説明セクションに貼り付けます。このようにして、Cucumberがどの程度「カバー」されているかに関するメトリックを(保留中のシナリオを介して)取得します。また、古い要件システムを維持する必要性に乗ります。それがCucumber内の巨大な混乱であるかもしれないので、これ以外の欠点を見つけることはできません。

4)ここにアイデアを挿入します。

バックグラウンド:

Cucumberに移行するプロジェクトには自動化されたテストスイートがあり、一部のプロジェクトでは手動テストのみが使用されています。それらはすべて、レガシー要件データベースで要件を維持します。要件は法律/規制と金融商品の複雑なロジック(リスク、価格設定、構造など)が混在しているため、これを行う必要があります。

これは非常に大きな会社であるため、ソリューションをさらに複雑にしていることに留意してください。

「新しい」要件のためにCucumberを使用するプロジェクトが既にいくつかあります。それで、私たちはこの技術を試してみましたが、これは私たちにとってこれまでのところうまくいきました。Webプロジェクトと純粋なデータプロジェクトが混在しています。

ありがとう

編集:質問に回答するには...従来の要件管理DBは、要件をテストに関連付けません。「テスト可能」ではありません。現在、要件をテストに接続することは、各プロジェクトの最後に、要件をテストケース管理システムにリンクする、困難でエラーが発生しやすい手動プロセスによって行われます。キュウリは私たちにとって明らかに優れたソリューションです。それについての質問はありません。問題は、法的な理由や他の理由で失われることのない、膨大な量の重要な要件を抱える大規模な組織をどのように動かすかです。


1
質問に対する+1。しかし、より一般的な設定では、あるテストシステムから別のテストシステムに移行する方法は?
シェードジョブポストマス

「レガシー」要件データベースは、要件の一致をチェックする際に自動化されていますか?Cucumber構文に一致するように要件を書き直す必要がありますか(もしそうであれば、言い直しが要件を微妙な方法で変更しないことを確認してください)?
シェードジョブポストマス

単に好奇心、要件のこのデータベースは「テスト可能」ですか?はいの場合、テストが読み取り可能な形式でなくても、レガシーテストを読み取り、キュウリテストを書き込もうとするプログラムを実行することで、プロセスを#4オプションとして自動化することができます。
一致し

1
あなたは「私たちはこれまでに技術を試験運用してきましたが、これまでのところ私たちのために働いています」と書きましたが、「以前の技術よりもうまくいった」とは書いていません。それで、あなたはこれが改善であると100%確信していますか?そうでなければ、最善の方法はそれをしないことかもしれません;
Doc Brown

回答:


8

窓を交換するときに間違えて間違えて間違えた。古い家です。部屋は悪い形でした。途中のあらゆる段階で、私は問題にぶつかりました。古いパイプが私の手で砕けました。ぶら下がっている25ポンドの配管口が落ち、キッチンの天井を突き破りました。(幸いにも、誰も怪我はしなかったが、私のガールフレンドの充電携帯電話は押しつぶされた。彼女は面白がっていなかった。)私は同時に接地された回路と接地されていない回路に対してブラシをかけたとき、私は地獄に衝撃を与えた。吹き込まれた絶縁体を通る露出した古代の配線がありました。

各問題で、私は自分のエネルギーをリダイレクトする必要がありました。問題を修正するために停止しました。それから、時には数日後、私は前進を再開しました。秋までに、私はあきらめました。(夏の終わりまでにやるつもりだった。)立ち止まって立ち去った。やりすぎでした。私の彼女は請負業者に電話したかった。私はすでに多くの仕事をしたので拒否しました。「栄光」を手に入れたくありませんでした。(また、私は少し特殊であり、誰かが私がそうしないと知っていたコーナーを切ることを望まなかった。)それで、部屋は未完成のままになった。

ほぼ1年前、新年の後、私はひらめきがありました。部屋が完成するまで専ら作業をしなければならないと言うルールはありませんでした。急ぎませんでした。そんなに大したことはありませんでした。代わりに、もし少し暇があれば、2階に行って1、2時間部屋で過ごすことができます。それを知る前に、私は終わった。彼女は再び私を愛していました。私は顔に笑みを浮かべて眠りました。すべては世界で正しかった。

あなたの苦境に似たようなものがあると思います。賢明なカメになってください-ゆっくりと安定してください。「すべてを移行する」パスはストレスが多すぎます。それはあなたに手を投げさせて、立ち去らせるでしょう。ボーイスカウトルールは、機能が変更されない場合、機能を残します。ボーイスカウトルールプラスは、サブパー要件を作成します。あなたのアプローチを最大限に活用してください:

  1. 要件に触れたら、それをCucumberに移動します。
  2. それまでの間、毎週の移行目標を設定します。毎週少しやってください。それをすべてか無かの命題にしないでください。時折の移行作業は、コミットした他のすべての作業からの素晴らしい猶予期間であることがわかります。

あなたがそれを知る前に、あなたはされます。あなたの上司はあなたを愛します。あなたのチームはあなたを愛します。笑顔で眠ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.