Важная функция "большой" системы - ограничение доступа к данным. На этапе разработки тестирование можно выполнить вручную. Но в работающей системе, которая активно развивается, ручное тестирование прав очень трудоемкое и его очень не интересно делать. Особенно это касается регресса. Не буду говорить, что если у пользователя после обновления исчезли права, это стресс только для пользователя. Тогда как в ситуации когда пользователь вдруг получил дополнительный доступ к чувствительным данным, у всех будет стресс.
В предыдущих заметках: заметка один, заметка два теоретически рассуждал про принципы создания сложного окружения. В этой заметке перейду к практической части и создам окружение с помощью существующих open source инструментов. Воспользуемся vanessa automation single версии 1.2.040.1.
Под сложным тестовым окружением я понимаю ситуацию когда у тестируемых объектов сложная история . Под историей подразумеваю последовательность операций, которые приводят базу и объекты в ней в нужное тестовое состояние. Тестируемый объект - это уникальный объект тестируемой системы, как правило элемент справочника, обладающий уникальными свойствами, с точки зрения предметной области. Это еще означает, что в типовых конфигурациях большое количество бизнес-логики, которая контролирует операции с данными объектами.
Недавно в VA появилась возможность передавать в экспортные сценарии таблицы как параметры. Это позволяет полноценно отделить тестовые данные от описания интерфейса, применив паттерн "Page Object". Писал про него здесь и здесь.
В предыдущей заметке описал, что такое отчет и обобщил структуру отчетов и тестовых сценариев.
Самым сложным и трудоемким для тестирования является функционал отчетности. Под отчетностью подразумеваю набор связанных отчетов, каждый отчет это двумерная таблицу со столбцами и строками, в которых размещаются аналитические и числовые значения. Каждый отчет имеет возможность гибких настроек - фильтрация данных, изменение структуры - группировки, итоги, состав показателей. Показатели отчета в 1С могут быть расшифрованы, т.е. по двойному клику на ячейку откроется другой отчет и покажет из чего состоит расшифровываемый показатель. Пользовательский интерфейс отдельного отчета 1С:Предприятия 8 не сложен и содержит унифицированные элементы. Основная сложность скрыта "под капотом" в алгоритме получения данных из источника и вывод результата...
В предыдущей части рассмотрели вариант проверки набора движений документа. Эталон - сохраненный набор движений, результат - движения сформированные в тестовой базе.
Одна из задач, которую нужно решить тестированием это проверить результат работы документа. Как минимум нужно проверить, что документ сделал движения по нужным регистрам, а как максимум движения нужно сверить с эталоном.
Первая проблема была озвучена здесь: Борьба со сложностью кода UI-тестов
Одна из проблем автоматизированного тестирования это поддержка код автотестов. Зачастую исходный код сценария пишут одни люди, а поддерживают и запускают другие. Сложный и запутанный код теста сложно поддерживать и развивать. Поэтому при проектировании и разработке автотестов необходимо придерживаться определенных правил.