Прежде, чем начать говорить об инструментах для автоматизированного тестирования в 1С, стоит рассказать вообще о появлении такой возможности и принципах его работы.
Но начнем с азов.
Что из себя представляет программа 1С?
Под термином «Программа 1C» подразумевают сразу два понятия неразрывно связанных между собой: платформа и прикладное решение. Прикладное решение еще называют «Конфигурация».
Программа 1C = Платформа + Конфигурация
Вначале устанавливается платформа, а затем на платформу устанавливаются необходимые конфигурации. В классическом варианте платформа установлена одна, а конфигураций может быть несколько. Но на практике платформ может быть установлено несколько. Они отличаются номером версии. Это может быть из-за того, что некоторые конфигурации были написаны под определенные версии платформы.
Платформа 1С
Платформа - это самостоятельный инструмент, являющийся средой разработки и одновременно движком, внутри которого функционирует прикладное решение. Соответственно:
- Платформа служит средой для разработки конфигураций;
- Конфигурации выполняются внутри платформы и полностью опираются на ее механизмы;
- Платформа содержит инструменты, необходимые для администрирования и поддержки конфигураций.
Без платформы невозможно запустить конфигурацию, но платформа может работать без конфигурации. Доступ к изменению платформы имеет только сама фирма «1С».
Конфигурация 1С
Конфигурация или прикладное решение - это та часть программы 1С, которая служит для решения конкретной задачи, но полностью опирается на технологии платформы и не может функционировать отдельно.
Имея платформу 1С, можно разрабатывать свои собственные конфигурации и вносить изменения в готовые конфигурации, предоставляемые фирмой «1С» и ее партнерами.
Конфигурации 1С можно разделить на следующие группы:
- Типовые;
- Отраслевые;
- Специализированные.
Типовые конфигурации - это все программные продукты разрабатываемые непосредственно фирмой «1С».
Примеры распространенных типовых конфигураций:
- «1С:Бухгалтерия»;
- «1С:Зарплата и управление персоналом»;
- «1С:Управление торговлей»;
- «1С:ERP Управление предприятием 2»;
- «1С:Розница».
Отраслевые конфигурации - это инструменты, созданные специально под нужды конкретной сферы деятельности бизнеса. Такие конфигурации часто разрабатываются на базе типовых. А разработкой занимаются компании-партнеры фирмы «1С».
Примеры отраслевых конфигураций:
- «1С:Общепит»;
- «1С:Салон красоты»;
- «1С:Медицина. Поликлиника»;
- «1С:Детская школа искусств».
Специализированные конфигурации - это остальные конфигурации, которые не относятся к типовым и отраслевым. Сюда можно отнести технологические дистрибутивы, в том числе и инструменты для автоматизации тестирования. А также конфигурации, написанные под узкую специализацию, которая широко не распространена.
Цифры в наименованиях конфигураций и платформ
Платформа и конфигурации имеют нумерацию из четырех разрядов цифр. Они нужны для отслеживания изменений, внесенных в программу. Изменения - это вечный двигатель! Они связаны с актуализаций норм законодательства, добавлением нового функционала и исправлением ошибок текущего.
Пример нумерации 3.0.131.27, где:
- Комбинация из двух первых цифр - это редакция (3.0);
- Комбинация из трех цифр - это релиз (3.0.131);
- Комбинация из всех четырех цифр - это версия (3.0.131.27).
Но довольно часто все эти комбинации называют просто «версией». Потому не стоит удивляться, если встретится надпись «Новое в версии 3.0» или «Новое в версии 3.0.131» или «Новое в версии 3.0.131.270».
Автоматизированное тестирование
Начиная с выхода релиза платформы 8.3.2 активно начал развиваться механизм автоматизированного тестирования. Это именно платформенный механизм.
Автоматизированное тестирование - это процесс, во время которого происходит имитация интерактивных действий пользователя, с возможностью получения и оценки результатов этих действий.
В данном процессе между собой взаимодействуют два клиентских приложения запущенные в соответствующих режимах. Первое - это менеджер тестирования, на котором исполняется алгоритм теста. Второе - это клиент тестирования, который воспроизводит интерактивные действия пользователя и возвращает их результат.
Их можно сравнить с полушариями мозга. Менеджер тестирования - это левое полушарие, которое обрабатывает информацию по очереди, а клиент тестирования - это правое полушарие, обрабатывающее информацию одновременно. Или можно сравнить с близняшками из нашумевшей компьютерной игры «Atomic Heart». Кому как понятнее.
Менеджером тестирования может выступать только толстый или тонкий клиент. В качестве клиента тестирования может быть толстый клиент, тонкий клиент, веб-клиент, мобильный клиент или мобильное приложение.
Имитация действий пользователя осуществляется при помощи набора специализированных объектов встроенного языка, которые предоставляют доступ к интерфейсу и элементам форм клиентского приложения.
Чтобы облегчить работу по написанию тестов в платформе реализована возможность автоматической записи интерактивных действий пользователя в XML-файл.
Результат выполнения автоматизированного теста может контролироваться визуально, либо программно, путем сравнения полученных результатов с эталонными значениями.
А теперь поясню более простыми словами.
Для того чтобы написать и запустить автоматизированный тест, необходимо:
- Запустить первую программу 1С в режиме менеджера тестирования;
- Запустить вторую программу 1С в режиме клиента тестирования;
- Установить соединение менеджера тестирования с клиентом тестирования;
- Описать алгоритм действий на встроенном языке, т.е. написать автоматизированный тест. Это можно сделать двумя путями. Либо сразу вручную в менеджере тестирования. Либо записать свои действия на клиенте тестирования, выгрузить их в XML-файл, чтобы на основании него создать автоматизированный тест;
- Далее запустить данный алгоритм на менеджере тестирования. Все действия будут выполняться на клиенте тестирования. И по итогу выполнения теста получить результат. Фиксация результата происходит на менеджере тестирования.
Уже сейчас звучит не так сложно, как могло показаться на первый взгляд. А при использовании инструментов автоматизированного тестирования все еще проще, потому что они облегчают создание автоматизированных тестов.
Я просто хотел показать на каком принципе и возможностях платформы были реализованы современные инструменты для автоматизирования процессов тестирования.
А разговор о данных инструментах начнем уже в следующей статье.