Вы представляете digital-агентство и пришли к мысли, что необходимо что-то менять в процессах обеспечения качества. Что делать, с чего начать? В этой статье я постараюсь дать основные ответы, напишу, что вам стоит попробовать сделать.
Основные этапы в жизни агентства с точки зрения отдела качества:
-
- Микро агентство. До 10 сотрудников. Тестировщика нет.
- Маленькое агентство. До 30 сотрудников. Появляется первый тестировщик, возможно даже не один.
- Среднее агентство. До 70 сотрудников. Компания развивается, прорабатываются бизнес-процессы, улучшаются стандарты качества.
- Большое агентство. 70 сотрудников и более. Усложняется иерархия, внедряются новые рабочие инструменты.
Цифры по численности сотрудников условные, основаны на опыте автора и его наблюдениях за другими агентствами.
Тестирование в микро агентстве. Как сэкономить на тестировании и не запороть свои первые проекты
Вы делаете первые шаги в бизнесе. Берете на работу знакомых и всех, кто согласится с вами работать. Заказы тоже берете все, до которых можете дотянуться. Важен каждый клиент и каждый заказ, важна каждая копейка. Мотив сэкономить на тестировании предельно понятен.
Как обычно поступают:
-
- Тестирует менеджер
- Тестирует разработчик
Дополнительных расходов на тестирование нет, и это хорошо, но у такого подхода есть вполне ощутимые минусы:
-
- Если тестирует сам разработчик, то он проверяет только те сценарии, которые реализовал, и с теми тестовыми данными, которые использовал в процессе разработки. Все альтернативные сценарии опускаются, и в итоге всплывают ошибки у конечных пользователей.
- Если тестирует менеджер, то он, обычно, это делает поверхностно, в перерывах между другими делами, в результате многие нюансы упускаются из виду.
- Есть соблазн закрыть глаза на какую-либо проблему, посчитать её несущественной.
В особо экстремальных компаниях тестированием занимается конечный клиент, и именно от него приходит большая часть багов.
Наши советы:
-
- Не снимайте с себя всю ответственность. Это ваш бизнес. Тестируйте все сами хотя бы в самом конце перед отправкой клиенту.
- Не успеваете сами — организуйте перекрестное тестирование. Пусть сотрудники тестируют чужие проекты. Делайте рассылку по всем своим сотрудникам с просьбой проверить проект и написать о найденных ошибках.
- Обратитесь на биржу краудтестинга, к фрилансерам или аутсорсинговым компаниям.
- Имейте меру. Перфекционизм нужен, когда крепко стоите на ногах. Если править все, даже незначительные ошибки на этой стадии развития компании, то очень скоро вы можете остаться без штанов и бизнеса.
Маленькое агентство. Первые шаги в профессиональном тестировании
Ваш бизнес стал развиваться, появилась некая уверенность в завтрашнем дне. Клиентов все еще немного, и вы цените каждого из них. Вы начинаете осознанно понимать, что лучше всего на удержание клиентов и последующее сарафанное радио влияет качество оказываемых услуг, а для этого нужно хорошо тестировать то, что делаете.
Вы решаете нанять первого тестировщика в штат, но опыта в их найме у вас нет. Как быть?
Варианты:
-
- Разобраться в вопросе самостоятельно и нанять тестировщика
- Обратиться за помощью к экспертам
Когда-то давно я сам пошел по второму пути. Нашел тестировщика с большим опытом и заказал у него отбор и собеседование кандидатов. Как бонус получил тогда и тестовое задание, которое до сих пор использую при отборе тестировщиков.
С годами пришел опыт, а вместе с ним появилась и таблица компетенций, которую мы сейчас даем заполнить еще до тестового задания. Смотрим на компетенции и решаем — звать сразу на собеседование, дать тестовое или не тратить время и отказать.
Вот у вас появился свой первый тестировщик. Скорее всего вы, как и прежде, будете подключать его в момент сдачи проекта или этапа работ. У такого подхода к тестированию есть свои минусы, и самый большой из них в том, что ошибки, найденные на стадии завершения проекта, неминуемо скажутся на сроках сдачи конечному клиенту (скорее всего сроки на исправление ошибок не закладывались изначально или закладывались в меньшем объеме).
Наш совет: постарайтесь глубже интегрировать тестировщика в процесс работы. Пусть он проверяет все задачи по мере их готовности, так вы не решите все проблемы с качеством, но хотя бы снизите риски срыва сроков по проектам. Пусть тестирует не только проекты “под ключ”, но и проекты на поддержке — там качество не менее важно, несмотря на то, что задачи кажутся мелкими и неинтересными.
Дилемма — требовать ли оплату за тестирование? Тестирование стоит денег, и вам нужно решить, как вы будете компенсировать эти расходы. Варианты:
-
- Явно в смете сделать строку с тестированием. Если вы только начинаете, то вероятно у вас будут сложности с обоснованием этой строки для большинства клиентов, которые уверены, что работа должна сразу делаться качественно, и не хотят платить за мифическое тестирование.
- Явно не показывать, но заложить эти расходы в стоимость разработки. Большинству это проще сделать. Клиентам при этом можно говорить, что мы заботимся о качестве, что у нас есть профессиональный тестировщик, и именно поэтому час разработки стоит столько-то.
Среднее агентство. Улучшение процессов и стандартов качества
Компания растет, штат тестировщиков тоже. Проекты становятся более сложными. Вы понимаете, что с ростом тестировщиков общее качество работ сильно не меняется, и нужно что-то с этим делать.
Что делать:
-
- Разобраться в тест-дизайне и перестроить процесс тестирования так, чтобы он начинался с аналитики требований.
- С внедрением практик тест-дизайна вы захотите интегрировать тестировщиков во все этапы жизни проекта, чтобы они подключались еще на стадии проверки ТЗ или дизайна.
- Назначьте в отделе начальника, если еще не сделали этого. Пусть этот человек отвечает перед вами за работу отдела тестирования. Вложите время и деньги в его развитие — отправьте на курсы, выделите время на саморазвитие и различного рода эксперименты. Это окупится.
Тест-дизайн – это этап процесса тестирования ПО, на котором проектируются и создаются тест-кейсы (чек-листы), в соответствии с определёнными ранее критериями качества и целями тестирования.
Тест-кейс — это последовательность шагов, которые необходимо пройти для проверки функционала. Описание каждого шага сопровождается указанием на ожидаемое поведения системы.
Чек-лист — это список проверок, необходимых для тестирования функционала.
В большинстве проектов, особенно на начальной стадии, достаточно составления чек-листов и последующего тестирования по ним. В отличие от тест-кейсов на их составление и последующую поддержку нужно значительно меньше времени.
Большое агентство. Иерархия, новые рабочие инструменты
У вас большая команда, и вы делаете сложные проекты. Для улучшения качества я рекомендую:
-
- Внедрить систему управления тестированием.
- Внедрить автотесты на проектах с большим жизненным циклом разработки.
- Назначить тест-лидов на проектах, а возможно и тест-менеджеров.
Что позволяет делать система управления тестированием:
-
- Хранить требования и тест-кейсы \ чек-листы;
- Связывать требования с тест-кейсами \ чек-листами;
- Анализировать тестовое покрытие;
- Версионность тест-кейсов \ чек-листов;
- Создавать тестовые наборы и выполнять тестовые прогоны;
- Делать анализ тестовых прогонов;
- Интегрировать с баг-трекинг системой;
- История отчетности по тестированию;
- Отслеживать рабочую нагрузку команды для корректировки задач и ресурсов.
Главное, чем полезны автотесты, это быстрое получение результатов тестирования. Например, после изменений в ветке разработки автоматически запускаются тесты, и результаты доступны всем участникам. Или, если это юнит тесты, то ещё на этапе сборки версии приложения разработчик получает результаты прогона юнит тестов.
Тест-лиды — это лидеры команды тестирования. Прежде всего, он отвечает за Контроль Качества (QC). Вся полнота информации о качестве тестируемого продукта сосредоточена именно у тест-лида. Он выстраивает процесс тестирования команды и сам занимается тестированием. Тест-лид — связующее звено между менеджментом и командой.
Тест-менеджер организует работу нескольких тест-лидов и получает от них актуальную информацию о качестве продукта. Выстраивает процесс тестирования. Чаще находится вне команды тестирования, не глубоко вникает в детали, а сосредоточен на процессе. Тест-менеджер формулирует задачи для тест-лидов. Тест-менеджер это уже уровень QA (Обеспечение качества).
На этой стадии QC полноценно превращается в QA.
QA (Обеспечение качества) — совокупность мероприятий в процессе разработки продукта, направленных на обеспечение необходимого уровня качества.
QC (Контроль качества) — совокупность мероприятий контроля соответствия разрабатываемого продукта и сформированных к нему требований.
Если кратко, то можно сказать, что Обеспечение качества занимается предотвращением появления ошибок в процессе разработки продукта и ориентируется больше на процесс. Контроль качества ориентируется непосредственно на исполнение, т.е. на предоставление информации о качестве уже созданного продукта. Опирается на уже созданный процесс тестирования.
Заключение
Думайте о качестве всегда, вне зависимости от размера вашей компании. Будет плохое качество — долго не продержится ваш бизнес.
Развивайте отдел качества внутри последовательно. Не пытайтесь сразу все сделать на лучшем уровне — небольшим студиям не нужны продвинутые механики и крутые тестировщики, достаточно осознанно тестировать то, что делаете.
Не пытайтесь хантить крутых тестировщиков на ранних стадиях развития компании. Им у вас будет скучно, и вы их потеряете еще до того, как компания сможет выйти на следующий уровень.