2009-11-13 9 views
0

J'écris des tests qui vérifient qu'un service externe fournit des données d'inventaire (sur leur serveur de test) que je peux vérifier, et aussi annuler. Ce test est dans le monde du voyage/hôtel, et je dois placer des réservations de test, puis les annuler.Ce scénario est-il considéré comme un test fonctionnel ou une autre forme de test?

Je prends les étapes suivantes: 1) recherche d'inventaire (une chambre d'hôtel) 90 jours dans le futur 2) obtenir le premier résultat, et faire une caisse de test avec elle 3) annuler la commande et confirmer I obtenir un numéro d'annulation 4) confirmer que les entrées de base de données appropriées sont effectuées

Ce test concerne des parties du système très variées et je n'ai pas (actuellement) de mécanismes pour isoler chacune d'entre elles. Je ne considère donc pas ce test unitaire. Cependant, cela serait-il appelé test fonctionnel, ou autre chose? En guise de suivi, il sera probablement utile d'isoler et d'écrire des tests pour chacun des sous-systèmes avec lesquels je suis en train d'interagir. Où commenceriez-vous les gars dans le processus d'isolement?

Répondre

0

Chacune de ces étapes que vous avez énumérés est un bon candidat pour un isolement:

  1. Obtenir un inventaire
  2. Découvrez
  3. Annuler
  4. Get annulation #

les Enchaîner comme vous le faites maintenant, il n'y a qu'une fonction de chacun d'eux qui travaille individuellement de toute façon.

Vous testez actuellement la fonctionnalité (bon!) Mais vous n'avez pas mentionné la robustesse.

Je créerais une suite de données pour chaque fonction (comme je l'ai indiqué) qui essaierait de la casser et de sonder des cas de coin. Essayez de réserver dans le passé, essayez d'écraser les données POST, essayez de réserver une pièce, essayez de réserver deux fois la même pièce, etc. Ceci est stocké comme paramètres d'entrée dans un test que vous avez écrit juste pour un isolat de votre application. Les différents isolats auront des données différentes utiles/significatives à tester, mais à chaque changement/validation/construction, vous devriez pouvoir exécuter les données de test par rapport à chaque fonction et avoir les résultats valides (IE vous retourner une question, vérifier une chambre, annuler la réservation, ou obtenir l'annulation #)