Я разработал приложение, которое необходимо протестировать на нескольких операционных системах, включая Win98, XP, Vista и Win7. Мне интересно, даст ли использование виртуализации точные результаты тестирования. Дадут ли виртуализированные системы такие же результаты, как если бы я устанавливал ОС на реальные компьютеры?
4 ответа
Да, виртуализация - это отличная платформа для тестирования программного обеспечения, помимо тестирования производительности или тестирования драйверов (но даже это возможно при поддержке USB).
У вас также могут быть проблемы, если ваше программное обеспечение связано с реальным оборудованием, таким как утилиты восстановления файлов с жесткого диска (при некоторых обстоятельствах), или, возможно, программами, которые специально предназначены для функции, которая не прошла виртуализацию (например, много лет назад, я помню, у меня были проблемы с c++ программы, которые напрямую используют тики процессора).
Однако для средней программы это абсолютно нормально.
Если ваша система поддерживает аппаратную виртуализацию, между виртуальным и реальным компьютером не так много, если только вам не требуется графическое ускорение.
Виртуализация идеально подходит для тестирования программного обеспечения, у вас может быть масса очень похожих экземпляров, с разницей в том, что у вас патчи, установленное программное обеспечение и т.д. Это позволяет очень точно тестировать программное обеспечение, при этом все время слегка изменяя переменные. Также невероятно легко откатиться на «чистую» систему и начать в другом направлении, если это будет необходимо. У нас есть виртуальная система, которую мы используем для проверки исправлений Windows до того, как они появятся в нашей основной системе, мы считаем это просто хорошей практикой.
Виртуализация действительно лучший способ тестирования. Единственное исключение - два, если вы используете очень специфические аппаратные интерфейсы, которые напрямую взаимодействуют с аппаратным обеспечением (даже в этом случае это полезно для некоторых вещей, таких как последовательный интерфейс, так как вы можете легче записывать в файл). Второй - если вам нужно протестировать несколько клиентов, которые общаются друг с другом И синхронизировать время в сети ВМ. Обратите внимание, что сеть из нескольких виртуальных машин прекрасно работает и ведет себя так, как если бы они были отдельными машинами. Два исключения являются крайне редкими ситуациями. Другое преимущество использования виртуальных машин для тестирования состоит в том, что вы выполняете автоматическое тестирование через пользовательский интерфейс и используете в тесте действия мыши / клавиатуры. Это может работать без влияния на хост.