10 багов, чтобы помнить

10 багов, чтобы помнить

9 сентября профессиональный праздник у людей в обязанности которых входит поиск багов в программном обеспечении, в идеале еще до того, как оно встретится с конечным пользователем. Речь о тестировщиках, специалистах QA.

Ошибки в программном обеспечении называют багами не случайно. Термин обрел и закрепил свое название из-за случая, произошедшего с учеными Гарвардского университета, которые проводили тестирование вычислительной машины Mark II Aiken Relay Calculator. В поисках причины ошибки они добрались и до механических компонентов, где обнаружили мотылька, застрявшего в контактах реле. Насекомое было с почестями вклеено в журнал с сопроводительной надписью: «Первый случай, когда был обнаружен жук».

Первый баг

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

Баг №1

Номер TESTER

Игнорирование глубокого тестирования системы рассылки штрафов за дорожные нарушения в США и раннее начало ее использования на продакшене привело к тому, что, во-первых, владелец машины с номером TESTER получил штраф с несуществующими реквизитами, а владельцы транспортных средств с номерами: NO PLATE, NO TAG, MISSING, UNKNOWN, XXXXXXX вообще начали получать массовые штрафы, причем из мест, где они никогда ранее не бывали.

Баг №2

Маринер-1

Один неверный символ и космический аппарат «Маринер-1» был уничтожен через 293 секунды после старта.

Сначала подвела антенна, обеспечивающая связь с центром, а когда функции по навигации взял на себя бортовой компьютер, который предусматривал такое развитие событий и мог скорректировать полет, из-за бага система навигации некорректно изменила направление полета. Ущерб составил более 18 миллионов долларов.

Баг №3

USS Yorktown

Ракетный крейсер USS Yorktown, чей экипаж в тот момент радовался, что они были на учениях, а не в условиях реального боя, в течение почти трех часов дрейфовал с вышедшими из строя бортовыми компьютерами.

В бортовую систему по ошибке ввели нулевое значение в какой-то переменной, а операционная система, используемая на крейсере, не имела банальной защиты от деления на ноль и перегрузила саму себя.

Баг №4

Эпидемия в WoW

World of Warcraft практически вымер в сентябре 2005. То, что начиналось как интересное очередное обновления игры, вылилось в массовую эпидемию, не предусмотренную разработчиками. Азерот был опустошен.

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

Баг №5

Черный понедельник

19 октября 1987 года вошло в мировую историю как «Черный понедельник». Индекс биржи Dow Jones потеряв 22,6% своей стоимости, S&P 500 упал на 20,4%.

Потери в течение одних суток составили 500 миллиардов долларов.

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

Когда рынок в очередной раз начал падать, роботы сделали то, чему их научили — начали продавать ценные бумаги. Это продолжало подталкивать рынок к спаду из-за перенасыщения и кризис только усиливался, в истерию ударялись все более крупные электронные игроки. К тому моменту, когда люди поняли, что происходит и попытались вернуть себе контроль, было уже поздно.

Баг №6

Предательство Siri

В 2012 году виртуальная помощница Apple — Siri из-за бага предала своих создателей и на вопрос о том, какой телефон сейчас лучший, отвечала «Nokia Lumia 900 4G».

Причина такого отношения к собственным разработчикам крылась в том, что запросы от пользователей обрабатывались компанией-подрядчиком, договоренность с которым не покрывала похожих ситуаций. Как следствие — компания формировала ответы на запросы без особой цензуры, основываясь на статистике из открытых источников.

Баг №7

Паранойя Google

Поисковик Google 31 января 2009 года в течение часа подозревал все сайты, не исключая и собственные сервисы во вредоносности.

Баг был порожден случайным включением символа / в маску, по которой велось сравнение с базой подозрительных ресурсов. Так как слеш присутствует во всех адресах сайтов, соответствующие предупреждения начали выводиться повально.

Баг №8

Джефф Безос

Джефф Безос — глава и основатель компании Amazon, по началу не достаточно внимания уделял процессу тестирования, что вылилось в баг, о котором сам он говорит, как об одном из самых любимых.

Ошибки в скриптах магазина позволяли людям заказать отрицательное количество книг с отрицательной суммой заказа, после оформления которого сумма перечислялась компанией на карточку заказчика.

Баг №9

T-Mobile G1 баг

В первом телефоне на платформе Google Android OS — T-Mobile G1, обнаружился баг: устройство перезагружалось при наборе на клавиатуре слова «reboot».

Баг можно было бы принять за фичу, однако команда срабатывала не из какой-то специализированной консоли, а из любого приложения, даже если вы просто собирались отправить SMS.

Баг №10

Найджел Бразертон и жуткий счет

Компания Npower, являясь поставщиком электричества, не сочла нужным озаботиться достаточным тестированием собственного программного обеспечения. Жертвами оказалась семья Бразертон, которая решила сменить поставщика электричества и выбрала данного поставщика как альтернативу Scottish Power.

При установке нового счетчика сотрудник компании указал в квитанции «0», что для софта компании оказалось равносильным тому, что счетчик сделал максимальное количество оборотов и пошел по второму кругу. По истечению месяца новообретенные клиенты были осчастливлены счетом на сумму 53 480 062 фунта стерлингов.

Заключение

Перечисленные случаи, как мы надеемся, показали вам, на сколько ценен труд тестировщиков и к каким последствиям может привести пренебрежение к нему.

Мы еще раз поздравляем неутомимых борцов с багами с праздником и желаем им не допускать ни одной критической ошибки до релизов!

В свою очередь мы всегда рады предложить в аренду физические серверы и виртуальный дата-центр для нужд тестирования.

Комментарии

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: