С одной мыслью стоит смириться сразу: всех багов и дефектов избежать невозможно. Даже если вы наймёте исключительно талантливую и квалифицированную команду разработчиков, в их идеальном коде всё равно будут баги. Это неотъемлемая часть процесса разработки ПО, и пока не найден способ её окончательно обойти.
Какие-то дефекты годами остаются ненайденными, другие способны за несколько минут нанести огромный урон вашему бизнесу и негативно сказаться на имидже компании. А ещё они могут заставить конечного потребителя потерять интерес к продукту и, тем самым, вызвать значительные финансовые потери.
Какой бизнес такое сознательно допустит? Разве что бизнес-камикадзе. Потому компании стараются снизить риски и нанять лучших разработчиков ПО. Но, годы идут, программирование развивается, а ошибки не спешат исчезать, как и пользователи с их гневными отзывами. Некоторые дефекты стоят бизнесу больше, чем другие, но даже самые небольшие из них влекут за собой проблемы.
Катастрофы/провалы, связанные с багами
Мы решили показать три интересных кейса, когда компании пренебрегли качеством своего продукта, и последствия, к которым это привело.
Авиакатастрофы Boeing 737 MAX
Президент корпорации «Боинг» Деннис Мюиленбург официально признал, что причиной катастрофы самолётов «Боинг-737 MAX» в Индонезии ( 29 октября 2018) и Эфиопии (10 марта 2019) стала некорректная работа программного обеспечения.
Возникшая ошибка стала причиной смерти 306 человек и привела к рекордным в истории компании убыткам – около 5 млрд. долларов, которые продолжают расти.
Как в течение 45 минут терять по $172 222 в секунду
В этой статье приведён отчет об ошибке, который описывает причину потери 465 миллионов долларов компанией Knight Capital. Дефект был обнаружен в программе высокочастотного трейдинга. ПО проводило ошибочные сделки, покупая дороже чем впоследствии продавало. А это, как мы понимаем, не самая выгодная бизнес-стратегия в мире. Сбой привёл к банкротству фирмы.
Эпидемия кровавого бога
Последствия ошибок преследуют нас не только в жизни и бизнесе, но и в виртуальных вселенных. Почти 14 лет назад, 13 сентября 2005 года, в World Of Warcraft вышло новое обновление. В популярной онлайн игре, насчитывавшей на тот момент около 11 миллионов активных игроков, появился новый персонаж – бог крови Хаккар. Того наделили уникальным заклинанием «Зараженная кровь». Попавший под магический удар игрок начинал медленно умирать, причем эффект мог перекинуться на любого подошедшего к нему соратника.
Спустя несколько часов в мире игры разразилась страшная эпидемия, которая выкашивала целые города. Улицы были завалены трупами персонажей игроков, а выжившие в страхе шарахались от вчерашних друзей, боясь подцепить смертельную заразу. Сервера пришлось перезапускать в аварийном режиме, а разработчикам исправлять ошибки патчем.
Все эти ситуации демонстрируют, насколько убыточными и резонансными могут быть баги. И даже если пропущенный баг не вызвал серьёзных проблем сегодня, никто не застрахует бизнес от его последствий в ближайшем будущем.
Как представители бизнеса предотвращают такие промахи?
Многие идут по длинному пути и развивают QA-процессы у себя на проекте самостоятельно.
Кто-то пользуется услугой аудита процессов тестирования и выстраивает QA-процессы при поддержке экспертов-консультантов.
Ещё одной распространённой практикой является аутсорсинг тестирования, когда вы хотите сосредоточиться на разработке, а от QA-подрядчика требуете обеспечения качества и выполнения сроков.
По какому бы вы пути ни шли, качество продукта стоит своих сил и инвестиций. QA в сфере IT потому и пользуется высоким спросом в последние годы, что помогает вашему бизнесу как минимум семью разными способами.
1. Удержание (сохранение) клиентов
У вас есть только один шанс произвести хорошее первое впечатление.
Если пользователь загружает ваше приложение и находит в нем недостатки, он вряд ли когда-либо воспользуется им снова. Это работает даже в том случае, если вы устраните эти недостатки.
Следовательно, все силы и средства, инвестированные в продвижение продукта, были потрачены впустую. И вам придется начинать все сначала.
Система аналитики Kissmetrics говорит о том, что получение нового клиента стоит в 7 раз дороже, чем удержание старого. Поэтому вы просто не можете позволить себе допустить ошибки новичка в коде. Ведь они обнаружат себя, как только пользователь откроет приложение, войдёт в систему и т.д.
Устраните ошибки или готовьтесь переплачивать в несколько раз за привлечение клиента.
2. Удовлетворение потребностей клиента
Как разработчик, вы имеете точное представление о своём продукте. И естественно, вы ожидаете получить в конце именно тот функционал, который запланировали. Благодаря усилиям QA-специалистов, у ваших потенциальных клиентов не будет сюрпризов. Итоговый продукт, будет соответствовать ожиданиям пользователя и удовлетворять его потребности. А это самый короткий путь к прибыли.
Частью работы опытного тестировщика является не только проверка корректности работы приложения, но и выполнение ожиданий заказчика, плюс поиск возможностей превзойти эти ожидания.
3. Эффективность затрат
Эксперты в области QA могут сэкономить ваши ресурсы. Суть в том, что найти и устранить недостатки на ранних стадиях разработки намного дешевле, чем уже после релиза/выпуска программного обеспечения. Хорошая QA-команда может гарантировать, что ещё до запуска продукта будет подготовлен отчет о его дефектах. Их своевременное исправление позволит уберечь пользователя от негативного опыта знакомства с вашим ПО, предотвратив убытки.
4. Позитивный имидж и рост доверия к бренду
QA-специалисты помогают избежать потенциального вреда, который могут вызвать плохие отзывы. Правда в том, что если приложение выпущено с крупными ошибками, плохих отзывов не избежать. Поэтому мы применяем различные методы тестирования на протяжении всего процесса разработки.
5. Экономия времени и душевных сил клиента
Если устранить все недостатки вовремя, потребителю не нужно будет перезапускать приложение, тратить время на борьбу с багами или ждать, пока приложение виснет. Мы верим, что наш клиент имеет полное право на полностью функционирующее приложение, не выходя за рамки дедлайна. Поэтому он должен иметь возможность использовать продукт сразу, не сталкиваясь с десятками багов и ошибок. И поскольку QA-специалисты нацелены на то, чтобы продукт оправдал ожидания клиента, приложение будет работать правильно, не вредя вашему и без того плотному графику и нервной системе.
6. Нет простоев и перерывов в работе
Отличная новость для предпринимателей! Когда ошибки в ПО устранены, вам можно сосредоточиться на работе, а не дожидаться пока команда разработки исправит очередной дефект. Это экономит миллионные бюджеты и делает бизнес более стабильным.
7. Предложения новых полезных функций
Хороший QA-специалист знает продукт от А до Я, лучше чем кто-либо другой в команде.
Поскольку тестировщик обладает как знаниями в технической сфере, так пониманием потребностей клиента, он формирует рекомендации по объединению технических возможностей и нужд клиента воедино.
Это помогает команде разработчиков сделать приложение более удобным и обеспечить потребителю положительный опыт.
Постойте, а как же тестирование ПО силами самих разработчиков? Многие читатели статьи сейчас задумались над этим вопросом. Конечно, разработчики могут и тестируют код сами. Но принимая во внимание, сколько времени они проводят за этим кодом, взгляд их может “замылиться” и пропустить что-то важное. Считается нормой, когда хороший разработчик допускает 2-3 ошибки на тысячу строк кода. Но что тогда говорить про обладателей менее глубоких знаний. При этом, когда ты тестируешь свой собственный код, ты сильно рискуешь пропустить целый класс ошибок.
И даже если разработчики смогут эффективно обнаружить и устранить основные ошибки… Они потратят на это гораздо больше времени, нежели QA-команда, использующая инструменты ручного или автоматизированного тестирование ПО. Кроме того, согласитесь, что очень сложно одновременно фокусироваться и на тестировании, и на написании кода. Когда разработчик занимается написанием кода, он не заботится о глубинном тестировании, потому что он сконцентрирован на своей основной работе. В конце концов, вы ведь его именно для этого и наняли!
И наконец, QA эксперты посвящают своё время проверке совместимости приложения с многочисленными устройствами, браузерами и т.д. Никто не отвлекает вашу команду джедаев-программистов от создания очередного шедевра программной мысли, пока тестируют QA-специалисты!
Итак, мы рассмотрели основные аспекты, как квалифицированное тестирование ПО может помочь вашему бизнесу. Ниже приведена наглядная памятка, чтобы ещё раз всё взвесить.
Почему мы уверены, что хорошее тестирование всегда выгодно для бизнеса? Потому что уже 10 лет помогаем нашим клиентам делать качественное ПО и зарабатывать на нём. Хотите узнать как тестировать с выгодой?