Интервью TAdviser с исполнительным директором компании «Аплана» Петром Можаевым
На вопросы TAdviser по рынку тестирования программных продуктов ответил Пётр Можаев, исполнительный директор компании «Аплана».
Тестирование ПО – сегмент довольно специфический. В какой степени это направление связано с проверкой функционала решений? Проверкой качества программного кода?
Пётр Можаев: Тестирование ПО как бизнес-направление нашей компании в первую очередь связано с качеством реализации требований заказчика к информационным системам. Зачастую нам даже не требуется знать, на каком языке написано тестируемое программное приложение, какие программно-аппаратные средства используются для его работы. Согласно принятой среди специалистов терминологии, это называется тестированием методом «черного ящика». В данном случае специалист работает с приложением как рядовой пользователь – смотрит на интерфейс, читает описание требований, проверяет функционал приложения. Тестирование по методу «серого ящика» предполагает частичное представление о том, как именно работает тестируемый продукт c точки зрения «невидимой» части приложения. Это надо учитывать при разработке тестовых наборов и данных. Чаще всего второй метод используется совместно с методом «черного ящика» в проектах по интеграционному тестированию, когда проверяется не автономное приложение, а набор взаимосвязанных компонентов или систем, web-сервисы, файлы, и мы разбираемся в том числе в структуре и формате циркулирующих данных. Проверкой качества программного кода (метод «белого ящика»), когда процесс отслеживается на уровне пошагового исполнения операторов, мы практически не занимаемся, такие задачи в большинстве случаев выполняют сами разработчики программных продуктов.
Какую эволюцию за 15 лет существования компании прошел сегмент тестирования ПО как составная часть российского ИТ-рынка? Стал ли заказчик лучше понимать ценность тестирования своей программной среды сторонней специализированной компанией?
Пётр Можаев: 15 лет назад российский рынок аутсорсинга – как в целом, так и в части услуг контроля качества программных продуктов – был слабо развит. Сегодня, несмотря на определенное отставание от Запада, российский рынок тестирования стал намного более зрелым. Увеличилось количество компаний, специализирующихся на предоставлении услуг по контролю качества ПО. Если в первые годы формирования рынка таких игроков были единицы, то сегодня – десятки. Таким образом, рынок стал более насыщенным, конкурентным, у заказчика появилась большая свобода в части выбора подрядчиков для проведения работ по тестированию ИТ-решений. В лучшую сторону изменилось и отношение заказчика к аутсорсингу данного вида работ. Сегодня уже не требуется объяснять клиенту азы аутсорсинга: почему нужно привлекать стороннюю организацию, какие преимущества дает данная схема сотрудничества, какие подводные камни могут встретиться. Все это заказчик уже знает сам.
Портфель выполненных Вашей компанией проектов удивляет разнообразием задач - проверка интернет-банка на соответствие функциональным требованиям, тестирование мобильного приложения с задачей повышения узнаваемости бренда медицинского препарата, тестирование государственного земельного кадастра... Для вас действительно не имеет значение, какое именно ПО нужно протестировать? Беретесь за любую задачу?
Пётр Можаев: Мы не проводим границу по области применения тестируемых приложений, но у нас есть определённая специализация. Заказчиков мы ранжируем по объему бизнеса и критичности ИТ-систем для ключевого бизнеса клиента. Как известно, критически важны ИТ-решения для представителей финансового сектора, телекоммуникационной отрасли, ритейла и FMCG (они же – товары массового потребления). Соответственно, львиную долю своих проектов мы реализуем в сфере финансов. Подчеркну, что наши специалисты, работающие на основном направлении, обладают знаниями не только в области ИТ, но также разбираются в той отрасли, для которой предназначено тестируемое приложение. Если же мы приступаем к реализации проекта в мало знакомой для нас области, это просто требует дополнительного времени для погружения специалистов в предметную часть, но с точки зрения организации и проведения самого процесса тестирования большой разницы нет.
Сами специалисты по тестированию, видимо, тоже ранжируются по степени квалификации?
Пётр Можаев: Безусловно. В нашем деле существует определенная профессиональная градация - начиная от стажера, младшего тестировщика и так далее, вплоть до ведущих специалистов («тест-лидов») и руководителей проектов. Для более эффективной подготовки специалистов и их проектного ориентирования несколько лет назад мы запустили и активно развиваем собственный «Корпоративный Университет», в рамках которого наши специалисты обучаются на курсах различной тематики и направленности.
Насколько сильно повлияли на рынок тестирования ПО кризисные явления 2014-2015 годов? В чем это проявилось?
Пётр Можаев: Кризисные явления привели к необходимости оптимизации нашего бизнеса. Дело в том, что затраты (в первую очередь, это заработная плата специалистов) продолжают расти, несмотря на кризис. При этом бюджеты заказчиков не увеличились, в отдельных случаях даже сократились. Соответственно, маржинальность проектов снижается, и чтобы продолжать эффективно работать на высококонкурентном рынке, нам приходится оптимизировать структуру расходов. Еще одно важное изменение – на рынке прошла эйфория от аутсорсинга, когда на откуп сторонним компаниям отдавалось очень многое. Заказчики стали возрождать собственные центры по тестированию, формировать у себя коллективы специалистов с ключевыми ИТ-компетенциями, управляющие работой подрядчиков в соответствии со своей специализацией. Это позволяет компании не привязываться к одному аутсорсеру и гибко контролировать процессы контроля качества.
За счет чего выполняется оптимизация бизнеса вашей компании?
Пётр Можаев: Развитие бизнеса требует более интенсивного рекрутинга. В последнее время мы изменили подходы к развитию сотрудников. С учетом того, что пригласить достаточное число сложившихся специалистов довольно сложно, мы охотно берем новичков – стажеров, инвестируя в их обучение. Да, на первых порах новички работают чуть менее эффективно, чем опытные сотрудники (согласно нашим данным, на 20-40%), но их стоимость как специалистов на начальном этапе сравнительно невысока, что позволяет удерживать маржинальность проектов на приемлемом уровне. Это понимают и принимают наши заказчики. В одной команде с опытными специалистами молодые тестировщики быстро набираются опыта, а внутреннее обучение способствует развитию необходимых компетенций.
Вы обычно тестируете системы на этапе внедрения или уже введенные в промышленную эксплуатацию?
Пётр Можаев: Для тестирования всегда создаётся отдельная среда, на которой развёрнута копия приложения. В исключительных случаях тестирование (чаще всего нагрузочное) проводится на «боевом» контуре, но даже в этом случае на время испытаний контур становится тестовым. На каком именно этапе осуществляется тестирование – зависит от конкретного проекта. Мы выстраиваем продолжительные отношения с заказчиком. Поэтому, если, например, мы участвуем в процессе разработки и внедрения новой информационной системы, наша цель не просто проверить решение на соответствие функциональным требованиям, помочь поставить его в промышленную эксплуатацию и уйти. Важно, чтобы заказчик убедился в том, что наше участие позволило ему сократить риски, которые он берет на себя, внедряя новую систему, и помогло ускорить ее внедрение. Поэтому мы стараемся помогать заказчику и дальше, на протяжении всего жизненного цикла приложения, по мере его развития, доработки, появления новых релизов с обновлениями.
Собственную тестовую среду могут позволить себе только крупные заказчики…
Пётр Можаев: Мы и работаем только с крупными заказчиками. Наши профильные клиенты – компании сегмента Enterprise. Вообще, аутсорсинг услуг контроля качества в основном используют именно такие компании.
Заключаются ли с клиентами долгосрочные SLA?
Пётр Можаев: Да, в последнее время это стало общей практикой. Еще лет пять назад заключение долгосрочных соглашений об уровне услуг считалось экзотикой, а сегодня у нас есть SLA практически со всеми клиентами. Отмечу, что в этих соглашениях в числе прочего фиксируются и штрафы, которые мы выплачиваем в случае пропуска критически важных дефектов тестируемой системы.
Какой инструментарий используется для тестирования?
Пётр Можаев: Есть два основных класса инструментов для тестирования – средства автоматизации тестирования (функционального и нагрузочного) и средства управления тестированием. В плане автоматизации мы используем самые разные инструменты, в общем случае это зависит от возможностей того или иного инструмента, а также от предпочтений наших заказчиков. В нашем портфеле есть и многофункциональные продукты от крупных вендоров (IBM, HP, Microsoft), и инструментарий других разработчиков – зачастую с ограниченной по сравнению с решениями крупных производителей функциональностью, и даже бесплатные программы (на базе OpenSource). В линейке продуктов для управления процессом тестирования расклад примерно такой же: представлены инструменты от крупных вендоров, средства с функционалом попроще, позволяющие упорядочить процесс управления, и есть совсем простые бесплатные инструменты.
Расскажите подробнее про ограничения по функционалу некоторых инструментов тестирования – с чем они связаны?
Пётр Можаев: Ограничения связаны в основном с возможностями работы с различными классами приложений. Если это приложения для нагрузочного тестирования, то необходимо оценить возможность перехвата трафика инструментом нагрузочного тестирования. Если это приложение для автоматизированного функционального тестирования, то здесь речь идет о возможностях работы с компонентами пользовательского интерфейса – способен ли инструмент распознавать их? Если у заказчика есть некий экзотичный софт, который поддерживается лишь одним инструментом тестирования, – то выбирать инструментарий не приходится. Если решение создано на стандартной платформе, тогда, как правило, можно обойтись и бесплатными средствами тестирования. В конечном итоге при выборе инструментов все зависит от того, какие поставлены задачи. Если требуется произвести полноценное исследование производительности приложения, программно-аппаратной конфигурации, изучить все составляющие процесса, сервера – в этом случае бесплатным инструментом, скорее всего, не обойтись. Как минимум, придется использовать профессиональное средство администрирования, чтобы отследить все параметры производительности. В ряде случаев мы разрабатываем собственные инструменты для тестирования, в особенности, если речь идёт о тестировании интеграционного взаимодействия, например, Web-сервисов.
Видимо, чтобы правильно выбрать инструмент тестирования, требуется провести предварительный аудит ИТ-ландшафта компании…
Пётр Можаев: Да, и мы это тоже делаем. Специальное подразделение компании – Центр консалтинга – проводит подобные работы для наших клиентов. Аудит позволяет определить эффективность использования ИТ-систем заказчика, оценить зрелость бизнес-процессов и разработать план мероприятий по совершенствованию ИТ-деятельности. Объекты и методика подбираются под специфику и цели каждого заказчика, и многие ценят такой нешаблонный подход.
Имеются ли различия в подходах к выполнению проектов по тестированию в западной компании и в российской?
Пётр Можаев: Различия есть и довольно существенные. В западных проектах роль тестировщика четко очерчена, она ограничена решением определенного набора задач, выполнения никаких дополнительных работ не требуется. В проектах, реализуемых в российских компаниях, от специалиста по тестированию зачастую, помимо собственно разработки тестового скрипта или выполнения тестов, требуется уточнять требования, настраивать серверы, выполнять ряд других сопутствующих работ.
Какие изменения в вашем портфеле заказов произошли в 2015 году?
Пётр Можаев: В 2015 году нам удалось расширить круг клиентов. Так, мы выиграли крупный конкурс на тестирование информационных систем в телекоммуникационной компании Yota, запустили интересный проект в независимой лаборатории ИНВИТРО. В крупной международной компании был выполнен проект по внедрению облачной интеграционной шины Dell Boomi, в рамках которого было проведено нагрузочное тестирование дата-центров Dell.
Таким образом, помимо основного направления бизнеса – тестирования – компания реализует и внедренческие проекты?
Пётр Можаев: Действительно, главный «кит», на котором стоит бизнес компании «Аплана» - это сфера тестирования. На нее приходится порядка 80% объема оказываемых услуг. Два менее крупных «кита» - консалтинг и сопровождение. Центр консалтинга нашей компании, опираясь на передовые практики, предлагает эффективные решения для реализации бизнес-задач различного уровня сложности. Мы специализируемся не только на аудите ИТ-систем, также мы оптимизируем бизнес-процессы, помогаем актуализировать и разрабатывать с нуля методологии, совершенствуем процессы корпоративной разработки. Центр сопровождения «Апланы», как правило, участвует в проектах внедрения ИТ-систем, когда требуется интеграция различного, в том числе редкого ПО. Например, заказчику необходимо интегрировать решение HP с приложением Redmine. Вендор такими работами заниматься не будет, сообщество СПО – тоже, но для заказчика это критично, и мы приходим на помощь.
Какие дополнительные возможности для тестирования предоставляют облачные технологии?
Пётр Можаев: Как известно, основные направления облачных сервисов – это IaaS, PaaS и SaaS. Инфраструктура как сервис (IaaS) помогает при нагрузочном тестировании, когда заказчику требуется определенная аппаратная платформа на короткий период, чтобы проверить производительность приложения на конкретном наборе аппаратных средств. Очевидно, что покупать оборудование для проведения одного испытания нецелесообразно, а взять в аренду проще, удобней и выгодней. Тестирование в области SaaS пока отстает, хотя на рынке уже есть примеры, когда инструменты тестирования предлагаются как облачные решения (например, это делает IBM). Думаю, что и другие вендоры в скором будущем выведут на рынок эффективные средства тестирования по облачной модели.
Каким Вам видится российский рынок в контексте мировых тенденций?
Пётр Можаев: Российский рынок тестирования идет в фарватере североамериканского и западноевропейского рынков. Соответственно, чтобы с довольно высокой точностью спрогнозировать состояние нашего рынка через два-три года, надо посмотреть, что сегодня происходит на Западе. Что интересно, там решения на площадке клиента (on-premise) в сегменте Enterprise в значительной степени (примерно на 50%) уже заменены облачными решениями. В сегменте СМБ, судя по всему, проникновение облаков еще выше. На российском рынке проникновение облачных технологий пока значительно ниже, чем на Западе, и оценивается на уровне 5-10%. Но в перспективе, можно прогнозировать, что решения на площадках российских заказчиков также будут вытесняться облачными сервисами.
Какие инновационные технологии можно ожидать на рынке тестирования ПО?
Пётр Можаев: В прессе время от времени появляется информация о возможном создании инструментов разработки ПО, которые изначально будут содержать возможность проверки кода, в том числе – функциональных требований к разрабатываемому ПО. Но пока это все на уровне разговоров. Мне лично сложно представить, каким образом подобное решение можно реализовать на практике. На мой взгляд, пока не предвидится появления на рынке некоего универсального инструмента тестирования ПО, который привел бы к отмиранию проверки качества программных продуктов как отдельного направления бизнеса. Стоимость разработки теста достаточно высока, а функционал, который целесообразно автоматизировать, сравнительно узок. Все программные продукты и информационные системы, которые разрабатываются и внедряются на рынке, приходится тестировать вручную, от этого пока никуда не уйти.