Тестирование базы данных
July 22, 2022

Тестирование отчетов. Часть 1.

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

Декомпозировав функционал отчета на части получим:

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

В общем случае тестовый сценарий будет следующим:

  1. подготовка источника данных
  2. настройка параметров отчета
  3. вывод результата в форму
  4. сравнения результата с эталоном

Рассмотрим каждую часть сценария подробнее.

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

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

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

Сравнение с эталоном может быть выполнена несколькими способами: проверка всей формы или же проверка значимой части/области отчета.