Migrer les exigences héritées vers BDD

11

Q: Quelle est la meilleure façon de déplacer une grande entreprise vers Cucumber avec au moins 15 ans d'exigences logicielles héritées conservées dans une base de données d'exigences?

Envisage actuellement:

1) Migrez tout

Inconvénient: nous n'avons pas de temps / budget illimité, nous devons aller de l'avant pour survivre, nous ne pouvons pas tout arrêter et GC 100% de nos exigences héritées et de nos suites de tests héritées.

2) Règle du boy-scout

Laissez tout mieux que vous ne l'avez trouvé. Si vous touchez des exigences ou les modifiez, écrivez / mettez à jour une fonction de concombre. Inconvénient: Nous aurons deux systèmes d'enregistrement (Cucumber, Legacy req. DB), peut-être pour toujours en supposant qu'il existe des coins d'une application donnée qui ne sont pas touchés pendant très longtemps.

3) Boy Scout Rule Plus

Identique à # 2, mais placez les exigences que nous ne sommes pas en train de déplacer vers Cucumber dans les fonctionnalités avec un seul scénario en attente et copiez / collez les exigences héritées dans la section description. De cette façon, nous obtenons des métriques (via des scénarios en attente) sur la façon dont nous sommes «couverts» par Cucumber, et nous évitons également la nécessité de maintenir l'ancien système d'exigences. Je ne trouve aucun inconvénient à cela, sinon cela pourrait être un énorme gâchis au sein de Cucumber.

4) Insérez votre idée ici.

Contexte:

Certains projets qui migrent vers Cucumber ont des suites de tests automatisés, certains n'ont jamais utilisé que des tests manuels. Tous conservent leurs exigences dans une base de données d'exigences héritées. Nous devons le faire car nos exigences sont un mélange de lois / réglementation et de logique complexe pour les instruments financiers (risque, prix, structure, etc ...).

Gardez à l'esprit que c'est une très grande entreprise qui fait le pas, ce qui complique encore les solutions.

Nous avons déjà quelques projets utilisant Cucumber pour leurs "nouvelles" exigences. Nous avons donc testé la technologie et cela fonctionne pour nous jusqu'à présent. Nous avons un mélange de projets web et purement data.

Merci

Edit: pour répondre aux questions ... La base de données de gestion des exigences héritées ne connecte pas les exigences aux tests. Ce n'est pas "testable". Aujourd'hui, la connexion des exigences aux tests se fait à travers un processus manuel ardu et sujet aux erreurs de liaison des exigences à notre système de gestion des cas de test à la fin de chaque projet. Le concombre est une meilleure solution évidente pour nous. Cela ne fait aucun doute. La question est simplement de savoir comment faire pour une grande organisation avec une immense quantité d'exigences importantes qui ne peuvent pas être perdues pour des raisons juridiques et autres.

Ryan Marsh
la source
1
+1 sur la question; mais dans un cadre plus général: comment passer d'un système de test à un autre?
Sjoerd Job Postmus
La base de données d'exigences «héritée» est-elle automatisée pour vérifier la correspondance des exigences? Allez-vous avoir besoin de reformuler les exigences pour qu'elles correspondent à la syntaxe du concombre (et si oui: assurez-vous que la reformulation ne modifie pas les exigences de manière subtile)?
Sjoerd Job Postmus
Par curiosité, cette base de données d'exigences est-elle "testable"? si oui, vous pouvez essayer d'automatiser le processus en tant qu'option n ° 4 en faisant un programme qui lit les tests hérités et essaie d'écrire un test de concombre pour vous MÊME si les tests ne sont pas lisibles. Avoir deux sources de vrai n'est généralement pas recommandé en raison de correspondances possibles (2 sources d'exigences, le db et le concombre)
pietromenna
1
Vous avez écrit "nous avons testé la technologie et cela fonctionne pour nous jusqu'à présent", mais vous n'avez pas écrit "cela fonctionnait mieux que la technologie précédente". Alors, êtes-vous sûr à 100% que ce sera une amélioration? Sinon, la meilleure façon pourrait être de ne pas le faire ;-)
Doc Brown

Réponses:

8

J'ai fait l'erreur de démonter une pièce jusqu'aux montants lorsque j'ai remplacé ses fenêtres. C'est une vieille maison. La chambre était en mauvais état. À chaque étape du processus, j'ai rencontré des problèmes. Une vieille pipe s'est effondrée dans ma main. Le conduit de plomberie de vingt-cinq livres qui pendait est tombé et s'est écrasé à travers le plafond de la cuisine. (Heureusement, personne n'a été blessé mais le téléphone portable en cours de chargement de ma petite amie a été écrasé. Elle n'était pas amusée.) Je me suis complètement foutu quand j'ai frôlé simultanément un circuit mis à la terre et non mis à la terre. Il y avait un ancien câblage exposé traversant une isolation insufflée.

Avec chaque problème, j'ai dû rediriger mes énergies. Je me suis arrêté pour résoudre le problème. Puis, parfois quelques jours plus tard, j'ai repris la progression. À l'automne, j'ai abandonné. (J'avais prévu de le faire d'ici la fin de l'été.) Je me suis juste arrêté et je suis parti. C'était trop. Ma copine voulait appeler un entrepreneur. J'ai refusé car j'avais déjà fait tellement de travail. Je ne voulais pas qu'ils obtiennent la "gloire". (De plus, je suis un peu particulier et je ne voulais pas que quelqu'un coupe les coins là où je savais que je ne le ferais pas.) Donc, la pièce était inachevée.

Il y a presque un an, après le Nouvel An, j'ai eu une révélation: il n'y avait aucune règle qui disait que je devais travailler exclusivement sur la pièce jusqu'à ce qu'elle soit terminée. Il n'y avait pas de précipitation. Je n'avais pas besoin d'en faire un gros problème. Au lieu de cela, si j'avais un peu de temps libre, je pourrais monter à l'étage et passer une heure ou deux dans la pièce ... accrocher une feuille de Sheetrock, boue et scotcher un mur, garnir une porte. Avant de le savoir, j'avais fini. Ma copine m'a encore aimé. J'ai dormi avec un sourire sur mon visage. Tout allait bien dans le monde.

Je pense qu'il y a quelque chose de similaire disponible pour votre situation. Soyez la tortue sage - lente et régulière. Le chemin "Migrer tout" est trop stressant. Cela vous fera lever les mains et vous éloigner. La règle du scoutisme laisse les fonctionnalités derrière elles si elles ne changent jamais. La règle Boy Scout Plus crée des exigences inférieures à la normale. Tirez le meilleur parti de vos approches:

  1. Si vous touchez une exigence, déplacez-la vers Concombre.
  2. En attendant, définissez un objectif de migration hebdomadaire. Faites un peu chaque semaine. Ne faites pas une proposition tout ou rien. Vous trouverez peut-être que le travail de migration occasionnel est un bon répit de tous les autres travaux auxquels vous vous êtes engagé.

Avant de le savoir, vous aurez terminé. Votre patron vous aimera. Votre équipe vous aimera. Vous dormirez avec un sourire sur votre visage.

Scant Roger
la source