Проверить статус тестер 1с

Обновлено: 04.07.2024

Бесплатная программа для сценарного тестирования решений на базе 1С:Предприятие 8.3, управляемые формы.

Тестер является инструментом для проведения сценарного тестирования приложений, и призван сохранить и воспроизвести опыт программиста, время на приобретение которого было потрачено на ручные проверки и тестирование. Основным профитом от использования Тестера является повышение качества программ, без существенных организационных изменений, изменений принципов программирования, и других долгосрочных инвестиций времени на выпуски очередных версий продуктов. Тестер может использоваться как независимый инструмент, так и совместно с BDD, выступая в качестве платформы для разработки сложных тестов.

Сводка¶

Текущая версия: 1.3.5.14 История релизов

Стоимость / Лицензия: Бесплатно / BSD

Язык интерфейса: Английский, Русский

Справка: Английский (частично), Русский

Возможности¶

Особенности¶

  • Быстро устанавливается, не требует специальных (кроме 1С) знаний и программного обеспечения
  • Быстро интегрируется в процесс разработки
  • Не требует фундаметального пересмотра философии программирования
  • Сфокусирован на процесс создания реальных тестов
  • Не требует подготовки отдельных баз и эталонных данных

Другое применение¶

Тестер может быть использован как автоматизатор рутинных операций, как в процессе разработки, так и в режиме реальной эксплуатации продуктовых баз. Среди таких задач можно выделить: - Выгрузка/загрузка данных, пакетный запуск 1С для административных задач - Запуск и манипуляции обработками, отчетами. Тестером можно написать сценарий, который будет формировать отчет, проверять какие-то данные или открывать обработку и нажимать там нужные кнопки и выбирать поля - Формирование начальных или тестовых данных для ваших решений (вместо использования конвертации данных) - Нагрузочное тестирование. Например, у вас есть доработка и вы хотите проверить работу этого функционала под нагрузкой. Для этого можно написать сценарий запуска Тестера нужное кол-во раз с передачей целевого тестируемого сценария в качестве параметра

Несколько примеров¶

Совместимость¶

Данная статья является ознакомительно-информационной и не содержит никакой рекламы и особенно попыток извлечь материальную прибыль. Задача статьи — пролить свет на созданную возможность тестирования кода конфигураций, кратко ознакомить с успешно использующимся инструментом, услышать отзывы и сделать выводы. Возможно это ненужный велосипед и кто-то поделится правильным подходом в тестировании для данной платформы.

Разработка на платформе 1С: Предприятие — не самый сложный процесс. Самое сложное — принять концепцию написания кода на родном языке :)
Но не смотря на то, что в 8й версии платформы был совершён положительный качественный скачок в устройстве платформы и встроенного языка (например, появление концепции MVC для объектов метаданных конфигурации) многие народные кодеры продолжают выдавать мегабайты «мусора», который каким-то чудом работает в рамках того, что смог/успел проверить такой кодер.
У меня нет богатого «опыта» работы в различных франчайзи, у меня за все годы перед глазами только опыт единственного отдела, который выпускает коробочные продукты, продукты продаются, клиенты находят баги, терроризируют техподдержку, техподдержка бегает к разработчикам, разработчики радостно фиксят найденные баги, попутно внося разнообразные новые, короче говоря — работа есть всем и хватит её надолго.
Сколько времени уходит на фикс багов, а сколько на создание нового функционала — пропорция известна лишь приблизительно. Баги, найденные клиентами, воспринимаются как неизбежное зло, и для уменьшения времени на их исправление прибегают к усиленному ручному тестированию релизов и наймом/воспитанием грамотных разработчиков. Ручное тестирование отделом QA это достаточно трудоёмко и нет возможности точно определить золотую середину соотношения глубины тестирования к потраченному на тестирование времени. Про наличие огромного количества талантливых разработчиков вообще говорить не приходится.
Во «взрослых» языках программирования подобные проблемы стараются решать повсеместным тестированием. Начиная с уровня разработчика — unit-тестами, далее функциональными и регрессионными, и заканчивая интеграционными тестами. В особо интересных случаях тесты запускаются на каждый чих коммит в определённую ветку репозитория.
К сожалению фирма «1С» не балует разработчиков на своей платформе какими-либо достойными инструментами, хорошо, хоть репозиторий/хранилище сделали.
Несколько лет назад, приступая к новому проекту, лично мне надоели регулярные удары одними и теми же граблями по лбу. С руководством было оговорено время на разработку своей наколенной системы тестирования в том виде как я её видел и работа закипела.

Применение.

Лично мне на одном проекте данная система сэкономила не менее года времени проведённого в отладчике. Ещё один проект уже несколько лет использует систему для функциональных тестов огромного количества вариантов скидок/оплат и т.п. Ещё три проекта начинают её использовать. Вообще, конечно, внедрять такую систему «снизу» это как долбиться лбом в стену небоскрёба. Но если долбить каждый день, то результат рано или поздно появится. Главное — успешный пример и поддержка «сверху».

Описание.

  • модульные тесты;
  • функциональные тесты;
  • регрессионные тесты*;
  • интеграционные тесты;
Устройство.

Так как система создавалась ещё во времена платформы 8.1, то поддержки управляемых форм в ней нет, ибо мне уже не надо, а текущим проектам ещё не надо. Но основной функционал системы это тестирование кода и весь недостаток в том, что обработка тестирования написана не на управляемых формах.

Основным интерфейсом для создания тестов и их выполнения является внешняя обработка. Обработка запускается непосредственно в информационной базе, конфигурацию которой и хотят протестировать.
Сами тесты хранятся в отдельной информационной базе, куда подключается и авторизуется внешняя обработка:

Рабочая форма выглядит так:

1. Текущий проект
2. Имя пользователя системы тестирования
3. Тесты можно разбивать на группы, это удобно при настройке автоматического тестирования и позволяет структурировать сами тесты.
4. Выбран тест с кодом 400, указано имя теста, тестируемый метод находится в форме встроенной обработки «Транслятор», последней колонкой выведено имя тестируемого метода.
5. Сюда вставляется полная сигнатура тестируемого метода, которая автоматически парсится (нажатием на кнопку 8) на входящие параметры — 6 и результаты — 7.
6. Тут задаются входящие параметры примитивных и ссылочных типов, также можно указать путь к файлу, если установлен флажок Файл.
7. У выбранного теста всего одно возвращаемое значение функции, для него предопределено имя _ВозвратПерем.
8. Распарсить сигнатуру метода на входящие параметры и возвращаемые результаты.

Для понимания дальнейшего повествования необходимо отвлечься на поле 5, где есть ещё немного вкладок.
Перед выполнением:

Поле предназначено для выполнения произвольного кода перед вызовом тестируемого метода. Можно как угодно видоизменить входящие параметры, подготовить коллекции или объекты информационной базы.
Аналогичное поле После выполнения позволяет обработать полученные результаты вызова тестируемого метода до начала сравнения их с сохранёнными ранее эталонными значениями.
Выполняемый код:

Тут показан весь код, который будет выполнен при запуске теста.
Вкладка Описание — здесь можно подробно описать что это за тест.
Ну и наконец вкладка Версии:

Здесь перечислены все версии конфигураций текущего проекта, заведённые в базе тестов. Создатель теста может указать на каких версиях данный тест должен проходить, а для каких тест не применим. Эта информация используется для автоматического тестирования.

9. Выполнить тест. Выполняется код, видимый на вкладке Выполняемый код. Поле 7 заполняется результатами работы выполняемого кода.
10. Кнопка сохранения полученных после нажатия кнопки 9 результатов в качестве эталона.
11. Запуск теста и сравнение результатов с ранее сохранённым эталоном.
12. Просмотр сохранённых эталонных значений.

Пример.
Итого.

В принципе, описанного функционала хватает для решения большинства задач для тестирования определённой конфигурации в полу-автоматическом режиме. Но помимо этого на серверной стороне есть возможность настройки автоматического тестирования набора конфигураций (в рамках одного проекта) по расписанию (регламентные задания). Система умеет забирать из хранилища текущую версию конфигурации, накатывать её на тестируемую базу и запускать указанные группы тестов. По выполнению перечисленным наблюдателям высылается письмо с детальными результатами теста.

Система не создавалась для продажи, система много где не доведена до ума, но даже то, что уже есть сильно помогает избегать как минимум глупых ошибок из серии — поправил в одном месте, отвалилось в трёх других.

Для развертывания инфраструктуры тестирования достаточно выполнить следующие шаги (предполагается, что Тестер скачан и прописан в списке информационных баз):


Конфигурация Тестер должна быть запущена в режиме 1С:Предприятие с ключом /TESTMANAGER .
Этот параметр может быть прописан непосредственно в профиле информационной базы Тестера, например так:


Тестируемая конфигурация должна быть запущена в режиме 1С:Предприятие с ключом /TESTCLIENT .
Этот параметр может быть прописан непосредственно в профиле тестируемой информационной базы, например так:

С технической точки зрения, для начала разработки тестов и тестирования больше ничего не требуется.

Первый сценарий¶

Рассмотрим пример создания теста к конфигурации БСП 2.2.

Напишем элементарный тест, который просто откроет форму списка справочника Партнеры.

  1. Запускаем Тестер с ключом /TESTMANAGER .
  2. Запускаем БСП с ключом /TESTCLIENT .
  3. Переключается в Тестер, открываем меню быстрых функций и создаем новое приложение:

  4. Через меню быстрых функций открываем сценарии и создадим новый сценарий
  5. В поле ID напишем Test1
  6. В тексте сценария напишем:
  1. Переключимся на вкладку Свойства , и в поле Приложение укажем БСП
  2. Нажмем на панели кнопку Основной
  3. Тест готов. Теперь нажмем кнопку Запустить (или F5 ) и запустим его.

В результате, в БСП должна открыться форма списка справочника Демо: Партнеры. Если бы во время открытия справочника, произошла какая-то ошибка, Тестер бы о ней сообщил.

Второй сценарий¶

Добавим в первый тест создание нового партнера, для этого внесем следующие изменения в сценарий:

После выполнения теста, в базе БСП должен быть новый партнер.

Для того, чтобы задавать однозначно объекты, с которыми требуется взаимодействие, можно использовать идентификаторы, или полный путь.

Например, в 14 строке можно написать так:

Для получения идентификаторов и внутреннего содержимого форм тестируемого приложения, см раздел Вкладка Поля.

«1С:Тестировщик» предназначен для ознакомления широкого круга пользователей с возможностями автоматизированного тестирования приложений, создаваемых на платформе «1С:Предприятие 8», для обучения приемам сценарного тестирования, а также для тестирования приложений в простых случаях.

Быстрый старт

  • Быстрое начало работы.
  • Не требуется первоначальная настройка. Установи и работай.
  • Установка дополнительных программ не требуется.
  • Навыки программирования не обязательны.

1С:Тестировщик, Быстрое начало работы

Создание и модификация тестов

  • Автоматическая запись тестов при выполнении пользователем тестирования вручную.
  • Написание и редактирование (актуализация) тестов в пошаговом режиме как с использованием подключения к тестируемому клиенту, так и без него.
  • Автоматическое считывание данных из тестируемого клиента при редактировании шагов теста или их создании в пошаговом режиме.
  • Пошаговое создание теста с одновременным его выполнением (проверкой).
  • Поиск и замена в сценарии любых данных. Автоматическая генерация наименований и описаний шагов.
  • Использование в тесте циклов, пауз и условий.
  • Представление шагов теста в виде иерархической структуры. Автоматическая подготовка тестового окружения и выполнение тестов.
  • Параметризация любых тестовых данных. Загрузка списка переменных в тест может осуществляться во время его выполнения.
  • Создание собственных шагов на языке «1С».

1С:Тестировщик, Фрагмент сценария

Выполнение тестов и обработка их результатов

  • Имитация всех действий пользователя с интерфейсом тестируемой конфигурации (с учетом ограничений платформы).
  • Протоколирование всех проверок.
  • Автоматическое выполнение теста до точки остановки с возможностью продолжения выполнения в пошаговом или автоматическом режиме.
  • Пошаговое выполнение теста, запуск теста на выполнение с любого шага.
  • Автоматическое формирование снимка экрана при возникновении ошибки. Установка дополнительных программ для формирования снимка не требуется.
  • Подробная детализация ошибок при их возникновении.
  • Настройки поведения при возникновении ошибки: останавливаться, продолжать выполнение или не считать ошибкой.
  • Поиск и проверка элементов по маске с учетом символов подстановки «*» и «?».
  • Ожидание появления элементов на форме или изменения свойств для проверки асинхронных событий.
  • Сверка таблиц и табличных документов с эталонами.
  • Выделение в отчетах отличающихся символов при сравнении значений.
  • Автоматическая актуализация отдельных шагов по результатам выполнения теста.

1С:Тестировщик, Протокол выполнения

Особенности «1С:Тестировщик»

Сценарии «1С:Тестировщик» и «1С:Сценарное тестирование» полностью совместимы. Возможности автоматизированного тестирования, предоставляемые платформой «1С:Предприятие 8», наиболее полно используются в конфигурации «1С:Сценарное тестирование».

Быстрый старт Создание и модификация тестов Выполнение тестов и обработка их результатов Особенности «1С:Тестировщик»

Читайте также: