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