Введение
Большинство программных систем имеют процедуры установки, необходимые перед началом их использования по назначению. Тестирование этих процедур, направленное на получение установленной программной системы, готовой к использованию, называется инсталляционным тестированием. Эти процедуры могут включать полное или частичное обновление, а также процессы установки и удаления. Инсталляционное тестирование выявляет ошибки, возникающие в процессе установки и влияющие на восприятие и возможность использования программного обеспечения пользователем. Существует множество факторов, которые могут повлиять на установку программного обеспечения, и инсталляционное тестирование проверяет корректность установки, а также ряд связанных действий и событий. Примеры включают следующее: пользователю необходимо выбирать различные параметры; зависимые файлы и библиотеки должны быть выделены, загружены или найдены; должны присутствовать допустимые аппаратные конфигурации; программным системам может потребоваться подключение к другим программным системам. Обычно это тестирование выполняется в рамках операционного приемочного тестирования инженером по тестированию программного обеспечения совместно с менеджером по конфигурации. Тестирование внедрения обычно определяется как тестирование, при котором скомпилированная версия кода помещается в тестовую или предпроизводственную среду, откуда она может быть или не быть перенесена в производственную среду. Как правило, это происходит за пределами среды разработки программного обеспечения, чтобы избежать повреждения кода из-за других будущих или прошлых релизов (или использования неверной версии зависимостей, таких как общие библиотеки), которые могут находиться в среде разработки. Самый простой способ установки – запуск программы установки, иногда называемой пакетом программного обеспечения. Этот пакет обычно использует программу настройки, которая выступает в качестве многоконфигурационного инструмента и позволяет устанавливать программное обеспечение на различные машины и/или операционные среды. Каждая возможная конфигурация должна пройти соответствующий уровень тестирования, чтобы ее можно было уверенно предоставить клиентам. В распределенных системах, особенно при выпуске программного обеспечения в уже работающую целевую среду (например, на действующий веб-сайт), установка (или развертывание программного обеспечения, как это иногда называют) может включать изменения схемы базы данных, а также установку нового программного обеспечения. Планы развертывания в таких случаях могут включать процедуры отката, предназначенные для возврата целевой среды в исходное состояние в случае неудачного развертывания. В идеале, сам план развертывания должен быть протестирован в среде, являющейся точной копией рабочей среды. Фактором, увеличивающим организационные требования к такому процессу, является необходимость синхронизации данных в тестовой среде с данными в рабочей среде с минимальным прерыванием работы. Этот тип внедрения может включать тестирование процессов, происходящих во время установки или обновления многоуровневого приложения. Этот тип тестирования часто сравнивают с генеральной репетицией или даже называют "пробным запуском".
A user must select a variety of options. Dependent files and libraries must be allocated, loaded or located. Valid hardware configurations must be present. Software systems may need connectivity to connect to other software systems. This testing is typically performed in Operational acceptance testing, by a software testing engineer in conjunction with the configuration manager. Implementation testing is usually defined as testing which places a compiled version of code into the testing or pre production environment, from which it may or may not progress into production. This generally takes place outside of the software development environment to limit code corruption from other future or past releases (or from the use of the wrong version of dependencies such as shared libraries) which may reside on the development environment. The simplest installation approach is to run an install program, sometimes called package software. This package software typically uses a setup program which acts as a multi configuration wrapper and which may allow the software to be installed on a variety of machine and/or operating environments. Every possible configuration should receive an appropriate level of testing so that it can be released to customers with confidence. In distributed systems, particularly where software is to be released into an already live target environment (such as an operational website) installation (or software deployment as it is sometimes called) can involve database schema changes as well as the installation of new software. Deployment plans in such circumstances may include back out procedures whose use is intended to roll the target environment back if the deployment is unsuccessful. Ideally, the deployment plan itself should be tested in an environment that is a replica of the live environment. A factor that can increase the organizational requirements of such an exercise is the need to synchronize the data in the test deployment environment with that in the live environment with minimum disruption to live operation. This type of implementation may include testing of the processes which take place during the installation or upgrade of a multi tier application. This type of testing is commonly compared to a dress rehearsal or may even be called a "dry run".