Я разработал приложение, которое я должен протестировать в нескольких операционных системах, включая Win98, XP, Vista и Win7. Я задаюсь вопросом, если использование виртуализации дало бы точные результаты тестирования. Виртуализированные системы дадут те же результаты, как будто я установил OSs на реальных компьютерах?
Да, виртуализация является блестящей платформой для тестирования программного обеспечения кроме сравнительного тестирования или тестирования драйверов (но даже который является выполнимым с поддержкой USB).
У Вас могут также быть проблемы, если Ваше программное обеспечение связано с реальными аппаратными средствами, такими как утилиты восстановления файла жесткого диска (при некоторых обстоятельствах), или возможно программы, которые конкретно предназначаются для функции, которая не передается посредством виртуализации (например, несколько лет назад я не забываю иметь проблемы с программами C++, которые непосредственно используют галочки ЦП).
Однако для средней программы, это прекрасно абсолютно.
Если Ваша система поддерживает аппаратные средства virtualizition, нет очень между виртуальным и реальным компьютером, если Вы не требуете графического ускорения.
Виртуализация идеально подходит для тестирования программного обеспечения, у Вас могут быть массы очень похожих экземпляров, при этом различием являются патчи, установленное программное обеспечение и т.д., которое Это позволяет, Вы к очень конкретно тестируете программное обеспечение, все время немного изменяя переменные. Также невероятно легко откатывать к 'чистой' системе и запуститься в другом направлении если потребности быть. У нас есть виртуальная система, которую мы используем для тестирования исправлений Windows, прежде чем они пойдут на нашу основную систему, мы видим его как просто хорошая практика.
Виртуализация является действительно лучшим способом протестировать. Эти только два исключения - то, при выполнении очень определенных аппаратных интерфейсов, которые говорят непосредственно с аппаратными средствами (даже затем, это полезно для некоторых вещей как сериал, поскольку можно получить в файл более легко). Второе - то, если необходимо протестировать с несколькими клиентами, которые связываются друг с другом И синхронизацией времени в сети VM. Обратите внимание, что сеть нескольких виртуальных машин работает отлично и ведет себя, как будто они были всеми отдельными машинами. Этими двумя исключениями являются чрезвычайно редкие ситуации. Другое преимущество использования VMs для тестирования состоит в том, если Вы делаете автоматизированное тестирование через UI и используете мышь/действия клавиатуры в тесте. Это может работать, не влияя на хост.