> For the complete documentation index, see [llms.txt](https://mp4.gitbook.io/standard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mp4.gitbook.io/standard/knowledge/bim/dev/razrabotka-plaginov/testirovanie.md).

# Тестирование

{% hint style="danger" %}
Запрещается проводить тестирование инструментов автоматизации на рабочих моделях над которыми ведется работа по проектированию. Тестируемые модели должны быть либо созданы для теста, либо отсоединены от рабочей модели хранилища.
{% endhint %}

## Тестирование во время разработки

Тестирование во время разработки происходит с помощью запуска плагина через Add-in Manager. Опции запуска обозначены на скриншоте ниже:

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2FeDD6Ys8SayFld2twVsER%2Fimage.png?alt=media&amp;token=0f972460-0a3d-425e-8c0c-7baecc6252f4" alt=""><figcaption></figcaption></figure>

В случаях, когда тестируемый плагин использует сторонние библиотеки, например, библиотеку оформления, на время теста необходимо размещать ее рядом с тестируемой dll.

В случаях внесения изменений в данную библиотеку может возникать проблема, связанная с механизмом кеширования Add-in Manager и Revit: запускаемый плагин "держит уме" старую версию библиотеку и не учитывает внесенные в нее изменения. В данном случае может помочь перезагрузка ревита или очистка временных решений в папке кеша Add-in Manager.

## Тестирование пользователями

### Add-in Manager

**Когда применяется ?** В случаях единичных тестов конечными пользователями.

**Почему предпочтителен?** Тестируемый плагин не появляется у пользователя в интерфейсе Revit.

**Процесс тестирования:**

1. Обязательно сохраните текущие документы в запущенных сеансах Revit. Плагин может вызвать непредвиденные ошибки, которые могут внести в модель некорректные изменения или вызвать завершение работы программы Revit.
2. Установить переданный плагин AddinManager.
3. Загрузить надстройку в Revit (перезапускать сеанс Revit не обязательно) – выбрать “Всегда загружать”. Если предложения загрузить надстройку не поступает – закрыть все активные сеансы Revit и запустить Revit (если не помогло - дать обратную связь).
4. Скачать переданный файл .dll и разрешить запуск в его свойствах (необходимо при скачивании файлов на компьютер из любых источников, не имеющих сертификата разработчика Microsoft):

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2FGeg4sV5yAiUGlP5hIiKE%2Fimage.png?alt=media&amp;token=7bbf5e13-7bbe-4e81-bee5-6c6492b91595" alt=""><figcaption></figcaption></figure>

5. Запустить тестируемый плагин через соответствующую функцию AddinManager (вкладка “Надстройки”):

{% columns %}
{% column %}

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2F8E5HHuHdcfo9t3zqitCQ%2Fimage.png?alt=media&amp;token=8a41649c-9037-4eaa-88e5-2d273e2413af" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2Ff8bVrBkX57Le3vezdpg1%2Fimage.png?alt=media&amp;token=eaf72ab2-48f2-4e01-9064-ac22b432edee" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

6. Протестировать работу плагина во всех возможных вариантах работы и дать подробную [обратную связь](/standard/knowledge/plugins/process/predostavlenie-obratnoi-svyazi.md). При необходимости прикладывать полные скриншоты экрана и подробное описание обстоятельств, приводящих к появлению ошибки или вылета.

### Внешние инструменты

**Когда применяется ?** В случаях единичных тестов конечными пользователями.

**Почему не предпочтителен?** Тестируемый плагин появляется у пользователя в интерфейсе Revit через выпадающий список инструмента "Внешние инструменты". При этом необходимо формировать addin файл и размещать его в папке пользователя.

**Процесс тестирования:**

1. Обязтельно сохраните текущие документы в запущенных сеансах Revit. Плагин может вызвать непредвиденные ошибки, которые могут внести в модель некорректные изменения или вызвать завершение работы программы Revit.
2. Одновременно скопировать файлы .dll и .addin по следующему пути:

<p align="center">%appdata%\Autodesk\Revit\Addins\202Х\, где “Х” – версия Revit</p>

<p align="center"><em>Например, для Revit 2023</em> - %appdata%\Autodesk\Revit\Addins\2023\</p>

3. Разрешить запуск файла .dll в его свойствах (необходимо при скачивании файлов на компьютер из любых источников, не имеющих сертификата разработчика Microsoft):

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2FMSutWf402OidJxLV3H32%2Fimage.png?alt=media&amp;token=5d523357-7cbf-49c4-bb52-83732af2f663" alt=""><figcaption></figcaption></figure>

4. Загрузить надстройку в Revit (перезапускать сеанс Revit не обязательно) – выбрать “Всегда загружать”. Если предложения загрузить надстройку не поступает – закрыть все активные сеансы Revit и запустить Revit (если не помогло - дать обратную связь).
5. Запустить плагин через запуск внешних надстроек:

<figure><img src="https://2028123183-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fq0Ee0SvSzmZfXRXepEDT%2Fuploads%2FWm6hXLzU8MTHZldl1yoy%2Fimage.png?alt=media&amp;token=25eca2b8-56a5-4355-bb90-dbdd8efe55c7" alt=""><figcaption></figcaption></figure>

6. Протестировать работу плагина во всех возможных вариантах работы и дать ПОДРОБНУЮ обратную связь. При необходимости прикладывать полные скриншоты экрана и подробное описание обстоятельств, приводящих к появлению ошибки или вылета.
7. Обязательно аккуратно удалите только тестируемые файлы (.dll и .addin) после завершения тестирования, находящиеся по пути, указанному в п.2.

### Лента BIM

**Когда применяется ?** В случаях массовых тестов внутри BIM-отдела.

**Почему предпочтителен?** Тестируемый плагин размещен на ленте и оформлен согласно правилам размещения, что максимально близко к его будущему методу запуска и работы.

**Процесс тестирования** согласно правилам [размещения плагинов](/standard/knowledge/bim/dev/razrabotka-plaginov/razmeshenie.md).&#x20;

{% hint style="info" %}
При этом необходимо размещать плагин на панели "Тестирование" ленты BIM.
{% endhint %}
