Тестирование пользователями и специалистами: плюсы и минусы |
16.02.2017 00:00 |
Автор: Вероника Латипова Перед каждым разработчиком ПО рано или поздно встает задача оценки качества выпускаемого продукта. Зачастую руководители небольших проектов считают непозволительной роскошью прибегать к услугам профессиональных тестировщиков. Ведь, на первый взгляд, кто, если не сам разработчик или пользователь может наилучшим образом найти недостатки в программе? По сути, в этом случае все исследование сводится к бета-тестированию («Бе́та-тести́рование (англ. betatesting) – интенсивное использование почти готовой версии продукта (как правило, программного или аппаратного обеспечения) с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (релизом) продукта на рынок, к массовому потребителю»). Практика использования клиентов – потребителей продукта в качестве тестировщиков в последнее время стала достаточно популярной. Мы постараемся оценить очевидные на первый взгляд плюсы и минусы бета-тестирования и тестирования специалистами. Все ли из них оказываются «плюсами» или «минусами» при ближайшем рассмотрении? Плюсы и минусы бета-тестированияПлюсы: 1. Обратная связь. Действительно, в ряде случаев только пользователи могут провести проверку ПО на выявление наиболее удобных, наиболее интересных или, наоборот, наиболее неприемлемых модулей и функций. Получив такие отзывы, разработчики могут оперативно доработать продукт с учетом высказанных пожеланий: поменять логику системы, отредактировать тестовые сценарии. Дефекты ПО также выявляются при использовании редко встречающихся окружений. Таким образом, при выборе стратегии бета-тестирования следует учитывать, что наилучший результат будет достигнут при условии привлечения большого количества пользователей с разным окружением. Прекрасным примером такой работы является стратегия известной компании Google. Используя мощное оборудование, компания систематизирует и классифицирует отзывы десятков тысяч пользователей, доводя свои программные продукты до совершенства. 2. Экономия средств. Но всегда ли всё складывается так удачно? Как показывает практика, отсутствие грамотной стратегии бета-тестирования может привести к печальным результатам. Рассмотрим это на реальных примерах. Не так давно некая компания, выпускающая компьютерные игры, разместила бета-версию в свободном доступе. Целью акции было получение баг-репортов от пользователей. Дело сразу не заладилось: отзывов поступало очень мало. Разработчикам пришлось предложить бонусы в виде необходимых внутриигровых артефактов за каждый оставленный баг-репорт. Только после этого шага была, наконец, получена необходимая информация. В результате такой «беспроигрышной» стратегии компания потратила гораздо больше времени, чем планировала. Более того, она понесла дополнительные расходы на «содержание» всей команды разработки во время ожидания результатов. Другой свежий пример: один японский разработчик выдал в бета-тестирование широко известную игру для мобильных устройств. Каково же было удивление пользователей, когда оказалось, что у них не всегда получалось даже просто запустить игру на своих устройствах. Мало того: участники бета-тестирования преждевременно распространили в сети информацию об игре, что нарушило планы кампании. Фактически, «экономия» привела к коммерческому провалу запуска игры. При этом компания, как и в предыдущем случае, потратила сверхплановые время и средства. Описанные ситуации показывают, что бета-тестирование, спланированное без привлечения опытных специалистов, далеко не всегда приводит к экономии средств. Минусы: 1. Низкая квалификация тестировщиков. Важно помнить, что основные участники бета-тестирования – это добровольцы из числа обычных пользователей будущего продукта. Эти люди не всегда обладают даже минимальными техническими навыками, позволяющими дать качественную оценку ПО. Конечно, о чёткой локализации и понятном описании бага при бета-тестировании можно даже не вспоминать – этим всё равно понадобится заниматься штатным тестировщикам. 2. Неполное тестовое покрытие. Некую аналогию бета-тестирования можно увидеть в легендарном фильме «Операция «Ы»…». По сюжету перед «бандой» стоит задача – инсценировать ограбление склада, на котором «все уже украдено до вас». В качестве «тестового стенда» используется гараж, переоборудованный так, чтобы получить характеристики реального склада («Продуктив»). Банда подбирает отмычки и проводит «тестовые сценарии» по проникновению и имитации ограбления. В целом, операция должна пройти успешно, НО… «Трус», натренированный «на кошках», в ответственный момент натыкается на альтернативный сценарий: «А где бабуля?» – «Я за нее». В итоге операция «Ы» оказывается проваленной. Практика показывает, при тестировании непрофессионалами часть функционала всегда остается не охваченной. Плюсы и минусы тестирования специалистамиТеперь постараемся сформулировать основные плюсы и минусы работы с профессиональными тестировщиками. Плюсы: Плюсов работы с опытной командой – великое множество, мы остановимся лишь на некоторых из них. 1. Комплексный подход к тестированию. Очевидно, главный плюс, интересующий всех, – это высокое качество тестирования, достигаемое с помощью максимального охвата всех стадий работы. Дефекты, пропущенные в таких приложениях, как, к примеру, десктопное или мобильное ПО, приводят к огромным финансовым потерям как самого разработчика, так и его клиентов. Возможность составления планов и согласования тестового покрытия с бизнес-аналитиками дает уверенность в минимизации материальных рисков. Тестировщики участвуют в процессе определения состава релиза, проверяют надежность процедуры как полного отката версии, так и частичных изменений и преобразования данных. 2. Отчётность о результатах тестирования. По результатам работы специалистов заказчик получает не только список пройденных сценариев, но и набор отчетов, в которых содержатся заключения о качестве выпущенного продукта и узких местах ПО, а также предложения по доработкам. На основании таких отчетов производитель имеет возможность оперативно принимать дальнейшее решение по продукту. Все необходимые исправления и изменения излагаются так, что разработчики могут сразу приступать к их реализации. 3. Высокое качество тестирования, основанное на опыте специалистов. Возвратимся к примеру «Операции «Ы». Квалифицированные специалисты никогда бы не упустили альтернативные сценарии, и исход мероприятия мог быть совсем другим. Опыт – великая вещь! При этом команда тестировщиков несет полную ответственность за свою работу, чего никак нельзя сказать об участниках бета-тестирований. Минусы: К минусам привлечения специалистов чаще всего относят «понятие двух «Д»: «дорого и долго». Далеко не каждая компания может себе позволить расширять штат и нанимать сотрудников-тестировщиков на постоянную основу, особенно если речь идет о стартапах. Поэтому в настоящее время большой популярностью пользуется аутсорсинг. Он дает возможность привлечь команду специалистов на конкретный проект. Другая тенденция – переход от традиционных методов разработки и тестирования (Waterfall) к гибким (Agile). Джанет Грегори и Лиза Криспин опубликовали прекрасную работу, детально описывающую место разработчиков и тестировщиков в Agile-проектах. Однако, не следует забывать, что любой тестировщик должен обладать минимальными техническими навыками и уметь хорошо ориентироваться в предметной области. С другой стороны, приведенные в этой статье примеры показывают, что надежды на экономию времени и средств от использования «усеченного» бета-тестирования зачастую оказываются несбыточными. А значит, «долго и дорого» – это всего лишь расхожий штамп, далеко не всегда подтверждаемый на практике. ЗаключениеИтак, без качественного тестирования вы однозначно рискуете выдать клиенту продукт с багами. Но качественное тестирование также подразумевает получение информации о соответствии выпускаемого продукта ожиданиям конечных пользователей. Вам нужно самостоятельно принять решение о том, какой способ тестирования необходимо использовать на вашем проекте, либо применить стратегию, сочетающую оба подхода. Мы же надеемся, что эта статья поможет вам сделать грамотный выбор. |