Разделы портала

Онлайн-тренинги

.
Говорят эксперты: 5 тенденций, влияющих на будущее тестирования
14.11.2017 11:10

Оригинал статьи: https://www.qasymphony.com/blog/5-trends-future-software-testing/

Перевод: Ольга Алифанова

Начнем с констатации факта: в тестировании грядут колоссальные перемены. Строго говоря, эти перемены серьезнее любых других изменений в индустрии, с которыми мы сталкивались ранее. Что за ними стоит? Чего ожидать тестировщикам?

За ответами на эти вопросы мы обратились к 12 уважаемым, опытным лидерам мнений в области тестирования:

  1. Джо Колантонио, основатель TestTalks & GuildConferences
  2. Энджи Джонс, ведущий инженер по тестированию Twitter
  3. Бобби Смит, директор R&D в QASymphony
  4. Кит Клайн, исполнительный директор и руководитель QA-подразделения Tekmark Global Solutions
  5. Пол Меррил, ведущий инженер по тестированию и основатель Beaufort Fairmont
  6. Кевин Данн, вице-президент по бизнес-разработке и стратегии QASymphony
  7. Брэндон Ципес, вице-президент DevOps в CPrime
  8. Джозеф Ауэрс, Руководитель QA и тестирования в Centric Consulting
  9. Райан Якель, директор продуктового маркетинга в QASymphony
  10. Маш Хонда, вице-президент по тестированию в KMS Technology
  11. Сума Дэниэл, тест-аналитик в Forty8fifty
  12. Сунил Сегал, партнер TechArcis Solutions

За кулисами перемен в индустрии тестирования стоят как внешние, так и внутренние, отраслевые факторы. Давайте разберемся подробнее.

Внешние факторы, влияющие на перемены в тестировании

Наиболее значимые тенденции, повлиявшие на тестирование:

  • Рост использования технологий в повседневной жизни как среди обычных пользователей, так и в бизнесе. Согласно отчету App Annie за 2017 год мы в среднем используем девять приложений ежедневно, и это только на смартфонах – подумайте, как вырастет это число, если подсчитать все технологии, к которым мы ежедневно прибегаем.
  • Рост ожиданий от качества пользовательского опыта. К примеру, TechBeacon выяснил, что 49% от пользователей ожидают, что время отклика приложения составит 2 или менее секунды, а 80% пользователей не будут пользоваться проблемным приложением более трех раз.
  • Запросы на новое ПО и улучшения существующего быстро выходят на рынок. Уместно вспомнить прецедент Amazon, которая выпустила 50 миллионов релизов кода за год — больше одного релиза в секунду – и способность модели DevOps релизиться в 30 раз быстрее.

Вместе взятые, эти перемены превратили все компании вне зависимости от их основного бизнеса в технологичные корпорации. По прогнозам IDC мировой рынок интернета вещей достигнет 7,1 миллиарда долларов к 2020 году – то есть практически каждой компании придется так или иначе связаться с разработкой и тестированием.

Внутренние факторы, влияющие на перемены в тестировании

В то время, пока внешние факторы давят на команды тестирования, помогающие создавать высококачественные продукты как можно быстрее, в игру вступают и некоторые внутренние факторы:

  • Развитие технологических решений, поддерживающих цикл разработки ПО. Как гласит наш график SDLC-2017, в настоящий момент существует почти полторы тысячи инструментов от сотен различных компаний, использующихся тестровщиками в процессе разработки. Если неправильно их использовать, это только сильнее усложнит процесс тестирования.
  • Расцвет Agile и DevOps. Эти подходы меняют то, где, как и с кем тестировщикам приходится работать, и серьезно влияют на культурные аспекты команд тестирования. Эти подходы будут применяться все шире, и уже сейчас их использует очень много компаний. VersionOne обнаружили, что 95% компаний применяют Agile хотя бы частично (на момент 2016 года), а судя по отчетам RightScale, DevOps применяется в 74% организаций. Тестировщики должны уметь адаптироваться к этим переменам.
  • Сдвиг акцента с ручного на автоматическое тестирование: тестировщикам приходится осваивать совершенно новые навыки. Автоматизация быстро становится подходом "по умолчанию" во многих ситуациях, однако здесь очень важно найти правильный баланс между ручным и автоматизированным тестированием. Даже с учетом перехода в более технологичный мир взгляд живого человека все еще очень важен.

Чего ожидать: пять прогнозов о будущем тестирования

В целом эти перемены – внешние и внутренние – сделали область тестирования крайне переменчивой. Многое уже поменялось, и многому еще предстоит измениться. Чего же нам ожидать от тестирования в будущем, как к этому будущему подготовиться? Вот что говорят по этому поводу эксперты:

1) Будущее за автоматизацией (или, как минимум, ее важность сильно возрастет)

Все эксперты сходятся во мнении, что автоматизация станет очень важной частью тестирования. Однако они по-разному оценивают роль автоматизации в будущем.

К примеру, Ципес утверждает, что будущее тестирования - за практически полностью автоматизированными тест-кейсами. Он убежден, что количество автотестов станет настолько высоким, что тестировщики даже не будут успевать запускать их регулярно, и встанет вопрос, что именно стоит тестировать – и скорее всего, тестироваться будут только изменения кода. Он предупреждает, что такой уровень автоматизации несет в себе риски. "Скорость имеет свою цену, и нужно четко понимать, в каком направлении вы движетесь. QA – очень важная часть этих решений, потому что если автоматизация ускоряет ваши процессы, она должна действительно тестировать важные вещи, иначе у вас будут серьезные проблемы. Автоматизация – прекрасный инструмент, но попробуйте автоматизировать не то, что нужно – и у вас быстро начнутся трудности".

С другой стороны Якель, Данне, Ауэрс и Хонда убеждены, что не следует чересчур доверять автоматизации. Якель считает, что полезность автоматизации чересчур раздута. "Все говорят о том, как бы автоматизировать все на свете, но следует четко понимать, что далеко не все поддается автоматизации. Ручное тестирование все еще нужно, особенно в ключе оценки пользовательского опыта. Автоматизация приносит пользу во многих областях – например, это автоматизация пошаговых сценариев – но на нее возлагают много неоправданных надежд, от которых нужно избавляться".

Данне согласен – нужно с осторожностью подходить к автоматизации и не "переавтоматизировать". Он говорит, что первая ловушка автоматизации в идее, что автоматизировать можно все, а вторая – что хорошее тестирование заключается в создании кучи автотестов. На самом деле большое количество автотестов могут подорвать эффективность тестирования, так как они требуют постоянной поддержки. В свою очередь это может привести к пониженному качеству автотестов, в которых нельзя будет быть уверенными.

С точки зрения Ауэрса, необходимо сломать менталитет "они против нас" в ключе автоматизированного тестирования как противовеса ручному, потому что на самом деле нам нужно как первое, так и второе. "Нет такой вещи, как на сто процентов автоматизируемое ПО, и нет такого понятия, как стопроцентно эффективное ручное тестирование без автоматизации вообще. Нам нужен баланс, и нужно с умом использовать инструментарий".

Хонда убежден, что автоматизация простых, рутинных "проверок" увеличится, и этот рост позволит тестировщикам тратить время на более значимые тесты – например, на исследовательское тестирование. "Инструменты нужно использовать для ускорения выполнения простых задач, что развяжет тестировщикам руки и даст им возможность тратить время и силы на более эффективные типы тестирования", говорит он.

2) Новые технологии, особенно искусственный интеллект и машинное обучение, будут набирать популярность.

Множество развивающихся сейчас новых технологий, особенно ИИ и машинное обучение, сильно повлияют на тестирование. Неудивительно, что все эксперты в том или ином ключе их упомянули.

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

Меррил согласен: хоть эти технологии и находятся на начальных стадиях развития, они уже влияют на тестирование, усложняя его, и этот эффект будет только усиливаться. "Количество систем, интегрирующих машинное обучение и ИИ, уже сейчас вызывает новые сложности для тестирования, и в будущем это влияние увеличится. Мы все чаще сталкиваемся с этими технологиями, встроенными в ПО, и от их потенциала в плане возможностей для тестировщика просто захватывает дух".

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

3) Тестировщики должны адаптироваться к переменам и осваивать новые навыки

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

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

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

О каких же конкретно переменах идет речь? С точки зрения Данне, тестировщики должны хвататься за любую возможность научиться программировать и/или глубже разбираться в тестируемом приложении. В целом он утверждает, что "тестировщики всегда должны пересматривать свой подход к тестированию. Мне кажется, что разработчики всегда размышляют о том, как сделать нечто новое и как улучшить имеющееся, но тестировщики обычно об этом не задумываются. Однако тестирование постоянно развивается, и если вы не развиваетесь вместе с ним – вы топчетесь на месте и не становитесь лучше".

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

Начинать изучать что-то новое нужно уже сейчас: Сегал говорит, что "на данный момент сообщество тестировщиков читает недостаточно для развития своего опыта и знаний. Тестировщикам и менеджерам нужно приложить больше сил к оттачиванию своих навыков и уметь двигаться вперед так же быстро, как и другим техническим сообществам. Они бегут со скоростью сто миль в час, и если мы за ними не успеваем – мы останемся за бортом".

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

С точки зрения Хонды, "мир будет меняться очень быстро, и тестировщикам нужно постоянно учиться и быть в курсе новых инструментов и процессов. Не нужно изучать все до единого инструменты, но стоит знать о существовании тех, которые могут дополнить ваше тестирование или помочь автоматизировать рутинные действия". Он советует "всегда искать возможности быть впереди планеты всей, изучая новые навыки, приветствуя новые процессы, позволяющие выполнять работу лучше и быстрее, а также практиковаться, практиковаться, практиковаться. Это сложно, но вложитесь в себя и свою карьеру, выкраивая время на применение новых инструментов, техник и навыков".

4) Границы сотрутся

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

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

Ауэрс соглашается с этим, утверждая, что тестировщики должны стать информационными брокерами. "Как тестировщики, мы окружены множеством заинтересованных лиц, и нам нужно понимать их нужды и цели, чтобы предоставлять им необходимую для принятия решений информацию. Именно таким путем мы повысим свою ценность и не останемся за бортом, как бессмысленный ресурс".

Дэниэл подчеркивает важность вовлечения QA-команд на ранних этапах процесса разработки. "Команды должны планировать работу лучше, чтобы быстрее выводить на рынок качественные продукты", говорит он, добавляя, что сдвиг влево поможет избежать ситуации, когда о тестировании и безопасности спохватываются в последний момент.

Колантонио убежден, что в дополнение к сдвигу влево необходим и сдвиг вправо. "Нужно прекратить бросать ПО на произвол судьбы сразу после релиза. Как только мы выпустили его, мы должны начать глубже его анализировать, чтобы вовремя узнавать о проблемах и откатывать билд автоматически до того, как на баг наткнется пользователь".

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

5) Множество навыков выдержит испытание временем и технологиями

Несмотря на все перемены, трансформирующие тестирование, множество навыков сохранит свою важность для тестировщика.

Все эксперты отметили, что тестировщикам нужно быть открытым для перемен и стремиться изучать новые навыки. Адаптивность и желание учиться вместе со страстью к работе и стремлением пробовать новое останутся критически нужными для тестировщиков вне зависимости от того, 2017 ли год на дворе, 2022 или 2058.

В целом, по словам Ауэрса, "многое из того, что мы делаем, не имеет срока годности. К примеру, пытливая натура тестирования – попытки задавать вопросы, изучать, заглядывать под капот и собирать информацию о продукте – вечна, меняется только технология".

Хонда убежден, что будущее тестирования за способностью решать проблемы – а в этом нет ничего нового. По его словам, суть всего лишь в креативном подходе тестировщиков к проблемам. Хонда также утверждает, что тестировщики тоже вечны. "Нельзя терять фокус на человеческом аспекте тестирования. Перемены затронут не базовую функцию тестирования, а понимание ценности живых людей в тестировании ПО".

По словам Клайна, ряд навыков устойчив к переменам. "Самые лучшие навыки тестировщика несильно изменились за годы. Критическое мышление, коммуникация, способность к взаимодействию – ключевые навыки для поддержания своей ценности для бизнеса и управления рисками".

Эксперты ждут не дождутся светлого будущего тестирования

Эти пять тенденций, возможно, наиболее значимы для будущего развития тестирования, но ими список не исчерпывается. Эксперты еще упоминают следующее:

  • Ускорение релизных циклов выведет безопасность на передовую. В мире, где ПО выходит на рынок со скоростью звука, легко забыть о безопасности. Тестировщики не должны этого допустить! Если для Facebook и Instagram нормально выпустить в релиз продукт с рядом минорных багов, это совершенно недопустимо для финансовых и медицинских продуктов.
  • Лидерам тестирования нужно научиться управлять растущим и все более сложным технологическим ландшафтом цикла разработки. Безусловно, технологические решения помогают команде добиться высокой зрелости операций и двигаться быстрее, но они же могут и усложнить процессы. Лидерам команд нужно определить, какая технология им необходима, и как ее применять. Должная осмотрительность тут просто необходима.
  • За качество будут отвечать все, но тестировщики останутся незаменимым ресурсом. Несмотря на то, что ряд обязанностей QA перейдет к разработчикам, тестировщики никуда не денутся. Совсем напротив, тестировщики привносят в процесс взгляды и опыт, которые полностью отсутствуют у разработчиков и других членов команды. В будущем тестировщики не только будут владеть вопросами качества, но и начнут обучать других тому, как убедиться, что ПО соответствует определенным стандартам.
  • Возможности для тестировщиков будут только расти. Абсолютно все эксперты отметили, что с радостью ждут перемен, потому что возможности для тестировщиков станут безграничными и более интересными, так как тестирование станет более ответственной, сложной и востребованной областью.

Обсудить в форуме