И аналитик, и тестировщик
Перед тем как обсуждать обучение команды автоматизированному тестированию на 1С, стоит рассмотреть общую ситуацию с тестированием в этой среде. В целом тестировщик программного обеспечения — распространенная профессия в мире IT. В интернете вы найдете тысячи курсов и гайдов. Но попробуйте сузить запрос до тестирования платформы 1С, и вы увидите, что вариантов станет намного меньше.
Но разве принципы тестирования не универсальны? Недостаточно освоить базовые методики, чтобы использовать их применительно к любой задаче? Отчасти это правда: человек, обладающий фундаментальными знаниями, сможет адаптировать их под конкретную платформу. Но в реальности ситуация обстоит сложнее.
В компаниях, специализирующихся на разработке и внедрении решений на 1С, редко существует выделенный отдел тестирования. Это связано с особенностями 1С-проектов: чаще всего они представляют собой внедрения единой системы, и эти проекты могут длиться около полутора лет. В отличие от IT-компаний, разрабатывающих множество продуктов за короткий срок, в 1С-среде обязанности по тестированию обычно возлагаются на аналитиков, которые изначально разрабатывают техническую документацию.
Возникает логичный вопрос: если аналитик не обладает специализированными знаниями по тестированию, насколько качественно он сможет выполнить эту работу? Конечно, у каждого человека есть интуитивные навыки тестирования. Например, прежде чем запустить посудомоечную машину, мы проверяем, залито ли специальное средство, правильно ли расставлена посуда и та ли программа выбрана, — мы проводим тестирование, опираясь на свой опыт, даже если сами этого не осознаем. Аналитики 1С часто проверяют реализованную функциональность аналогичным образом: на основе полученных ранее знаний. Однако у каждого этот уровень разный, а значит, и качество тестирования может существенно различаться.
Поэтому, что касается 1С, необходимо отдельно обучать тестированию. Я рекомендую начинать с основ: разбираться, что такое тестирование, какие этапы оно включает и где применяется в жизненном цикле программного обеспечения. Когда все участники команды поймут принципы работы и смогут говорить на одном языке, можно переходить к следующему шагу — автоматизированному тестированию.
Автоматизация тестирования на 1С: обучение внутри компании
Если азы тестирования можно изучить где угодно, то методы автоматизации тестирования на 1С лучше осваивать внутри компании. Во-первых, эта область в 1С пока не настолько развита, и целиком полагаться на сторонние курсы не стоит. Во-вторых, автоматизированное тестирование на платформе 1С может быть реализовано разными фреймворками. Нет однозначного ответа, какой из них лучше. Если сотрудники будут изучать их самостоятельно, это может привести к хаосу. Без совместного обучения и единой методологии не будет целостного подхода к тестированию.
Автоматизированное тестирование, как и программирование, имеет свои стандарты, принципы и лучшие практики. Поэтому внутрикорпоративное обучение в этой области особенно важно.
Как организовать обучение?
Когда-то я тоже только начинал заниматься автоматизированным тестированием, поэтому в полной мере осознаю, что чувствуют студенты, и теперь лучше понимаю, как должен выглядеть по-настоящему эффективный процесс обучения. На опыте самостоятельного поиска информации в Сети я убедился, что без наставника и персонального разбора ошибок сложно развиваться в этой области. Я прошел несколько курсов с обратной связью и, освоив материал, начал помогать коллегам. Позже мы приняли решение запустить корпоративный курс обучения аналитиков автоматизированному тестированию.
В программу курса включили следующие модули:
1. Основы работы с Vanessa-Automation — основным фреймворком тестирования в нашей компании.
2. Изучение языка Gherkin и его адаптации TurboGherkin:
- структура фича-файла;
- групповые шаги;
- переменные (локальные и глобальные);
- экспортные сценарии;
- структура сценариев;
- конструкции условия, цикла, попытки/исключения.
3. Процесс командного тестирования с использованием Git, GitLab и Visual Studio Code.
4. Практическое тестирование: от простых кейсов к сложным сценариям.
5. Анализ результатов тестирования с применением отчетов Allure.
6. Разработка видеоинструкций с помощью Vanessa-Automation.
Каждый модуль занимает неделю, всего курс рассчитан на 1,5 месяца. Группы формируются из 10–12 человек, что позволяет эффективно проверять задания и лично давать обратную связь. Без детального анализа работ обучение теряет смысл: нюансов в тестировании очень много, и их можно освоить только на практике под руководством опытного специалиста.
Особенности тестирования 1С
Рассмотрим пример. Нужно автоматизировать тестирование создания документа «Поступление денег». В Vanessa-Automation можно записать сценарий действий пользователя, но появится первая проблема: проверка наличия документа в базе автоматически не фиксируется. При ручном тестировании аналитик сам убедился бы в этом, но как поступить при автоматизации?
Решение в следующем: нужно вручную добавить в сценарий шаги проверки. Однако и здесь есть подводные камни: например, специфическое отображение даты. В системе для пунктов со временем в промежутке между полуночью и десятью утра формат даты может отличаться от стандартного из-за дополнительных пробелов в представлении. Между датой и временем — два пробела:

При этом в списке документов представление значения поля «Дата» отображается с одним пробелом:

Если не учесть этот момент, тесты будут падать без видимой причины. Опытный тестировщик сможет заметить и исправить эту ошибку: разработать сценарий таким образом, чтобы он был независим от времени выполнения. Для этого нужно сохранить значение поля «Дата» в переменную «ДатаДокументаИсходная» (см. строку 31 на скриншоте ниже), а далее значение переменной «ДатаДокументаИсходная» преобразовать в нужный нам вид и сохранить в переменную «ДатаДокумента». Для преобразования значения можно использовать методы работы с датой либо методы работы со строкой на языке 1С (см. строку 32).

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