2017-08-20 7 views
-1

Dans Android, j'utilise une architecture propre et met mon code empaqueté par couche. Donc, j'ai 4 couches (modules):Dans une architecture propre, comment faire des tests d'acceptation?

  • app
  • données
  • dispositif
  • domaine

Je sais, corrigez-moi si je me trompe, que l'acceptation test (en utilisant FitNesse) devrait remplacer l'interface utilisateur dans de meilleurs mots, il devrait imiter l'interface utilisateur et tester les fonctions de base du système du point de vue du client.

Ma question est:

Dois-je créer un autre module pour les appareils FitNesse et d'autres choses, avec dépendances sur chaque module dans le système?

+0

Vous ne voulez pas (aussi ou seulement) que le test d'acceptation teste l'interface graphique? C'est ce que vos utilisateurs vont utiliser après tout. –

+1

Il a raison. Fitnesse comme le concombre est un outil conçu pour tester la logique métier en appelant le code du système testé directement, indépendamment de l'interface utilisateur. Les tests de bout en bout via l'interface utilisateur sont un bon exemple de différents outils tels que les API WebDriver pour piloter les navigateurs. La logique métier est mieux testée que l'interface utilisateur, car les interfaces utilisateur ont tendance à beaucoup évoluer. Elles nécessitent également un déploiement d'applications à tester et répondent beaucoup plus lentement puisque vous effectuez des tests sur des connexions filaires. –

+0

désolé, pour être en retard. @FriedHoeben> Non, je ne veux pas de tests d'acceptation pour tester l'interface utilisateur. –

Répondre

2

C'est ce que je vois habituellement fait, oui. Le système de construction (maven, gradle, etc.) est modifié de sorte qu'il n'inclut pas le module contenant les appareils dans l'artefact de production. Le module contenant les fixations fitnesse est conscient de/a des dépendances à tous les modules qu'il teste directement, ce qui tend à être la couche de domaine.

+1

J'ai aussi tendance à utiliser cette approche avec un module séparé. A quel niveau les tests se connectent au système testé est quelque chose que nous pourrions débattre, mais ce n'était pas la question principale. –