В мире IT скорость разработки имеет ключевое значение. Но как внедрять новые технологии в тестирование, не теряя в качестве продукта? Об этом нам рассказал Денис Лаптов, QA Lead с многолетним опытом работы в крупных российских и международных IT-компаниях.
Вы работаете в сфере QA-тестирования. Не могли бы вы рассказать про вашу профессию и путь к ней?
— Мой путь в IT начался в компании «БАРС ГРУП» в 2012 году. За несколько лет я прошел путь от младшего специалиста по автоматизированному тестированию до лидера команды, мы работали над серьезными проектами для министерств РФ: Минфина, Минздрава, Минстроя. В «БАРС ГРУП» я не только приобрел опыт тестирования сложных систем, но и внедрил передовые технологии, а также участвовал в разработке внутренних стандартов качества ПО.
Спустя 6 лет я перешел в американскую IT-компанию, входящую в S&P 500, на позицию QA Lead. Там я сфокусировался на развитии практики тестирования в сфере computer science и работал в международных проектах для различных индустрий, от страхования до банков и финансов.
Как вы считаете, насколько сильно изменился мир тестирования за последние 5 лет? Какие новые технологии стали ключевыми в этой области?
— Мир тестирования ПО меняется невероятно быстро, подстраиваясь под стремительное развитие IT-индустрии. Тестирование уже не просто заключительный этап разработки, оно становится неотъемлемой частью всего жизненного цикла создания продукта.
За последние 5 лет произошла настоящая революция, вызванная появлением новых технологий: облачных вычислений, контейнеризации, микросервисной архитектуры. Самым значительным прорывом стало появление AI. Он уже применяется для автоматизации многих рутинных задач: генерации тест-кейсов, анализа результатов тестирования и даже написания автоматизированных тестов. Например, существуют системы, основанные на искусственном интеллекте (AI), которые могут анализировать текстовые требования к продукту, ссылки на страницы сайтов и скриншоты интерфейсов. На основе этих данных они создают релевантные тесты.
AI также широко используется для анализа результатов тестирования. Он помогает выявлять скрытые закономерности в данных, предсказывать возможные проблемы и предлагать способы их решения.
Вы, как человек, активно работающий над внедрением AI-решений в тестирование, можете ли рассказать о наиболее эффективных стратегиях, которые не просто автоматизируют процесс, но и повышают его качество?
— Внедрение AI в тестирование – это не просто автоматизация ради автоматизации. Главная цель – повысить качество продукта и ускорить его выпуск. Одна из самых эффективных стратегий – это интеграция AI с DevOps. DevOps – это методология разработки ПО, направленная на тесное сотрудничество между разработчиками и специалистами по эксплуатации, а также на автоматизацию процессов.
Сочетание DevOps и AI позволяет создать непрерывный цикл разработки, тестирования и доставки продукта, где AI играет ключевую роль в автоматизации и улучшении качества тестирования. Например, мы можем использовать AI для автоматической генерации тест-кейсов, интеллектуального отбора тестов, прогнозирования дефектов и автоматизации нагрузочного тестирования.
Многие компании опасаются, что внедрение новых технологий может привести к снижению качества. Как убедить руководство, что использование AI и других инструментов только повысит уровень тестирования?
— Страх перед новым понятен. Многие руководители компаний опасаются, что внедрение AI в тестирование может привести к снижению качества продукта, увеличению затрат и возникновению непредвиденных проблем. Чтобы убедить руководство в необходимости внедрения новых технологий, важно говорить на языке бизнеса.
Вместо технических деталей нужно продемонстрировать конкретные выгоды: сокращение времени выпуска продукта на рынок, повышение качества продукта, снижение затрат на тестирование. Также важно подчеркнуть, что внедрение AI не означает полную замену тестировщиков. AI – это инструмент, помогающий работать более эффективно.
Какие ошибки чаще всего допускают компании, внедряя новые технологии в тестирование?
— Внедрение новых технологий в тестирование – это сложный процесс, который требует тщательного планирования и оценки рисков. Часто компании допускают ошибки, которые могут привести к негативным последствиям. Например, некоторые компании внедряют технологии просто потому, что они популярны, не оценив их реальную пользу для процесса тестирования. Другие же не уделяют достаточно внимания планированию внедрения: не ставят четкие цели, не выбирают подходящие инструменты, не обучают сотрудников и не оценивают возможные риски.
Какие методы вы бы порекомендовали для предотвращения всех этих ошибок до того, как они возникнут?
— Внедрение новых технологий в тестировании должно быть взвешенным и продуманным процессом. Прежде чем бросаться в омут новых инструментов и подходов, важно проанализировать текущую ситуацию в компании и четко определить, какие именно проблемы мы хотим решить. Начинать лучше с малого, выбирая один проект или команду для пилотного внедрения. Это позволит протестировать новую технологию в реальных условиях, оценить ее эффективность, выявить возможные проблемы, не подвергая риску весь процесс разработки.
Тщательное планирование внедрения – это залог успеха. Необходимо разработать подробный план, учитывающий цели внедрения. На этом этапе важно задаться вопросом: чего именно мы хотим достичь с помощью новой технологии? Следующий шаг – выбор инструментов, которые наилучшим образом подходят для решения поставленных задач. Затем следует продумать сам процесс внедрения: важно понять, как именно будет происходить этот процесс и какие этапы предстоит пройти. Также необходимо разработать план обучения персонала, чтобы сотрудники могли эффективно работать с новой технологией. И, конечно, на этапе планирования важно оценить риски, связанные с внедрением, и спланировать меры по их минимизации.
На протяжении всего процесса важно вовлекать руководство, разработчиков, тестировщиков, специалистов по безопасности. Это позволит учесть интересы всех сторон, получить их поддержку и сделать процесс внедрения более гладким и эффективным. Нельзя забывать и о вопросах безопасности. Внедрение новых технологий может создать новые уязвимости, и важно принять меры для их минимизации.
Главный вопрос всего интервью: как не пожертвовать качеством и безопасно внедрить новые технологии в тестирование?
— Внедрение новых технологий в тестирование должно быть безопасным и эффективным. Для этого необходим комплексный подход, учитывающий множество факторов.
Важно выбрать подходящие технологии и инструменты, которые действительно помогут улучшить процесс тестирования, не создавая при этом новых проблем. Перед внедрением новых решений необходимо провести тщательное тестирование, чтобы убедиться в их надежности и безопасности. Также требуется обучить персонал работе с новыми технологиями. Обучение должно быть всесторонним и включать в себя не только технические аспекты, но и вопросы безопасности.
Какие тенденции в области тестирования будут наиболее актуальными в ближайшем будущем?
— Сфера тестирования программного обеспечения находится в постоянном развитии, и тестировщикам важно следить за новыми тенденциями. Уже сейчас можно выделить несколько ключевых направлений, которые будут определять будущее тестирования.
В первую очередь это тестирование систем, основанных на искусственном интеллекте. С появлением искусственного интеллекта у тестировщиков появились новые возможности и задачи. Теперь им необходимо разрабатывать и применять новые методы тестирования.
Еще один важный тренд -- это DevSecOps, который подчеркивает, что безопасность должна быть интегрирована во все этапы разработки программного обеспечения. Тестировщики должны активно взаимодействовать со специалистами по безопасности, чтобы обеспечить безопасность продукта.
Также стоит отметить две другие важные тенденции: тестирование в облаке и тестирование больших данных. Многие компании переходят на использование облачных платформ, поэтому тестировщикам важно уметь тестировать приложения в облачной среде. Кроме того, компании работают с большими объемами данных, и тестирование систем, обрабатывающих эти данные, становится все более актуальным.
Таким образом, автоматизация тестирования будет продолжать развиваться, и мы увидим появление новых технологий, которые позволят автоматизировать еще больше задач в процессе тестирования. DevOps и AI – это мощные инструменты, которые могут значительно улучшить процесс разработки и тестирования IT-продуктов. Однако стоит помнить, что успех зависит от того, насколько умело и грамотно они будут использоваться.
Фото: из личного архива Дениса Лаптова