Новый Год – пора поздравлений и подарков. Отгремел Awards и по его следам отчаянно хочется нанести пользу и причинить радость любимому сообществу. Сравнительно недавно моя коллега – прекрасный разработчик и руководитель группы
разработки DIRECTUM-M
Юлия Литвинюк преподнесла мне неожиданный подарок, которым существенно скрасила мои личные трудовые будни тестировщика. Наблюдая мой восторг, Юлия предложила передать дело рук своих в безвозмездное пользование сообществу. Я полагала цикл Тест-драйв завершённым,
но встречайте – постскриптум, посвящённый попыткам автоматизации тестирования.
Очевидно, что тестирование заказной прикладной разработки, выполняемой в рамках проектов внедрения DIRECTUM, практически невозможно автоматизировать – в каждом случае она уникальна. По той же причине трудоёмкость и сроки тестирования
достаточно высоки: каждую ветку маршрута нужно прогнать; каждые условия блокировок реквизитов просчитать и проследить; каждый вариант отчёта построить. И не секрет, что количество комбинаций условий и значений может быть таково, что человек физически не способен
осуществить все эти проверки за разумное количество времени. В таких условиях любая попытка автоматизации приветствуется и радостно пробуется.
В один из таких дней, когда я сосредоточенно составляла матрицу условий и вписывала в неё участников согласования, мрачно подсчитывая в уме количество предстоящих запусков типового маршрута, Юлия предложила мне опробовать новый
отчёт Информация о типовом маршруте. Отчёт был разработан для получения информации о свойствах и параметрах типового маршрута, его блоках и их свойствах. При этом он полезен не только тестирующему консультанту, но и разработчикам, осуществляющим
реализацию, рецензирование и дальнейшее сопровождение маршрута.
При запуске запрашиваются следующие параметры отчёта:
*Типовой маршрут. Тип: Справочник Типовые маршруты. Используется для выбора требуемого типового маршрута.
Выводить тексты событий и использование параметров. Тип: Признак «True|False». Используется для включения расширенного режима формирования отчёта, полезного разработчикам. В этом режиме дополнительно выводятся тексты исходных
кодов событий и вычислений типового маршрута и блоков типовых маршрутов, а также информация об использовании параметров типового маршрута в событиях и свойствах типового маршрута и его блоков.
Отчёт представляет собой Excel-книгу, содержащую 4 листа:
Основная информация;
Информация по блокам;
События ТМ и блоков;
Использование параметров ТМ.
Лист «Основная информация»
Лист содержит основную информацию по типовому маршруту:
Наименование, группа, тип маршрута, признак «Показывать пользователям» и примечание к маршруту.
Основные свойства задачи.
Запрашиваемые параметры задачи (если есть).
Список ролей, используемых в параметрах и свойствах типового маршрута (если есть).
Лист «Информация по блокам»
Лист содержит список блоков типового маршрута и информацию по этим блокам:
ИД блока.
Название блока на схеме ТМ.
Тип блока.
Заголовок прикладного блока из справочника «Блоки типовых маршрутов».
Заполненные свойства блока.
Доступные пользователю результаты выполнения блока и запрашиваемые параметры.
Наличие у блока событий/вычислений.
Особенности отображения списка свойств блоков:
Незаполненные свойства блока не выводятся в список свойств.
Свойства блока группируются по связи родитель-потомок. Дочерние свойства сдвинуты вправо относительно родительских.
Если у какого-либо блока имеется незаполненное родительское свойство, которое имеет заполненное дочернее свойство, то родительское свойство выводится в список свойств, при этом для родительского свойства указывается значение <не
задано>.
Группы свойств визуально отделяются от других групп и одиночных свойств дополнительным переводом каретки. Корневые свойства (самого верхнего уровня) не отделяются друг от друга дополнительным переводом каретки.
Для базовых блоков типа «Условие» с типом условия «Сравнение» свойства блока выводятся не в виде списка, а по шаблону Сравнение: Тип_первого_операнда «Первый операнд» Операция Тип_второго_операнда «Второй операнд», где:
Тип операнда – «Параметр», если операнд является параметром. Если операнд является константой, то тип операнда не указывается.
Операнд – значение операнда или название параметра операнда.
Операция – операция сравнения операндов.
Лист «События ТМ и блоков»
Этот лист формируется при установленной галочке «Выводить тексты событий и использование параметров» и содержит тексты исходных кодов события и вычислений типового маршрута и его блоков:
Блок – Наименование и ИД прикладного блока на схеме типового маршрута;
Событие – Название события прикладного блока;
Код события – Исходный код события прикладного блока типового маршрута.
Лист «Использование параметров ТМ»
Лист содержит информацию о параметрах типового маршрута и о том, в каких свойствах и событиях, запрашиваемых параметрах типового маршрута и блоков типового маршрута эти параметры используются:
Наименование – Наименование параметра типового маршрута.
Описание – Описание параметра типового маршрута.
Тип – Тип данных параметра типового маршрута.
Свойства – Свойства параметра типового маршрута, зависящие от типа данных параметра (Справочник для типа данных «Запись справочника», список значений для типа данных «Признак» и т.д.).
Значение по умолчанию – Значение параметра типового маршрута по умолчанию.
Использование параметра – список свойств и событий прикладных блоков типового маршрута и событий типового маршрута, запрашиваемых параметров, в которых используется текущий параметр.
Мы с Юлией надеемся, что отчёт будет востребован сообществом и сэкономит ваши силы и время при работе с типовыми маршрутами. А на десерт фотография автора с тем самым маршрутом, что сподвиг на эту замечательную разработку. Теперь
мы меряем схемы в Юльках
Данный отчет полезен не только на этапе тестирования, но и сопровождения.
Задача проверить разработку за другим разработчиком и вам не хочется на схеме из 100500 блоков искать сценарии и прочие блоки с вычислениями?
Откройте лист "События ТМ и блоков" и вы увидите в одном месте все вычисления маршрута.
Задача оценить время на корректировку тем во всех заданиях и уведомлениях (или уже надо это сделать и вы не хотите что-то пропустить)?
Откройте лист "Информация по блокам" и установите фильтр по типу блока = "Задание" и "Уведомление". Так легко подсчитать количество блоков. которые необходимо изменить.
Задача изменить формулировку в инструкциях (ФИО пользователя/ ЭЦП на ЭП и многое другое)?
Откройте лист "Информация по блокам" и по ctrl+F найдите все блоки, в инструкции которых данный текст встречается.
Задача доработать маршрут, но логика основана на параметрах и вы никак не можете, в каком месте заполняется или обнуляется параметр (например "Требуется доработка")?
Откройте лист "Использование параметров ТМ" и посмотрите в каких блоках или вычислениях параметр используется.
Если это вычисления, то на листе "События ТМ и блоков" вы легко определите место, куда необходимо внести требуемые модификации.
Хочу внести свою копеечку в копилку добрых слов в пользу этого отчета. Чаще всего, при тестировании модификаций и разработки, я пользовалась содержимым листа "Информация по блокам" - столбцы "Заголовок блока ТМ", "Заполненные свойства блока" и "Результаты
выполнения блока".
"Результаты выполнения блока" - без тестового прогона ТМ давали представление о том, каких вариантов выполнения задания не хватает, какие заведены некорректно.
"Заполненные свойства блока" лично мне помогла опять же, без многократных проверок определить на каких блоках нет требования по заполнению текста задания (тогда как по ПР она должна быть), проверить соответствие темы заданий и исполнителей заданий на соответствие
ПР.
Столбец "Заголовок блока ТМ" позволял быстро оценить на каких блоках есть изменение значения определенного реквизита, влияющего на дальнейшую логику работы ТМ, а на каком оно пропущено.
Разумеется, всю эту информацию можно получить в ходе тестового прохождения типового маршрута, но здесь сводная информация по ТМ представлена в удобном виде с возможностью фильтрации по необходимому объекту тестирования (задание, сценарий, условие), табличное
представление позволяет проводить быструю оценку соответствия функционала требованиям ПР и сократить количество тестовых итераций.
Данный отчет полезен не только на этапе тестирования, но и сопровождения.
Задача проверить разработку за другим разработчиком и вам не хочется на схеме из 100500 блоков искать сценарии и прочие блоки с вычислениями?
Задача оценить время на корректировку тем во всех заданиях и уведомлениях (или уже надо это сделать и вы не хотите что-то пропустить)?
Задача изменить формулировку в инструкциях (ФИО пользователя/ ЭЦП на ЭП и многое другое)?
Задача доработать маршрут, но логика основана на параметрах и вы никак не можете, в каком месте заполняется или обнуляется параметр (например "Требуется доработка")?
Предлагаю нашим консультантам, которые опробовали отчет, поделиться опытом какие неточности маршрутов и как они определили без запуска задач
Хочу внести свою копеечку в копилку добрых слов в пользу этого отчета. Чаще всего, при тестировании модификаций и разработки, я пользовалась содержимым листа "Информация по блокам" - столбцы "Заголовок блока ТМ", "Заполненные свойства блока" и "Результаты выполнения блока".
"Результаты выполнения блока" - без тестового прогона ТМ давали представление о том, каких вариантов выполнения задания не хватает, какие заведены некорректно.
"Заполненные свойства блока" лично мне помогла опять же, без многократных проверок определить на каких блоках нет требования по заполнению текста задания (тогда как по ПР она должна быть), проверить соответствие темы заданий и исполнителей заданий на соответствие ПР.
Столбец "Заголовок блока ТМ" позволял быстро оценить на каких блоках есть изменение значения определенного реквизита, влияющего на дальнейшую логику работы ТМ, а на каком оно пропущено.
Разумеется, всю эту информацию можно получить в ходе тестового прохождения типового маршрута, но здесь сводная информация по ТМ представлена в удобном виде с возможностью фильтрации по необходимому объекту тестирования (задание, сценарий, условие), табличное представление позволяет проводить быструю оценку соответствия функционала требованиям ПР и сократить количество тестовых итераций.
Спасибо!
Авторизуйтесь, чтобы написать комментарий