Управление тестированием: непрерывно совершенствуем процесс!

Автор: Наталья Руколь

Наш мир – беговая дорожка. Если Вы стоите – значит, Вы движетесь назад. Преобладающая часть современных программ не запустится на компьютерах десятилетней давности. Знания в ИТ-сфере устаревают в среднем за 5-10 лет. Современные избалованные пользователи уже не будут использовать программы и сайты, не удовлетворяющие основным требованиям юзабилити. Если Вы хотите не отставать и даже готовы увеличить скорость – придётся постараться! В этой статье мы разберём следующие вопросы:

  • Как определить, насколько успешен и результативен Ваш процесс тестирования?
  • Как диагностировать проблемы и определить требуемые улучшения?
  • Как принять решение о внедрении изменений?
  • Как развиваться и развивать своих сотрудников?

Готовы? Тогда вперёд!

Зачем Вы тестируете?

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

Забудьте обо всём, что «принято» и «сложилось». Зачем тестирование нужно Вашей команде и Вашему проекту? Что действительно важно Вашей компании – экономия, скорость, качество? Если Вы этого не знаете – Вы работаете вслепую, руководствуясь чувством здравого смысла – которое, к сожалению, у каждого своё. Не пытайтесь додумывать. Спросите! РМ, сейлзы, Ваш непосредственный начальник, топ-менеджмент. Заставьте их задуматься и узнайте ответ сами.

Цель и средства

Хорошо, мы узнали, зачем нам тестирование… Но какие конкретные цели? Вы всё ещё думаете, что тест-дизайн, автоматизация и количество найденных багов как-то отражают эффективность тестирования? Тогда мы идём к Вам! Smile

Представьте, что Вы заходите в магазин и хотите купить макароны. Что Вас интересует при выборе? Вкус? Цена? Натуральность? Калорийность? Что-то ещё? Но Вас абсолютно не интересует, на какой модели оборудования они готовятся и в пакеты какого производителя они упаковываются!

То же самое и в тестировании. Есть цели, а есть – средства. К примеру, если ошибки в сборке находятся сразу после выпуска, их проще исправить. Соответственно, находя ошибки раньше, Вы можете сократить затраты на разработку. Это – Ваша цель: сокращение времени на регрессионное тестирование новой сборки. Какое средство Вы выберите? Автоматизацию? Адаптацию тест-дизайна под ускоренную проверку? Обучение сотрудников? Что бы Вы не выбрали для реализации, это будут средства!

Почему так важно не путать цели и средства? Я часто вижу усиленные попытки внедрения автоматизации там, где она вообще «невнедрябельна». Я неоднократно видела тест-дизайн, состоящий из пяти, семи тысяч тест-кейзов, на который была потрачена масса времени и который не используется, потому что просто не нужен. Причина таких ошибок – в подмене понятий цели и средства. Если Вы не хотите допускать такие же ошибки – почаще спрашивайте себя: «Зачем?». Зачем автоматизация? Зачем измерять покрытие кода? Зачем внедрять новые метрики? Если ответ на этот вопрос ведёт Вас к целям тестирования в Вашей компании – значит, Вы на верном пути. Если нет – не тратьте своё время!

Вы здесь не одни

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

Процесс взаимодействия с другими отделами можно отобразить приблизительно так:

Эта схема не претендует на полноту и универсальность (в Вашем проекте может быть что-то по-другому), но отражает основные моменты взаимодействия проектных команд. Поговорите с другими участниками проекта: что им нужно? Всё ли их устраивает? Что бы они хотели улучшить? Не додумывайте за них, поговорите лично. Так Вы не только сможете улучшить свою работу, но и наладите коммуникации с другими сотрудниками.

Как определить, что требует улучшений?

Если Вы готовы не стоять на месте, а двигаться вперёд, то самое время определить план действий. Но как?

1. Поговорить с коллегами из смежных отделов.

Главное – подготовиться к критике и воспринять её максимально конструктивно!

2. Провести Post Mortem.

Собрать отзывы и проанализировать причины всех возникших проблем. Как можно сделать так, чтобы они не повторились в будущем? Профилактика эффективнее лечения! Что было хорошо, что было правильно? Это тоже очень важно не пропустить из виду: именно эти действия нужно культивировать в будущем!

3. Завести Issue/Incident Tracking System.

Вы можете использовать ­­­­Jira, Excel или Notepad. Главное – оперативно заводить в эту систему информацию обо всех коллизиях: пропущенные критичные дефекты, срывы сроков, недовольство начальства. По каждому пункту проводите анализ причин и определяйте превентивные меры на будущее.

4. Сформировав список стратегических целей, спросить себя: «Зачем?»

Помните этот магический вопрос? Отбросьте всё, на что Вы не можете дать убедительного ответа!

5. Привлеките к обсуждению решения задач как можно больше участников.

Таким образом Вы не только получите множество полезных (и не только Smile) советов, но и заручитесь поддержкой в реализации!

Вы уверены?

Итак, у Вас есть список улучшений. Можно приступать к работе, но… Вы уверены, что Вам это нужно? Вернёмся в магазин к макаронам. Вот они, на полке: красивые, аппетитные, ароматизаторы идентичны натуральным… И цена – 1000$. Вы готовы столько платить за макароны? Из своего кошелька, скорее всего, вряд ли. Smile Изменения на работе тоже требуют вложений, финансовых и временных. Стоят ли они того? Не можете ли Вы за это время сделать что-то более полезное для Вашего проекта? У Вас никогда не хватит времени и возможностей сделать всё, поэтому надо выбирать наиболее результативные действия. Посчитайте, насколько соотносятся проблема и стоимость её решения. 1000$ за макароны – это много, а 1000$ за новую иномарку – это мало. Сравнивайте проблему и решение, чтобы приоритезировать задачи – только тогда Вы сможете потратить свои ресурсы наиболее эффективным образом.

Вы готовы?

Времена, когда тестирование было второсортной, не требующей особых навыков отраслью, прошли. Monkey testing уступил место контролю качества. Вы готовы? Как Вы оцениваете свои технические, методологические и управленческие навыки? И насколько эти оценки соответствуют реальности?

В недавно опубликованной статье (слегка депрессивной, кхе-кхе Smile) Алексей Лупан перечисляет возможные пути развития в отрасли: курсы, книги, блоги, статьи… Эти пути хороши и необходимы как для начинающего, так и для «продвинутого» специалиста, но их значимость – ничто по сравнению с опытом реального использования! Даже проработанные на тренинге навыки не заменят опыт внедрения «в боевых условиях». К сожалению, многие люди, приходящие ко мне на тренинги, приходят за знаниями. За теорией, которую они смогут рассказывать на собеседованиях. И которую они не планируют внедрять, учиться использовать, модифицировать, улучшать. Вы правда думаете, что Вас это развивает? Не давайте своим знаниям пылиться, используйте их!

Будьте честны с собой

Основная причина, по которой не производится должных улучшений – неготовность к принятию проблем. На многих своих тренингах я рассказываю про взаимосвязь с другими группами и спрашиваю у учеников, насколько у них зрелый процесс тестирования и насколько довольны смежные группы и клиенты. Все (ВСЕ!) отвечают, что всё хорошо! И только немногие соглашаются опросить коллег. Некоторые из этих людей впоследствии говорят, что их мнение подтвердилось, но в большинстве случаев оказывается, что всё совсем не так, как они думали!

Если Вы готовы двигаться вперёд – то самое время принять критику. Зачастую, признать истинные проблемы значительно сложнее, чем решить их.

Выбирайте: решать проблемы или делать вид, что их нет.

Эволюция бесконечна

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