Как написать инструкцию к 1С, которая одновременно тест, тренажер и документация?

В этом видео мы разберем, как писать инструкции-тренажеры для пользователей (такие, чтобы по ним они ТОЧНО научились работать, с проверкой и всеми делами) – без дополнительных затрат времени.

Как это работает:

1. Пишем за 20 минут тест, используем в ходе разработки, а потом – voi la – и превращаем его в интерактивную документацию-тренажер.

2. Даем в шаловливые руки сотрудникам – и эта инструкция покажет и заставит его делать все операции правильно и в правильном порядке.

3. В качестве бонуса – и видим, кто научился работать, а кто нет, с какой попытки, кто еще косячит, а кого уже можно допустить к работе.

Где это нужно?

Взглянем на две типовые ситуации – с похожими проблемами на практике сталкивались многие :)

Пользователи не читают инструкции и «роняют» систему

Классика – распределенный офис, большое число сотрудников, пользователи/администраторы в разных городах (ну, для примера, розничная сеть).

Разработчики загружены по уши – «Надо срочно сделать эту акцию еще вчера, времени нет, конкуренты уже анонсировали такую акцию, и у нас должно быть похожее».

А потом все падает.

Почему? Потому что до инструкций толковых не дойти, проблематично это вообще запустить хоть как-то, а кассиры, не разобравшись, начинают бить по клавишам наугад. Пара неудачных кликов – и система упала.

Система обновляется, а пользователи не в курсе изменений

Мы что-то дорабатываем – и не всегда своевременно оповещаем об изменениях. А клиент иногда теряется в программе, что-то забывает, стоит поменяться панелям местами – уже не знает, что делать. Спросить стесняется – вдруг опять что-то вылетело из памяти, а не изменилось/сломалось на нашей стороне. И в итоге у клиента уходят часы, чтобы разобраться самостоятельно…

Людей, которые что-то забыли или боятся/стесняются/стыдятся подойти и спросить 10 раз, немало. Программисты что-то опять сдвинули, справка не актуальна – пользователи пытаются сами понять, тратят на это рабочее время, нервничают, ненавидят программистов/программы/компанию и т.д.

Что же общего между этими двумя историями?

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

Да, пользователи «такие»… И никто не любит читать инструкции.

Но крайними будут те, кто не обеспечил понимание.

Дело даже не в написании инструкции на 100500 страниц. Нужно ведь не просто дать инструкцию: важно убедиться, что кассиры ее не по диагонали посмотрели, а внимательно прочитали и попробовали воспроизвести. Заставить сделать несколько раз, до выработки навыка – и только потом пускать в работу.

Но на это времени нет. Писать инструкции традиционным способом – слишком долго.

Альтернатива

От Леонида Паутова (основной разработчик/создатель Vanessa Automation) мы узнали о появлении новой интерактивной справки. Но, честно говоря, не сразу оценили этот функционал.

Затем начали добавляться «повествовательные» справки: нажимаете F5 – и система вас ведет по всем кнопочкам, поясняет голосом, текстом, выделяет квадратиком, затемняет фон и прочее. В нашей команде это вызвало эффект «вау!!!». Но все равно чего-то не хватало.

Что делать, если человек не успел заметить что-то? Надо воспроизводить сценарий с самого начала, так как непонятно, что сейчас на экране?

Вспомните, как Вы рассказываете что-то клиентам, например, как создать новый товар:

  1. Нажмите слева на раздел «Продажи», появится панель функций текущего раздела, нажмите там гиперссылку «Товары»
  2. Когда откроется список товаров, нажмите на команду «Создать»
  3. Далее, вы увидите поля – «Наименование», «Вид товара» и т.д. Заполните их
  4. Нажмите команду «Записать и закрыть», и у вас в списке товаров будет ваш товар.

В идеале – этот текст сопровождается какими-то скринами, которые отличаются от того, что у клиента на компьютере, плюс, нередко инструкцию пишут по памяти, а потом ищи-свищи описанные гиперссылки – в интерфейсе.

Знакомо?

И тут – бинго: это же реально сценарий! Сценарий готового теста.

Единственное, в чем было отличие – надо было научить Vanessa Automation ждать действия от пользователя.

Решение всех проблем

И буквально в течение дня (не без помощи Леонида) был сделан вот такой прототип:

#language: ru
@tree
Функционал: Создание нового товара.
Переменные:
    ЗаголовокПодсистемыПродаж = {!Metadata.Subsystems.SalesAR.Synonym}
    ИмяСправочникаТоваров = {!Metadata.Catalogs.Items.Synonym}
    ИмяОбъектаТоваров = {!Metadata.Catalogs.Items.ObjectPresentation}
    ТекстОткрытьПодсистемуПродаж = {НСтр("ru='Для начала - откройте подсистему $ЗаголовокПодсистемыПродаж$'; en='To get started - open the subsystem $ЗаголовокПодсистемыПродаж$'")}
    ТекстОткрытьСправочникТоваров = {НСтр("ru='Теперь откройте справочник $ИмяСправочникаТоваров$'; en='Now open catalog $ИмяСправочникаТоваров$'")}
    ТекстСозданиеСправочникТоваров = {НСтр("ru='Далее, надо создать новый элемент справочника'; en='Next, you need to create a new item'")}
 
    ТекстВведитеНаименованиеТоваров = {НСтр("ru='В это поле необходимо ввести Наименование товара'; en='In this field you must enter Description of the product'")}
    ТекстВидНоменклатурыТоваров = {НСтр("ru='Необходимо выбрать Вид товара'; en='You have to select Product Type'")}
    ТекстУкажитеЕдиницуИзмеренияТоваров = {НСтр("ru='Необходимо выбрать Единицу измерения товара'; en='You have to select The Unit of Measure for the Item'")}
    ТекстСохранитьТоваров = {НСтр("ru='После этого - необходимо сохранить элемент справочника'; en='After that - you need to save the reference item'")}

Сценарий: Нажмите на подсистему
	И я ожидаю нажатие на элемент с именем "$ЗаголовокПодсистемыПродаж$" и типом "TabItem" показывая текст "$ТекстОткрытьПодсистемуПродаж$" пока не появится элемент с именем "$ИмяСправочникаТоваров$" и типом "MenuItem"
	
	И я ожидаю нажатие на элемент с именем "$ИмяСправочникаТоваров$" и типом "MenuItem" показывая текст "$ТекстОткрытьСправочникТоваров$" пока не появится элемент с именем "$ИмяСправочникаТоваров$" и типом "Pane"
	
	И я ожидаю нажатие на элемент с именем "Create" и типом "Button" показывая текст "$ТекстСозданиеСправочникТоваров$" пока не появится элемент с именем "$ИмяОбъектаТоваров$ (create)" и типом "Pane"

	И Пауза 1

	И я делаю эффект затемнения у элементов формы UI Automation "ЭтотСеанс"
		| 'Имя/ID' | 'Тип' |
		| 'ENG'    | 'Edit'|
		
		| 'Имя'      | 'Значение'  |
		| 'text'     | '$ТекстВведитеНаименованиеТоваров$' |
		| 'duration' | 4000       |
	И Пауза 4	

	И я делаю эффект затемнения у элементов формы UI Automation "ЭтотСеанс"
		| 'Имя/ID' | 'Тип' |
		| 'Item type'    | 'ComboBox'|
		
		| 'Имя'      | 'Значение'  |
		| 'text'     | '$ТекстВидНоменклатурыТоваров$' |
		| 'duration' | 4000       |
	И Пауза 4	

	И я делаю эффект затемнения у элементов формы UI Automation "ЭтотСеанс"
		| 'Имя/ID' | 'Тип' |
		| 'Unit'    | 'ComboBox'|
		
		| 'Имя'      | 'Значение'  |
		| 'text'     | '$ТекстУкажитеЕдиницуИзмеренияТоваров$' |
		| 'duration' | 4000       |
	И Пауза 4	

	И я делаю эффект затемнения у элементов формы UI Automation "ЭтотСеанс"
		| 'Имя/ID' | 'Тип' |
		| 'Save and close'    | 'Button'|
		
		| 'Имя'      | 'Значение'  |
		| 'text'     | '$ТекстСохранитьТоваров$' |
		| 'duration' | 4000       |
	И Пауза 4

Как это работает и выглядит – мы покажем в видео ниже.

Как это выглядит?

Тайминг ключевых моментов видео:

00:12 – показываем, как работает интерактивная справка
01:34 – как работает интерактивная справка в интерфейсе на другом языке
02:42 – пример работы интерактивного тренажера для обучения
04:20 – изменяем сценарий интерактивной справки.

Что это нам всем дает:

  1. Инструкция-тест на Vanessa Automation сама показывает, что нажать, где и что должно быть в итоге.
  2. Если пользователям сложно / непонятно / страшно / просто лень, то консультанты могут по такому сценарию рассказать пользователю: куда нажать, что должно появится дальше, за какие функции какие поля отвечают.
  3. Это – тест, можно запускать эту документацию на своей базе именно как тест.
  4. Легко получить ответ на главный вопрос – когда надо обновлять документацию? Ответ простой: когда тест упал, тогда и надо обновлять. Четко и понятно :)
  5. Мы можем реально мониторить процесс обучения (и момент окончания обучения) наших сотрудников – достаточно добавить последний шаг, где зафиксировать: такой-то пользователь прошел сценарий до конца. Развернуть шаблонную базу и проводить там обучение – а тем, кто не прошел, блокируем доступ в базу, чтобы не начудили. Шутка. Хотя…

Вместо заключения

Да, технология пока новая и требуются еще время на доработки. Скорее всего, будут полезны: возможность диалога, кнопки Далее и Назад. Но такие вещи не появляются в один миг, а развиваются постепенно.

Так что советуем присмотреться к этой технологии и просто «поиграть» в нее. Возможно, для вас (как и для нас) – это станет быстрым и удобным решением рутинных и порой крайне скучных задач :)

Новый курс про автоматическое обнаружение ошибок!
Программа, стоимость, условия и регистрация в первую группу: Сценарное тестирование в 1С: настройка и практика использования

Комментарии / обсуждение (4):

  1. MR.DK

    Пробовал воспроизвести на конфигурации Demo IRP, VA 1.2.038.1
    Первое что пришлось исправлять в листинге – это объявление переменных оборачивать в кавычки. Например вместо
    {!Metadata.Subsystems.SalesAR.Synonym}
    должно быть
    ‘{!Metadata.Subsystems.SalesAR.Synonym}’

    Иначе сценарий не стартует с ошибкой
    “Выполнение сценариев закончено. БЫЛИ ОШИБКИ.”

    Далее перед каждым ожиданием хорошо бы добавить строку

    И я вижу элемент с именем '$ЗаголовокПодсистемыПродаж$'

    Так как у меня не получилось выполнить сценарий – система не видит элемента и подвисает намертво

    • Поддержка курса по EDT

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

  2. Николай

    Как настраивать эти сценарии описано в курсе сценарное тестирование или где?

    • Поддержка курса по тестированию

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.