Тестирование базы данных
February 17, 2021

Тестирование базы данных. Часть 2.

Начало: Тестирование баз данных. Часть 1.

Архитектура решений на платформе 1С:Предприятие с точки зрения данных выглядит следующим образом:

Справочники - включают ссылки на справочники, как значения реквизитов;
Документы - включают ссылки на справочники, как значения реквизитов;
Регистры (сведений и накоплений) - включают документы и справочники, как значения измерений, ресурсов и реквизитов.

Получается, что создание нового документа, как набора записей в таблицах БД, невозможно без создания элементов справочников. А создание новых записей в регистре накопления невозможно без создания документов и элементов справочников Причем документ нужен, и как регистратор записей и как значение реквизита или измерения регистра.

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

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

Таким образом сценарии становится очень чувствительным к составу тестовых данных. Кроме подготовки тестовых данных, важным становится правильный подбор созданных данных, в такие агрегирующие объекты, как документ. Если этим не озаботится, то не получиться обеспечить повторяемость сценария.

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

Примером может служить тест создания документа "Поступление товаров и услуг" с видом операции Товары, в ходе выполнения сценарий должен использовать справочник Номенклатура с видом Товар, а не Услуга. Если сценарий попробует использовать Услугу, то сценарий остановится с ошибкой, т.к. документ не будет заполнен.

Ещё пример это тест проводок документа Реализация товаров и услуг. В документ должна попасть определенная номенклатура и склад, которые соответствуют документу "Поступление товаров и услуг", созданный для сценария. Только в этом случае можно будет проверить все реквизиты проводки - аналитики и суммы. Ниже еще одна упрощенная диаграмма связей справочников документов и регистров накопления.

Продолжение: Управление тестовыми данными