Question

Nous travaillons sur un grand projet avec une mesure de fonctionnalités GUI nouvelles/modifiées.Nous avons constaté par le passé que nous introduisions souvent de nouveaux problèmes dans le code associé lors de l'ajout de nouvelles fonctionnalités.

Nous demandons à des utilisateurs non techniques d'effectuer des tests, mais ils manquent souvent des pièces et laissent passer des bugs.

Ma question:Existe-t-il des bonnes pratiques pour organiser les tests d'interface utilisateur d'un projet WinForms ?Existe-t-il un moyen de l'automatiser ?

Merci!

Était-ce utile?

La solution

Il existe des outils de test d'interface graphique qui cliqueront sur des boutons et autres éléments pour vous, mais ils sont assez fragiles d'après mon expérience.

La meilleure chose à faire est de garder votre couche d’interface utilisateur aussi fine que possible.De manière optimale, vos classes de gestionnaire d’événements ne devraient comporter qu’une ou deux lignes faisant appel à d’autres classes plus testables.De cette façon, vous pouvez tester votre logique métier lors de tests unitaires sans avoir à cliquer sur un bouton.

Autres conseils

Vous pouvez automatiser les tests de l'interface graphique en utilisant Blanc cadre.

Pensez également à utiliser une conception conviviale TDD, c'est-à-direutiliser MVP/MVC modèle.

Je vous recommande fortement de lire la documentation des équipes de modèles et de pratiques Microsoft.

Jetez surtout un oeil à Bloc d'application d'interface utilisateur composite et CompositeWPF.

Ces projets sont spécialement conçus pour vous offrir les meilleures pratiques en matière de développement d'applications GUI, y compris l'interface utilisateur pilotée par les tests.

Gardez la couche GUI aussi fine que possible.Article de Michael Feathers, La boîte de dialogue humble, est un classique.Découvrez également celui de Martin Fowler Vue passive.J'ai également entendu dire que les "cliqueurs automatiques de boutons" sont fragiles et qu'il est facile de passer plus de temps à maintenir le test qu'à maintenir le code.

Dans le cas où quelqu'un trouve cela utile :

Liste des outils de test GUI trouvé sur Wikipédia.

Le livre suivant est une introduction au sujet.Il existe autant de façons qu’il y a de développeurs.

http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby

Il existe de nombreux outils et bibliothèques disponibles qui peuvent automatiser les tests WinForms, allant des solutions open source comme White aux solutions commerciales coûteuses telles que HP QuickTest Pro.Il existe également l'espace de noms UIAutomation dans .NET si vous souhaitez déployer votre propre framework d'automatisation.Mais le véritable coût de l’automatisation réside dans le temps et les compétences spécialisées qu’elle nécessite pour sa mise en œuvre.La maintenabilité est également l’un des aspects les plus importants de la conception de tests automatisés ;vous ne voulez pas dépenser des ressources excessives pour maintenir les actifs d'automatisation à jour avec votre application.De nombreux facteurs influencent également la décision d’automatiser et sont spécifiques à votre application et à votre organisation.

Le mieux sera de faire des recherches supplémentaires sur le sujet et de consulter certains sites de tests spécialisés tels que http://www.sqaforums.com.

J'ai trouvé cette manière rapide et simple de tester les mises en page de pages Web dans différents navigateurs.C'est appelé navigateurshots.org.Notre client nécessite actuellement une prise en charge dans 5 navigateurs et cela prend environ une semaine pour des tests de régression complets.Ce service fournira des captures d'écran de plus de 70 navigateurs et versions.Je les imprime et je les expose à la lumière.S'ils ne s'alignent pas, il doit y avoir un problème de mise en page.

Je ne peux pas vraiment aider avec l'organisation ou les meilleures pratiques, mais un NUnité l'extension semble être disponible pour les tests de formulaires, NUnitForms.

J'ai utilisé un téléchargement d'essai similaire à ce produit (http://www.tethyssolutions.com/product.htm) et ce produit (http://www.mjtnet.com/macro_scheduler.htm) il y a des années et j'étais content des résultats.Ce sont des solutions assez bon marché et certains de ces enregistreurs de macros peuvent en fait être utilisés pour des tests automatisés.

Une nouvelle méthode disponible désormais utilise Ruby, via la gemme Ruby appelée win32-autogui.Cela fournit un cadre pour tester les applications Windows GUI.Combinez-le avec les outils Ruby RSpec et Cucumber, et cela constitue un cadre de test assez puissant.

La manière d’organiser les tests de l’interface utilisateur dépend de la façon dont vous concevez les cas de test.

L'automatisation de l'application Windows Forms au niveau des tests unitaires peut utiliser le framework TDD, tel que NUnit ;ou utilisez le framework BDD, tel que NSpec.

L'automatisation des applications Windows Forms au niveau des tests fonctionnels peut utiliser White, CodedUI ou même directement en utilisant API d'automatisation Windows 3.0 (UI Automation et MSAA).

Étant donné que tous ces éléments mentionnés ci-dessus sont des technologies plutôt que des solutions, il est préférable de créer des cadres fondamentaux d'automatisation/de script de tests basés sur ces technologies avant de commencer à écrire des tests automatisés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top