Профессор одного из токийских университетов решил взять несколько уроков дзен-буддизма у известного Мастера. Придя к нему домой, он с порога начал рассказывать о том, почему он хочет брать уроки и как много он уже прочёл литературы на эту тему. Мастер пригласил его пройти в дом и предложил чаю. Профессор продолжал говорить, перечисляя книги, которые он прочёл о дзен. Мастер стал наливать чай в чашку гостя, когда чашка была полна до краёв и чай начал выливаться из неё, профессор воскликнул:
– Мастер, что вы делаете, чашка уже полная, и вода переливается через край!
– Так же, как эта чашка, – ответил Мастер, – Вы переполнены информацией. Как же я смогу показать Вам Дзен? Любое новое знание будет переливаться через край. Приходите в следующий раз – с пустой чашкой.
Начну с профессиональных компетенций тестировщиков ПО, чтобы показать, откуда взялась идея создания данного канала. На данную тему можно найти огромное количество информации на просторах «Всемирной паутины». Потому то, что я расскажу, будет не особо новым. Но... Технологии и подходы стремительно развиваются. Я бы даже сказал, кардинально. И то, что вчера было необходимым, сегодня уже оказывается недостаточным. Потому за навыками и знаниями стоит следить, развивать, пересматривать и менять.
Кроме того, у меня закрадывается ощущение, что изложенные теории по профессиональным компетенциям прекрасны, но далеки от реалий. Так и должно быть. Теории пытаются обобщить, пытаются быть универсальными. А суровые реалии вносят свои коррективы под конкретные потребности.
Мое мнение будет субъективным и не претендует на истину. Я просто поделюсь своими реалиями.
Я бы выделил три группы профессиональных компетенций, которые необходимы тестировщику ПО в экосистеме 1С:
- Знания в тестировании
- Знания программных продуктов
- Знания процессов
Начну с последнего.
Знания процессов
Под процессами я подразумеваю устоявшиеся подходы и практики разработки программного обеспечения в команде. Место тестировщика в команде. И, конечно, его обязанности.
Возможно ли научиться процессам, если до этого не имел опыта работы в IT-сфере?
Подковать себя теоретическими знаниями можно и нужно, уделив время изучению моделей и методологий разработки программного обеспечения. Это сформирует представление о таких популярных понятиях как Agile, DevOps, Scram, Kanban.
Но это не гарантирует того, что в команде разработки, в которую вы попадете, будут применяться данные модели и подходы. Особенно в чистом виде. Процесс всегда настроен под фактические показатели того, что может себе позволить компания: количество людей, их обязанности, география нахождения сотрудников, финансирование и многое другое.
Потому подготовится к процессам невозможно, их придется впитывать в процессе работы. Слушать, смотреть, понимать. Вот такая правдивая тавтология получилась: процесс впитывается в процессе.
Но обладая знаниями о методологиях и подходах, всегда можно попробовать привнести что-то новое в процессы своей команды.
Обязанности. Если вы думаете, что тестировщики целыми днями изощрёнными способами ищут ошибки в проверяемой программе, фиксируют их и напоминают разработчикам, что пора бы исправить хотя бы часть найденных ошибок, то ваш диагноз – хронический романтик! Снимайте розовые очки. Хотя, возможно, это мне не приходилось заглядывать в те двери, которые ведут в такие компании.
Спектр обязанностей тестировщиков, кроме непосредственного процесса тестирования, может быть обширным. Вновь все упирается в то, что может позволить себе компания. Тестировщики могут общаться с внешним заказчиком по внедренному функционалу, собирать требования для нового функционала, консультировать технических писателей и специалистов технической поддержки и, даже, составлять справочную информацию или техническую документацию.
Потому всегда стоит быть готовым к новому.
Знания программных продуктов
Я не случайно привел выше пример того, что тестировщики могут консультировать технических писателей, специалистов технической поддержки и составлять справочную информацию. Программные продукты фирмы «1С» и ее партнеров затрагивают разные области учета. Это сложные профессиональные инструменты. И сложны они именно своей методологией и отраслевой спецификой. Без ее понимания не получится следить за качеством программного продукта. Потому, я убежден в том, что на сегодняшний момент тестировщик экосистемы 1С должен быть еще и консультантом (методистом).
Со мной могут не согласиться. Зачем тестировщику становится методистом, если перед ним ставят конкретную задачу, постановка которой должна быть детально расписана? Отвечу вопросом на вопрос. А если не расписана? Реалии таковы, что время на разработку и тестирование ограничено, людей не хватает, а решить задач необходимо много. Где, а главное, как, в этой цепочке вставить детальное описание задачи? В лучшем случае, расскажут голосом, как должен работать разработанный функционал или внесенные исправления. Но, даже если в компании с этим все хорошо, есть тест-дизайнер или отдельно выделенный методист, карьерный рост никто не отменял. Потому, если тестировщик хочет чувствовать свой продукт, он должен его знать. Помните, как в той истории про то, как важно знать, где ударить. Хотите предвидеть и понимать на какой функционал могли повлиять внесенные в конфигурацию изменения, изучайте свой программный продукт.
И здесь со мной можно не согласиться. Есть автоматизированное тестирование, которое позволяет покрыть разными сценариями проверки весь необходимый функционал. Зачем что-то чувствовать и предугадывать? Но данные автотесты сначала надо составить. И вновь возвращаемся к методологии.
Возможно ли заранее изучить программные продукты 1С до устройства на работу?
Быстро изучить и понять, если нет практики использования любого из программных продуктов 1С, не получиться. Как я уже сказал выше, инструменты сложные и в них надо погружаться.
Если у соискателя есть опыт работы с программными продуктами 1С или есть профессиональные знания в какой-то из областей учета, то это будет хорошим преимуществом, но не панацеей. В большинстве случаев, программные продукты изучаются в процессе работы. Первое, с чего начинаются трудовые будни новичка – это погружение в программный продукт. Как минимум, через закрепленного наставника. Как максимум, через стажерскую программу. Но чаще через наставника.
Кроме того, компания старается повышать компетенции сотрудников и отправляет их на обучение, за которым следует сдача экзамена на сертификат. Для тестировщиков это сертификаты «1С:Профессионал» и «1С:Специалист-консультант» по различным прикладным решениям фирмы «1С». Причем второй сертификат повышает рейтинг самой компании. Чем больше в компании сертифицированных специалистов, тем лучше. Но, чтобы получить специалиста по конкретному программному продукту, сначала надо получить сертификат профессионала. Потому компания заинтересована отправлять своих сотрудников на обучение с последующей сдачей на соответствующий сертификат.
Это я все к тому, что учится придется много и постоянно, особенно, в начале пути. И компания будет этому способствовать: мягко, но настойчиво напоминать про отсутствие сертификатов.
Потому всегда стоит быть готовым к новому.
Знания в тестировании
В процессы погружаемся, программные продукты изучаем, а что же с профессиональными знаниями в области тестирования?
В эту область входят знания по теории тестирования ПО: принципы формирования тестовых сценариев, использование техник и методов тестирования, составление отчетов об ошибке и т.д. А также использование различных инструментов тестирования от систем отслеживания ошибок до автоматизации процессов тестирования.
В компаниях может быть четкое разделение на ручных тестировщиков и автоматизаторов тестирования. Ручные тестировщики составляют тестовые сценарии и вручную по ним проверяют новый функционал программного продукта. Далее по данным сценариям автоматизаторы пытаются автоматизировать данные проверки. И в дальнейшем уже не тратиться время на ручное тестирование, а запускаются автоматизированные тесты. Так покрывается одна из самых трудозатратных частей тестирования: регрессионное – проверка ранее протестированного функционала программы, позволяющая убедиться, что внесенные изменения не повлекли за собой появления новых ошибок в функционале, который не менялся.
Автоматизация – это написание программного кода. Автоматизатор должен уметь писать код, используя какую-то среду разработки. И это заблуждение! В экосистеме 1С созданы инструменты автоматизации процессов тестирования, которые позволяют составлять автоматизированные тесты из готовых шагов или команд как конструктор, а также умеют записывать производимые пользователем действия в программном продукте и преобразовывать их в готовые автоматизированные тесты. При этом сами автоматизированные тесты выглядят как набор понятных последовательных действий, а не программный код. Потому такой автоматизации может научиться любой ручной тестировщик. И для этого ему совершенно не нужно уметь писать программный код.
И это мое второе убеждение: на сегодняшний момент для тестировщика в экосистеме 1С уже мало применять только ручное тестирование, он должен уметь работать хотя бы с одним современным инструментом автоматизации тестирования.
Этой группе профессиональных компетенций можно и нужно учиться до размещения резюме. Они повысят ваш уровень как специалиста.
И вот я дошел до основной идеи и цели данного канала: показать, что в экосистеме 1С автоматизация процессов тестирования гораздо проще, чем кажется и для этого необязательно уметь писать программный код. Необходимо только изучить современные инструменты автоматизации.
Об этом мы с вами и будем говорить. Ну что, готовы к новому?
Основные мысли, которые хотел донести:
- Тестирование в экосистеме 1С – это открытие себя новому на постоянной основе.
- К процессам можно быть подготовленным теоретически, но понимать и применять можно только в процессе взаимодействия в команде.
- Тестировщики занимаются не только проверкой качества программного продукта, а могут выполнять и другие сопутствующие обязанности.
- Тестировщик должен хорошо знать проверяемый программный продукт. Быть методистом.
- Тестировщик должен уметь применять инструменты автоматизированного тестирования.
- Автоматизатор тестов необязательно должен уметь писать код.
- Учиться придется много и постоянно. Потому приходите с пустой чашкой!