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
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).
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.
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é".
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;)
- 1. Dépôt des spécifications BDD "standard"
- 2. Comment exécuter des tests d'instrumentation Android à partir d'Eclipse?
- 3. Comment soumettre des suggestions aux spécifications CSS?
- 4. Générer des classes automatiquement à partir de tests unitaires?
- 5. Comment écrire des tests d'acceptation
- 6. Comment exporter des tests-testopia?
- 7. Intégration des tests unitaires Silverlight avec le panneau Résultats des tests de Visual Studio 2008?
- 8. Identification des tests à exécution lente
- 9. Comment tester le résultat JSON à partir des tests fonctionnels de Ruby on Rails?
- 10. Comment puis-je exécuter des tests unitaires silverlight à partir de la ligne de commande?
- 11. Héritage des tests unitaires
- 12. comment utiliser les instruments lors des tests?
- 13. NUnit. Comment générer automatiquement des tests?
- 14. Comment effectuer des tests unitaires automatisés dans des packages SSIS?
- 15. Comment déboguer des tests unitaires mbunit/Gallio dans Visual Studio
- 16. Comment obtenir des informations à partir des normes?
- 17. Comment déterminer l'unicité des clients à partir des demandes http?
- 18. Comment à partir des balises dénude HTML
- 19. Tests unitaires des packages DTS
- 20. Hudson travail avec des rapports de tests Gallio "No tests"
- 21. Comment implémenter des tests unitaires dans des projets C++ à grande échelle?
- 22. Spécifications techniques Windows Mobile
- 23. À partir de, des suggestions?
- 24. Passage des tests d'écriture pour MVP à MVC
- 25. Impossible d'exécuter des tests junit dans Eclipse
- 26. BlackBerry Spécifications techniques
- 27. Accélération des tests de l'unité ASP MVC
- 28. Organisation des méthodes pour effectuer des tests - C#
- 29. Associer des scénarios BDD aux résultats des tests Silverlight
- 30. Dois-je dupliquer des tests pour des surcharges de commodité?