2008-08-26 20 views
5

Je suis tombé sur un article by Bertrand Meyer imprimé où il déclare que les tests peuvent être générés à partir des spécifications. Mon équipe de développement ne fait rien de tel, mais cela semble être une bonne technique à considérer. Comment générez-vous des tests à partir des spécifications? Comment décririez-vous le succès que vous avez eu à découvrir les fautes du programme via cette méthode?Comment générez-vous des tests à partir des spécifications?

Répondre

0

Il y a toutes sortes de façons de le faire, allant de ce que je ferais considérer une «forme d'art» (et pas nécessairement un art de qualité) jusqu'à des tests dérivés mathématiquement des spécifications formelles. À la fin de la journée, votre équipe de développement doit décider de ce qu'elle peut faire en fonction du calendrier avec lequel elle travaille. Cela étant dit, être capable de tester un logiciel par rapport aux spécifications est une bonne chose.

Seule votre équipe peut évaluer la «profondeur» de vos tests, et cela dépendra probablement de la qualité de vos spécifications. S'ils disent quelque chose comme «l'interface de connexion doit fournir un bouton d'annulation et un bouton de connexion, et ils doivent fonctionner», vos tests seront plutôt généraux. Mais gardez à l'esprit - même les tests très généraux sont une bonne chose. Les tests sont une bonne chose. Trop de développeurs ont une mauvaise attitude en ce qui concerne les tests, mais à la fin de la journée, vous envoyez un logiciel qui devrait fonctionner, et pour moi, cela signifie beaucoup.

L'efficacité de vos tests dans la recherche de défauts de programme dépendra du niveau de détail que vous y mettez. Ce qui est particulièrement intéressant lorsque les procédures de test sont écrites sur les spécifications, c'est que vous pouvez tester chaque build au même niveau de détail que la version précédente (généralement appelée test de régression).

4

Cela pourrait être une référence à RSpec, ce qui est une manière très intelligente de développer des tests en tant que série d'exigences. Je m'y habitue toujours, mais cela a été très utile à la fois pour définir ce que je dois faire et pour m'assurer de le faire.

2

de Bertrand Sullivan @ Tim Meyer, il ne peut être lié à Eiffel :)

Je pense qu'il parle ESpec. Vu le nom RSpec du Ruby Folk, je pense qu'on peut leur donner le label "fortement inspiré".

1

Je dirais que cela dépend de vos spécifications. Je n'ai pas encore travaillé partout où les spécifications étaient assez bonnes pour créer des tests unitaires complets à partir de spécifications - le niveau de détail n'était tout simplement pas là. Mes gestionnaires nous ont toujours dit que si nous spécifiions à ce niveau, ils pourraient simplement expédier les spécifications à l'Inde et les faire coder pour pas cher;)

Questions connexes