2009-07-08 11 views
9

Je me demande si quelqu'un a des bonnes pratiques pour automatiser les tests des installateurs sur diverses machines avec des profils matériels/logiciels potentiellement différents et en spécifiant diverses options pour l'installateur. L'idée serait que je puisse écrire un code de type «unité de test» pour installer une machine, lancer l'installateur, puis tester que certaines choses sont vraies. Les tests pourraient ressembler à:Comment automatiser les tests d'installateur

Test: 
    Boot Machine without IIS 
    Run Installer 
    Assert Installer Had Errors 

Test: 
    Boot Machine with IIS 
    Run Installer 
    Assert Installer Ran 

Test_Fixture: 
    SetUp: 
     Boot Machine with IIS 

    Test: 
     Run Installer without IIS install 
     Assert Website Not Installed 

    Test: 
     Run Installer with IIS install 
     Assert Website Installed 

Je sais que je pourrais créer beaucoup de machines virtuelles, mais en attente d'une machine virtuelle pour démarrer pour chaque test fonctionnel ressemble beaucoup plus de travail que je veux. Ce que je veux vraiment, c'est un moyen de virtualiser l'environnement d'installation. Aucune suggestion?

Répondre

5

Nous avons créé un ensemble de machines virtuelles et trouvons qu'il est très facile à gérer. Nous effectuons les tests pour 13 installateurs Windows différents pendant la nuit. Les machines virtuelles nous avons créé nos os très nus, de sorte qu'il est possible d'exécuter un certain nombre de tests en parallèle.

+0

Comment testez-vous l'installation sur la VM, et comment remettez-vous chaque VM à son état stable après le test? – Jeff

+2

Notre configuration est qu'un ordinateur entraîne une série d'images VMWare. Cet ordinateur utilise l'API VIX de VMWare pour démarrer, arrêter et rétablir les images. Une fois qu'une image est exécutée à l'aide de l'API VIX, vous envoyez un argument de ligne de commande à l'image VMWare pour démarrer l'installation. Nos installations doivent pouvoir fonctionner sans interface utilisateur, donc nous pouvons passer tous les arguments sur la ligne de commande. Nous vérifions ensuite les fichiers et effectuons un test de base. En cas de problème, nous procédons à une installation enregistrée. Après avoir terminé le test, nous retournons simplement l'image. Avant de lâcher, nous avons toujours un regard humain pour les tester et les finir. – LanceSc

+0

Avez-vous trouvé un moyen de le faire sur des machines avec UAC activé? Je voudrais garder l'UAC sur car cela devrait rester une partie du scénario de test. – JohnZaj

1

Si le programme d'installation peut être exécuté depuis la ligne de commande, il est facile d'avoir un script pour l'appeler automatiquement.

Ensuite, vous pouvez utiliser un outil de test d'application Web pour voir si l'installation a réussi, comme celle-ci http://seleniumhq.org/ Pour cela, vous aurez besoin d'un moyen unique de tester une nouvelle installation - comme une page avec la version actuelle.

Questions connexes