Edit: Cette question semble être relatedSide-by-side fonctionnelle et tests d'acceptation (SpecFlow)
Cette question ne concerne pas les différences entre les tests fonctionnels et de réception! Presque toutes les informations que j'ai pu trouver sur le web expliquent juste la différence entre elles. Je sais que les tests fonctionnels (FT) traitent des conditions marginales et des scénarios de bogues, tandis que les tests d'acceptation (AT) répondent aux exigences métier. Je réalise les deux avec SpecFlow. J'ai quelques difficultés à envelopper la tête autour de la séparation des deux, d'une perspective de structure de projet/hiérarchie. Actuellement, j'ai un projet de test unitaire avec un dossier AcceptanceTests
et un dossier FunctionalTests
. Toutes mes définitions d'étapes sont regroupées dans un dossier StepDefinitions
.
Je trouve que je dois beaucoup me répéter et que le volet MsTest ne fait que tout mélanger lorsque je groupe sur Traits. Je veux établir ce que la norme de l'industrie est là-bas, donc j'ai cinq questions:
-ce que je répète l'histoire
"In order to... as a... I want to..."
dans une fonction de fichier séparé pour AT et de FT de? Est-ce que je répète tous les scénarios d'AT dans les FT, ou seulement les scénarios de conditions marginales?Devrais-je conserver les AT et les FT dans leurs propres espaces de noms et/ou leurs propres projets? Dois-je essayer d'appeler les méthodes du scénario du FT à partir des définitions des étapes de l'AT, vu que le travail de grognement est de toute façon effectué par les FT?
Tout conseil concernant ma configuration actuelle (par exemple, est-ce trop compliqué de faire les deux?) Est le bienvenu.
Merci Dave. Votre inquiétude sur le temps de fonctionnement semble suggérer que les tests d'acceptation devraient être des tests d'intégration. Exécutez-vous vos tests d'acceptation sur des bases de données, des systèmes de fichiers et des services Web actifs? Je pensais qu'on devrait se moquer des choses pour les tests d'acceptation; ai-je compris tout cela mal? – Heliac
Oui, vous voulez que vos tests d'acceptation s'exécutent sur autant de systèmes que possible. Non, vous ne voulez pas vous moquer d'eux, sauf lorsque vous devez vous protéger contre des services tiers impraticablement lents ou peu fiables. Mais des bases de données et des systèmes de fichiers réels (pas de production), c'est certain. –