Кроме того, он может быть в принципе готов “выйти в свет”, но было бы неплохо посмотреть на него глазами конечных потребителей.
Именно это и послужило причиной деления тестирования на альфа и бета тестирование. По тому же принципу делятся и пользователи, которые проводят данные виды тестирования. Подробнее обо всем в статье.
Альфа и бета тестирование являются одной из форм приемочного тестирования. То есть ошибок на этом этапе тестирования уже быть не должно. Скорее наоборот, программа должна быть максимально рабочей и пригодной для использования.
Про уровни тестирования подробно говорили тут.
Альфа-тестирование
После подготовки отдельных модулей продукта, они объединяются в единое целое. Это еще не готовая версия, но она уже способна работать и выполняет свои основные задачи (иногда частично). Этот вариант программы и называют альфа-версией.
Альфа-тестирование (alpha testing) – это вид приемочного тестирования, которое обычно проводится на поздней стадии разработки продукта и включает имитацию реального использования продукта штатными разработчиками либо командой тестировщиков.
Обычно альфа тестирование заключается в систематической проверке всех функций программы с использованием техник тестирования «белого ящика» и «черного ящика» (подробнее о них тут).
Альфа-тестирование является методологией оценки качества и стабильности тестируемого продукта в тестовой среде.
На этом этапе основное внимание уделяется:
— Обнаружению ошибок,
— Вопросам по юзабилити,
— Различию в характеристиках,
— Проблемам совместимости/взаимодействия.
Фазы альфа-тестирования:
- Предварительное альфа-тестирование: пользовательский интерфейс продукта готов, но функции еще не реализованы полностью. На этом этапе обычно принимается решение о том, какие функции следует вводить в продукт. Прототип продукта постоянно пересматривается и анализируется для большего улучшения.
- Альфа-тестирование: рабочий продукт готов к тестированию.
Альфа-тест обычно происходит в циклах, каждый из которых будет составлять примерно 1-2 недели. Количество циклов зависит от функций, включенных для тестирования, и количества проблем, обнаруженных на этом этапе тестирования.
Критерии входа:
- Тестирование системы должно быть завершено и подписано (если альфа-тестирование начнется после завершения тестирования системы).
- Продукт готов на 70% — 90%.
- Участники должны быть идентифицированы и знать особенности продукта.
- Альфа-тесты разработаны и рассмотрены.
- Настроена среда тестирования и подтверждена стабильность.
- Билд для альфа-версии продукта готов и запущен с полными примечаниями к выпуску.
Критерии выхода:
- Функциональные ошибки исправлены.
- Все тестовые циклы полные.
- Все запланированные тесты выполнены и пройдены.
- Функции замораживаются (то есть никаких дополнительных функций, никаких изменений в существующих функциях).
Преимущества альфа-тестирования:
- Обеспечивает лучшее представление о надежности программного обеспечения на ранней стадии.
- Помогает моделировать поведение пользователя и окружающую среду в режиме реального времени.
- Комплексный подход позволяет обнаружить много серьезных и дорогостоящих ошибок.
- Опытные специалисты пропустят меньше ошибок, чем специалист без опыта. Также, не стоит забывать, что команда тестировщиков несет полную ответственность за свою работу, чего никак нельзя сказать об участниках бета-тестирований. Это во многом сказывается на качестве тестирования в положительную сторону.
- Дает возможность раннего обнаружения ошибок в отношении дизайна и функциональности.
- Помогает понять факторы, влияющие на успешный выпуск продукта.
- Развернутый отчет о результатах тестирования, в котором все излагается так, что разработчики могут сразу приступать к исправлению багов.
Недостатки альфа-тестирования:
- Функциональность не может быть проверена на всю глубину, поскольку программное обеспечение все еще находится на стадии разработки. Иногда разработчики и тестировщики недовольны результатами альфа-тестирования.
- Дорого. Далеко не каждая компания может себе позволить расширять штат и нанимать сотрудников-тестировщиков на постоянную основу, особенно если речь идет о стартапах. Многие выбирают аутсорс. Тем не менее, это все равно финансовые затраты.
- Может быть недостаточно глубоким для нахождения всех багов.
- Долго. По сравнению с бета-тестирование, альфа-тестирование длится намного дольше, так как требует определенной подготовки. Ведь в этом случае необходимо подготавливать тест-кейсы и чек-листы, разрабатывать множество всевозможных сценариев, план проверки и т.п.
Бета-тестирование
По окончании работы с альфа-версией выпускается бета-версия. Она представляет собой реально работающую версию программы с полным функционалом.
Бета-тестирование (beta testing) – интенсивное использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (релизом) продукта на рынок, к массовому потребителю.
Бета-тестирование представляет собой реально работающую версию программы с полным функционалом.
Задача бета-тестов – оценить возможности и стабильность работы программы с точки зрения ее будущих пользователей. Поэтому, в отличие от альфа-тестирования, бета-тестирование предполагает привлечение добровольцев из числа обычных будущих пользователей продукта.
Такими добровольцами ( бета-тестерами) часто движет любопытство к новому продукту. Они вполне согласны мириться с возможностью столкнуться с ошибками. Кроме любопытства, мотивация может быть обусловлена желанием повлиять на процесс разработки и получить более подходящий им продукт.
Будет плюсом, если это люди, которые уже имеют опыт работы с программами такого типа, а еще лучше – с предыдущей версией этой же программы. Обычно у компаний уже есть определенный круг лиц, с которыми они постоянно сотрудничают.
Надо сказать, что разработчики не испытывают недостатка в желающих принять участие в такой работе. Многие люди хотят попасть в закрытую группу, первыми узнать о новых функциях продукта, пользоваться тем, чего нет в свободном доступе.
Наглядный пример набора бета-тестировщиков — социальная сеть Яндекс.Аура. Создатели сделали ограниченный доступ по ссылкам. Таким образом, в первые дни они набрали достаточное количество пользователей для первых тестов и закрыли набор. То есть каждый пользователь чувствовал себя там уникальным и с радостью помогал тестировать новый продукт. Продукт, к которому нет доступа больше ни у кого.
Кстати, этим пользователям еще присвоили особенные “метки”, которые говорят о том, что они первопроходцы. Это тоже отличный стимул быть тем самым первым пользователем.
Разные компании выполняют бета-тестирование по-разному. Есть 2 вида бета-тестирования:
- Открытое бета-тестирование, когда продукт доступен для всех желающих. Этот вариант позволяет протестировать приложение в большей группе и получить большой объем обратной связи. Любой пользователь сможет присоединиться к открытому бета-тестированию и отправить личный отзыв.
- Закрытое бета-тестирование, когда продукт тестируется ограниченным количеством пользователей. Обычно это небольшая группа, в которую попадают по приглашениям.
Преимущества бета-тестирования:
- Снижает риск выхода продукта из строя посредством валидации клиента.
- Бета-тестирование позволяет компании тестировать инфраструктуру после запуска.
- Повышает качество продукции благодаря обратной связи с клиентами. Пользователи не только пишут про найденные баги, а также вносят свои предложения и пожелания по улучшению функционала продукта.
- Выявляют баги, которые были не выявлены на предыдущих этапах тестирования. Дешевле исправить их на данном этапе, чем при релизе на всех конечных пользователей.
- Является экономичным методом сбора данных по сравнению с аналогичными методами. Однако не всегда удается получать обратную связь без вложений. Иногда пользователям предлагают какие-то бонусы за найденные баги. Тем самым мотивируя их на активные действия.
- Создает доброжелательность с клиентами и повышает удовлетворенность клиентов.
Недостатки бета-тестирования:
- Управление тестированием – проблема. По сравнению с другими типами тестирования, которые обычно выполняются внутри компании в контролируемой среде, бета-тестирование выполняется в реальном мире, где у компании редко есть контроль.
- Качество тестирования не на высоте. Бета-тестировщики не всегда обладают даже минимальными техническими навыками, позволяющими дать качественную оценку ПО. Конечно, о чёткой локализации и понятном описании бага при бета-тестировании можно даже не говорить. Обычно это ложиться на плечи штатных тестировщиков.
- Поиск правильных пользователей бета-версии и поддержание их участия может вызвать трудности.
- Есть риск, что бета-тестировщики разместят информацию о вашем продукте еще до его выхода. Это может значительно подпортить ожидаемый от релиза эффект.
- Неполное тестовое покрытие. Практика показывает, при тестировании непрофессионалами часть функционала всегда остается не охваченной. Все же бета- тестировщики не профессионалы.
Гамма-тестирование
Часть авторов (например, Святослав Куликов в своем учебнике “Тестирование программного обеспечения.Базовый курс”) еще выделяют третий вид тестирования — гамма-тестирование.
Гамма-тестирование (gamma testing) — финальная стадия тестирования перед выпуском продукта, направленная на исправление незначительных дефектов, обнаруженных в бета-тестировании.
Как правило, также выполняется с максимальным привлечением конечных пользователей/заказчиков. Суть этого вида вкратце: продукт уже почти готов, и сейчас обратная связь от реальных пользователей используется для устранения последних недоработок.
Стоит отметить, что, обычно, тестирование все же делят на альфа и бета без упоминания о гамма-тестировании.
Альфа и бета. В чем отличия?
Как видите, альфа и бета тестирование имеют разные цели и задачи. У каждого из них есть свои плюсы и минусы. Конечно, будет неплохо использовать оба этих метода, так как они приносят свои «плоды». Но это не всегда возможно и финансово обосновано.
Очень часто бета-тестирование практикуется в игровой сфере. Все же один из основных плюсов бета-тестирования — понимание того, нужен ли аудитории наш продукт и стоит ли его выпускать в релиз.