2009-07-08 15 views
9

Zastanawiam się, czy ktoś ma jakieś najlepsze praktyki w zakresie automatyzacji testowania instalatorów na różnych maszynach o potencjalnie różnych profilach sprzętowych/programowych oraz poprzez określenie różnych opcji instalatorowi. Pomysł polegałby na tym, że mógłbym napisać kod typu "test jednostkowy", aby skonfigurować maszynę, uruchomić instalator, a następnie sprawdzić, czy pewne rzeczy są prawdziwe. Testy mogą wyglądać podobnie do:Jak zautomatyzować testowanie instalatora

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 

wiem mogę utworzyć wiele maszyn wirtualnych, ale czeka na VM do uruchamiania za każdy test funkcjonalny brzmi jak dużo więcej pracy niż chcę. To, czego naprawdę chcę, to sposób na wirtualizację środowiska instalatora. Jakieś sugestie?

Odpowiedz

5

Stworzyliśmy zestaw maszyn wirtualnych i okazało się, że jest bardzo łatwy w zarządzaniu. W ciągu nocy przeprowadzamy testy dla 13 różnych instalatorów systemu Windows. W maszynach wirtualnych stworzyliśmy nasze bardzo nagie kości, więc możliwe jest równoległe przeprowadzenie szeregu testów.

+0

W jaki sposób testujesz instalację na maszynie wirtualnej i w jaki sposób zwracasz każdą z maszyn wirtualnych do stanu ustalonego po teście? – Jeff

+2

Nasza konfiguracja polega na tym, że jeden komputer napędza serię obrazów VMWare. Ten komputer używa VIX API z VMWare do uruchamiania, zatrzymywania i przywracania obrazów. Po uruchomieniu obrazu przy użyciu interfejsu VIX API wysyłasz argument wiersza polecenia do obrazu VMWare, aby rozpocząć instalację. Nasze instalacje muszą działać bez interfejsu użytkownika, abyśmy mogli przekazywać wszystkie argumenty w wierszu poleceń. Następnie sprawdzamy pliki kontrolne i przeprowadzamy test podstawowy. Jeśli wystąpi problem, wykonujemy zalogowaną instalację. Po zakończeniu testu po prostu odwracamy obraz. Przed wypuszczeniem wciąż mamy ludzki wygląd, przetestuj ich pod kątem dopasowania i wykończenia. – LanceSc

+0

Czy byłeś w stanie znaleźć sposób, aby to zrobić na komputerach z włączoną funkcją UAC? Chciałbym zachować UAC, ponieważ powinno to pozostać częścią scenariusza testowego. – JohnZaj

1

Jeśli masz zainstalowany program instalacyjny z wiersza poleceń, łatwo jest mieć skrypt, który wywoła go automatycznie.

Następnie można użyć narzędzia do testowania aplikacji internetowej, aby przekonać się, że instalacja się powiodła, na przykład ta http://seleniumhq.org/ Do tego celu potrzebny będzie unikalny sposób przetestowania nowej instalacji - podobnie jak strona z aktualną wersją.

Powiązane problemy