Nous intégrons un processus de test dans notre processus SCRUM. Mon nouveau rôle est d'écrire des tests d'acceptation de nos applications web afin de les automatiser ultérieurement. J'ai beaucoup lu sur la façon dont les cas de test doivent être écrits, mais aucun ne m'a donné de conseils pratiques pour écrire des cas de test pour des applications Web complexes, et au lieu de cela, ils ont jeté des principes contradictoires que j'ai trouvé difficile à appliquer:
Les cas de test doivent être courts: prenez l'exemple d'un CMS. Les cas de test courts sont faciles à entretenir et à identifier les entrées et les sorties. Mais que se passe-t-il si je veux tester une longue série d'opérations (par exemple, ajouter un document, envoyer une notification à un autre utilisateur, l'autre utilisateur répond, le document change d'état, l'utilisateur reçoit un avis). Il me semble plutôt que les cas de test devraient représenter des scénarios complets. Mais je peux voir comment cela produira des documents de test ouvertement complexes.
Les tests doivent identifier les entrées et les sorties:: Et si j'ai un formulaire long avec de nombreux champs en interaction, avec des comportements différents. Dois-je écrire un test pour tout, ou un pour chacun?
Les cas de test doivent être indépendants: mais comment puis-je appliquer cela si le test de l'opération de téléchargement nécessite que l'opération de connexion réussisse? Et comment cela s'applique-t-il à la rédaction de cas de test? Dois-je écrire un test pour chaque opération, mais chaque test déclare ses dépendances, ou dois-je réécrire le scénario entier pour chaque test?
Les cas de test doivent être légèrement documentés: ces principes sont spécifiques aux projets Agile. Avez-vous des conseils sur la façon de mettre en œuvre ce principe?
Bien que je pensais que la rédaction de cas de test d'acceptation allait être simple, je me suis retrouvé submergé par chaque décision que je devais prendre (pour info: je suis développeur et non testeur professionnel). Ma principale question est donc la suivante: quelles étapes ou quels conseils avez-vous pour rédiger des cas de test d'acceptation maintenables pour des applications complexes. Je vous remercie.
Edit : Pour clarifier ma question: je suis conscient que les tests d'acceptation doivent partir de l'exigence et considérer l'ensemble de l'application comme une boîte noire. Ma question concerne les étapes pratiques pour écrire le document de test, identifier les cas de test, gérer les dépendances entre les tests ... pour les applications web complexes
Les informations contradictoires peuvent être frustrantes et difficiles à généraliser et à appliquer à votre situation spécifique. Ergo, vous devrez peut-être faire ce qui fonctionne le mieux dans votre contexte.
Je ne suis pas un grand fan de longs documents de test et j'ai utilisé des visuels assez efficacement pour quelques petits projets. Essayez ça? Comme un organigramme (ou tout autre diagramme UML comme un diagramme d'état, etc.) au lieu d'utiliser uniquement du texte? Indiquez les entrées, les sorties, les conditions, les boucles, les voies, les états, les interactions avec d'autres composants, etc., puis indiquez si elles ont réussi, échoué, transféré, autre (?) En fonction de vos critères.
Cela peut être un peu de travail au début, mais peut vous aider à rester sain d'esprit à long terme. Quelle que soit la méthode que vous choisissez, plus vous travaillez avec elle, mieux vous y arriverez.
HTH, et bonne chance!
KM
la source
Je pense que vous avez déjà défini de bons critères. Votre deuxième point est un bon moyen de définir les étendues de vos tests, et je suggère également de tester les conditions d'erreur et les corrections (je préconise que chaque correction de bogue soit accompagnée d'au moins un nouveau test unitaire). Cela peut sembler écrasant maintenant, mais plongez, et après avoir acquis un peu d'expérience, reconnaître ce qui fait de bons tests deviendra plus facile.
la source