2011-03-26 2 views
1

Notre application .NET est basée sur Winforms. L'application contrôle différents instruments et la plupart du comportement est joliment terminé pour permettre le test unitaire. Une chose que nous rencontrons plusieurs fois est des problèmes causés par (en utilisant à tort) l'interface graphique. Manipulation incorrecte d'un événement de contrôle ou sélection accidentelle d'un élément dans une liste qui n'existe pas. Ce serait l'exemple que je voudrais avoir de l'aide avec:comment tester les applications winforms

Nous avons un contrôle de grille que les utilisateurs utilisent pour sélectionner un élément. Lorsque l'utilisateur sélectionne un certain élément, cela devrait mettre à jour le 'activeItem' dans notre modèle. Maintenant, nous avons découvert qu'il y avait un bug ici, puisque lorsque l'utilisateur a utilisé un raccourci pour sélectionner le dernier élément dans le contrôle de la grille, il n'a pas mis à jour le contrôle. Bien sûr, cela est dû aux erreurs que nous faisons dans la programmation, mais comment puis-je tester ce comportement de l'interface graphique. Alors que nous sommes sûrs, si quelqu'un change le contrôle de la grille, il fonctionne toujours comme prévu. Cela pourrait-il être fait avec des tests unitaires normaux, ou est-ce que je me trompe complètement?

Merci,

Erik

Répondre

0

Pour autant que je l'ai vu cette partie du test est généralement pris en charge par logiciel de test automatisé tels que TestComplete ou QTP. La plupart des logiciels d'automatisation vous permettent d'enregistrer un ensemble d'actions à effectuer, puis de spécifier les attentes qui seront vérifiées lorsque les actions seront rejouées.

Mais l'apprentissage d'un tel logiciel est généralement une compétence distincte de celle du développement d'un code de production ou d'un test manuel de logiciels. Ainsi, dans notre entreprise, nous avons des postes distincts pour les ingénieurs QA.

4

Dans notre logiciel, nous avons des tests unitaires qui instancient les formulaires et effectuent des actions sur eux puis vérifient l'état du modèle s'il est conforme aux attentes. Donc, à cet égard - oui, vous pouvez le faire avec des tests unitaires. Cependant, nous avons également constaté qu'il est facile de rompre ces tests en modifiant l'interface utilisateur et que cela peut nécessiter une maintenance assez importante. Il existe des cadres de test automatisés qui peuvent vous faciliter la vie. J'ai eu un bref aperçu de White et NUnitForms mais je n'ai pas encore beaucoup travaillé avec eux. N'hésitez pas à partager votre expérience.

Questions connexes