Система состоит из внешней обработки и отдельной информационной базы, которая работает как серверное хранилище тестов и среда автоматического выполнения тестов по расписанию.
Система была разработана и используется в конфигурациях платформы 8.1 и неуправляемой платформы 8.2. Чтобы использовать режим внешней обработки в управляемых конфигурациях, необходимо переписать весь интерфейс или изменить параметры конфигурации.
В связи с тем, что два проекта объединяются в серверной части, если вы хотите запускать автоматические тесты, версия платформы для серверной части должна совпадать с версией платформы тестируемой конфигурации.
Много фотографий.
Определившись с версией платформы, и при необходимости настроив тестируемую конфигурацию( ТК ) для запуска неконтролируемой внешней обработки создаём серверную информационную базу ( БЫТЬ ) от конфигурации на той же версии платформы, что и ТК .
Прежде чем приступить к вводу тестов, необходимо настроить информационную базу.
БЫТЬ .
Для этого вам необходимо создать необходимую конфигурацию пользователей:
И дадим одному из них права Администратора:
Затем запускаем базу данных в режиме Enterprise, авторизуемся под администратором и запускаем встроенную обработку Настройки :
Для хранения тестов различной конфигурации используется концепция Проект .
Несвязанные конфигурации следует тестировать в разных проектах.
Если конфигурация делает качественный скачок в развитии, но при этом большинство тестов предыдущей версии проходит без ошибок, то это уже новая.
Версия конфигурация этого Проект .
Добавьте свой проект:
Поля Подключение к информационной безопасности с тестами И Путь обработки теста используются для выполнения автоматического тестирования.
Сейчас мы не будем их заполнять; для ввода и запуска тестов вручную достаточно наличия проекта в базе данных БЫТЬ .
Версии могут быть перечислены ниже ТК , эти данные используются при запуске теста, если версия не указана в этом списке ТК , то тест не запустится.
Поэтому давайте создадим актуальную версию вашего ТК .
Версия берется из свойств конфигурации:
Добавляем версию:
Для каждой версии ТК можно задать параметры подключения к репозиторию, где разрабатывается эта версия, тогда перед запуском автоматических тестов система попытается взять текущую версию конфигурации из указанного репозитория, накатить эту конфигурацию на тестируемую базу и только потом запустить выбранные тесты.
Вы также можете выполнять сценарии оболочки до и после запуска тестов.
Все дополнительные поля оставляем пустыми, сохраняем созданную версию и сохраняем проект.
нажать на кнопку Дальше :
Здесь мы видим созданные нами настройки проекта, можем добавлять/удалять версии/проекты.
Нажмите еще раз Дальше :
В этом окне перечислены пользователи конфигурации; здесь вы можете установить полное имя текущего пользователя и добавить других пользователей.
Заполним полное имя текущего пользователя и выберем для него проект по умолчанию:
Вы также можете установить флажок, чтобы заставить пользователя сменить пароль при первом входе в систему тестирования.
Сохраните пользователя и нажмите кнопку Дальше :
Добавьте контактную информацию текущего пользователя:
На все указанные и включенные адреса электронной почты будут приходить отчеты о каждом результате автоматического тестирования.
нажать на кнопку Дальше , у нас есть форма для заполнения констант:
Здесь вы указываете параметры отправки сформированных писем с результатами автоматического тестирования.
Пропустите этот шаг и нажмите еще раз.
Дальше :
Видим окно, где можно создавать задачи для автоматического тестирования конфигураций.
Оставьте пока без изменений, нажмите Готовый .
На данный момент мы создали один проект, в нем создана одна версия текущего ТК , все готово для добавления и запуска тестов.
Давайте запустим ТК в режиме Enterprise и открыть внешнюю обработку ( В ) ( В находится в вышеуказанном конфигурации БЫТЬ , называется Тестирование , его необходимо выгрузить из конфигурации в виде внешней обработки):
Заполняем форму авторизации и подключаемся к тестовой базе.
В результате появится основная форма для работы с тестами:
Слева находится список групп, на которые разбиты тесты.
Добавим новую группу, в которой мы будем создавать наши новые тесты:
Создадим новый тест в выбранной группе.
Например, я создал общий модуль под названием Тесты и добавил туда функцию экспорта:
Добавление функции (Аргумент значения1, Аргумент значения2) Эexport Вернуть Аргумент1 + Аргумент2; КонечнаяфункцияВ названии теста я указал, что буду тестировать.
В поле Модуль Указываю расположение тестируемого метода - общий модуль Тесты :
Если бы я тестировал метод, расположенный в объектном модуле справочника или документа, то мне дополнительно нужно было бы указать ссылку на конкретный объект информационной базы, поскольку метод выполняется в конкретном контексте конкретного объекта.
В этом случае контекстом является глобальный контекст, и нет необходимости предоставлять ссылку на объект контекста.
Затем скопируйте сигнатуру метода и вставьте ее в поле.
Заголовок метода :
Затем нажмите первую кнопку на панели инструментов над этим полем — Метод анализа :
в результате поля заполняются Параметры И Результаты .
Заполняем входящие значения аргументов:
Готовый.
Теперь вы можете запустить тест для подсчета результатов, нажав на вторую кнопку (зеленая стрелка) Подсчет результатов и любуемся результатом:
Тест сработал корректно - запомните результат как стандарт, нажав третью кнопку Запомните результаты как справку :
Далее сохраняем нашу работу в тестовую базу данных:
В принципе, это все.
В панели инструментов над тестами находится кнопка запуска всех тестов данной группы, в панели инструментов над заголовком метода расположены кнопки запуска теста и просмотра сохраненного эталонного значения.
Куча полей До и после выполнения, исполняемый код и т.д. были описаны в предыдущей статье.
Вы можете поэкспериментировать.
Бинарные файлы в настоящее время размещены на GitHub .
Если кто-то хочет улучшить его и исправить ошибки, поделитесь своей работой с сообществом.
Пока не представляю, как правильно коллективно разработать конфигурации 1С с синхронизацией через Интернет. Сервер хранения 1С — бесполезная надстройка для доступа к файлам и смысла ее развертывать я не вижу.
Загрузка/загрузка конфигурации в xml реализована только в 8.3, пожалуй, это единственный нормальный способ, но есть конфигурации для 8.1 и 8.2, которые тоже нужно тестировать.
Так что пока пусть будет так GitHub , если будет реальная необходимость, подумаем.
Код распространяется под лицензией GPLv2, т.е.
— Публикуйте свои изменения в коде, если вы его используете.
Нереализованные мечты: — Это, конечно, смешно, но тестов для тестируемой конфигурации нет. Было бы неплохо начать их писать.
— Рефакторинг кода.
Код не идеален; где-то используются костыли и другие дурно пахнущие конструкции.
В проект добавлен код других разработчиков, этот код пристально не проверялся, могут быть удивительные места.
— Разграничить права доступа по проектам.
Теперь любой пользователь имеет доступ к любому проекту; по-хорошему, лучше было бы сделать так, чтобы каждому пользователю закреплялись только те проекты, которые ему нужны.
В идеале было бы создать полноценную систему ролей — прав на добавление теста, на запуск группы тестов и т.д. — Преобразование форм в управляемые.
Даст возможность тестировать управляемые конфигурации, не переводя настройки этих конфигураций в режим совместимости или не включая внешнюю обработку как встроенную.
По большому счету вся модель работы с тестами перенесена во внешний модуль обработки, и в виде модулей остался только соединительный код контроллеров.
— Разделите тестовый репозиторий и среду автоматического тестирования на две конфигурации, это даст возможность использовать любую версию платформы для тестового репозитория и перенести автоматическое тестирование на другой компьютер.
В принципе, внутренняя архитектура этих частей уже разделена; остается только сделать это разделение и заменить прямой вызов из среды выполнения теста к информационной базе тестового репозитория подключением к репозиторию и вызовом уже существующих методов через это соединение.
— Доработка функционала и улучшение интерфейса.
Теги: #1с предприятие 8 #тестирование #тестирование ИТ-систем
-
Как Записать Dvd Из Imovie11 На Льве
19 Dec, 24 -
Вот Как Вам Следует Продать Свой Старый Mac
19 Dec, 24 -
По Поводу Блогов И Их Хранителей.
19 Dec, 24 -
Среда Выполнения Objective-C В Примерах
19 Dec, 24