2009-04-23 10 views
2

Je suis à la recherche d'un framework de test pour couvrir nos tests d'intégration de la boîte noire. Nous avons besoin de quelque chose qui soit scriptable par des non développeurs (ce n'est pas un truc de type test de type C#).Cadre de test d'intégration?

Les premiers scénarios que j'ai à l'esprit sont:

  1. Restore connu DB
  2. Run job agent sql (ETL)
  3. exécuter des scripts SQL de validation par rapport à la sortie DB

et

  1. Exécution de l'installation msi
  2. Vérifiez existance des dossiers/fichiers/RegKeys/Services/etc
  3. run msi désinstallation

Jusqu'à présent, je ne l'ai pas trouvé tout ce qui semble approprié. Essentiellement les tests d'interface utilisateur (Project White/etc) que nous utiliserons mais ne couvrent pas ces cas. Ou des tests d'intégration basés sur des frameworks de tests unitaires que nous ne sommes pas encore prêts à pousser pour notre équipe de contrôle de qualité.

J'expérimente actuellement en roulant notre propre outil interne pour cette partie du test si je ne trouve rien d'autre.

Répondre

4

Il semble que vous vouliez exécuter un tas de paramètres de ligne de commande, n'est-ce pas?

Eh bien, je vois deux façons de le faire:

1), vous pouvez inventer votre propre domaine un langage spécifique. C'est une manière de dire que vous écrivez un interprète avec des fonctions de très haut niveau. Les personnes non techniques écrivent quelque chose comme des fichiers batch, et vous écrivez du C# qui lit le fichier, exécute une instruction switch, puis exécute les commandes. FIT est probablement le moyen le plus commun de le faire - c'est le cadre pour les tests intégrés. (La manière de le faire est de séparer les choses par des virgules: command, param1, param2 Prétendre que c'est un programme assembleur incroyablement simple, alors votre instruction switch prend param1..paramx et les place dans un tableau de chaînes et passe à la fonction La fonction traite le tableau.)

Le problème avec ceci est que vos clients voudront des variables. Ils voudront boucler. Et bientôt, vous avez implémenté un interpréteur de programmation turin-complet qui lit les données au format columner. Ça pue.

Alors vous pourriez ...

2) Enseignez à vos clients un langage de script. Je regarderais perl et testerais :: plus - ou peut-être certains des trucs de test de rubis.

Et si cela ne fonctionne pas, vous pourriez peut-être ...

3) Renoncer à avoir les clients à créer tous les tests. Au lieu de cela, avoir un outilleur qui se couple avec les clients pour créer le contour, puis revient en arrière et convertit cela en code.

Si vous conduisiez un navigateur, je recommanderais sélenium ou watIR, mais il semblerait que vous soyez en ligne de commande. Envoyez-moi un email ([email protected]) ou lisez des informations sur les frameworks de test sur mon blog (xndev.blogspot.com) pour plus d'informations.Mon blog est le résultat de recherche # 2 pour demander à Google ce qu'est un framework de test, donc je suis à l'aise de le recommander. :-)

salutations,

--heusser

+0

Plus qu'un simple groupe de ligne de commande des trucs param. Pas basé sur le Web. Je suis allé avec un demi-assed # 1 outil interne. Fichiers de définition XML, propriétés simples et listes de tests avec quelques types de conteneur (tous, aucun, aucun doit passer). Le "client" de votre # 2/3 est notre équipe QA. Je n'ai pas le temps de me remettre au boulot avec perl/ruby ​​ni d'en enseigner d'autres à quelqu'un, sans parler de leur déployer les outils. Je voudrais les déplacer vers des tests basés sur le code, mais j'avais besoin d'un outil de pont pour le moment. Accepter depuis aucune autre réponse et confirmer qu'il n'y a pas d'autres outils là-bas. –

Questions connexes