Мы вынуждены приостановить обучающую деятельность на территории России с 10 марта 2022 года

Ко дню тестировщика: самые интересные программные баги

Содержание:

Во всем современном мире 9 сентября отмечают день тестировщика. Именно этот повод и стал темой нашего обсуждения сегодня. Материал, представленный дальше, мы построили на оценке наиболее эффективных и распространенных ошибок и багов, которые долгое время обсуждаемы во всем мире.

Что такое баг?

Программный баг – это жаргонизм, обозначающий ошибку, возникшую в программе или системе, приводящую к определенным последствиям. Впервые слово «баг» или bug употребил Томас Эдисон, который не мог понять, почему, собранный по всем правилам и расчетам фонограф упрямо отказывался работать. Проверив несколько раз все узлы и детали, он разобрал изобретение и собрал его снова, после чего фонограф заработал. Ученый предположил, что при прошлой сборке в систему мог попасть какой-то жучок – баг. В будущем это слово он использовал и для других неисправностей.

Ко дню тестировщика: самые интересные программные баги

ТОП-8 распространенных багов

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

Истинный баг

Первый в топе, открытый учеными Гарвардского университета при тестировании программных продуктов ПК Mark II Aiken Relay Calculator. В данном случае они нашли бабочку, которая просто застряла между контактами реле. Этот факт вызвал КЗ, заставив программу работать неправильно.

Насекомое извлекли и поместили в рамочку с надписью «Первый в истории человечества bug». Вся эта ситуация происходила 9 сентября 1945 года. На наших курсах тестировщика слушателям подробнее расскажут о том, как и насколько широко отмечается профессиональный праздник.

Y2K – проблема 2000

Y2K считается второй по значимости проблемой текущего тысячелетия. В 20 веке разработчики программного обеспечения для обозначения текущей даты использовали две последние цифры, а не 4, то есть, писали не 1994 год, а «94». Таким образом информация хранилась довольно компактно, а в базах данных учитывалось много дат.

1 января миллениума стало настоящим коллапсом, поскольку во всем мире происходили многочисленные сбои в системах, обесточивались целые города, отключалось отопление, а общая сеть просто зависала. Все эти неприятности были вызваны лишь сокращением написания года. Как только наступил 2000, машины тут же восприняли его как 1900, что стало основной причиной возникновения ошибки. Однако разработчики позаботились о предотвращении последствий катастрофы, которую предугадывали, заранее, поэтому никаких масштабных и разрушительных последствий не возникло.

Ping of Death

Эта проблема родом из 90-х. Возникала она по причине того, что компьютеру-жертве посылался эхо-запрос (Ping), после чего система была полностью парализована. Данная точка уязвимости наблюдается в разных операционных системах, в том числе в Windows, Unix, Linux, Mac.

Суть атаки заключается в посыле большего объема информации, чем зафиксированный в стандартном протоколе. Превышение цифры в 65 535 байт вызывало у системы переполнение сетевого стека и сбой в работе.

Загадка Amazon

В самом начале работы торговой площадки Amazon нередко случались ситуации, когда покупка товаров клиенту приносила прибыль. Действительно, стоимость заказанной вещи в полном объеме возвращалась на карту, а не списывалась с нее. Это глупое недоразумение объясняется тем, что создатель магазина Д. Безос сильно увлекся обновлениями для своего проекта, совсем забыв о том, что любая машина требует предварительной и регулярной отладки для того, чтобы она работала особенно эффективно.

По словам самого разработчика, это и стало причиной сбоя. Такие нелепые ошибки можно было наблюдать и в работе других интернет-магазинов. В некоторых из них скидка на товар указывалась в коэффициенте 0,01, тем самым давая покупателю возможность приобрести товар по стоимости 1% от заявленной.

Как упала AT&T

Один из коммутаторов AT&T был поврежден механическим способом, о чем было отправлено сообщение другим АТС. Цепная реакция, запустившись практически мгновенно, парализовала телефонную сеть на 9 часов. В результате более 60 тысяч человек остались без связи.

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

После этого сторонние коммутаторы регулярно тестировали поломанный на восстановление работоспособности. Однако в данном случае станция выслала не один, а сразу 2 сигнала, причем второй пришел на станции как раз в момент их перезагрузки, в результате чего последние тут же «решили», что сломались и сами, и начался настоящий хаос. Совокупные потери компании-владельца в результате возникновения данной ситуации составили около 60 млн.$.

Взрыв Ariane 5

4 июня 1996 года на 40 секунде полета произошел взрыв ракеты-носителя Ariane 5. Ситуация случилась в результате неверной работы бортового программного обеспечения. В топе самых дорогостоящих багов этот занимает позицию лидера. Данный сбой обошелся почти в полмиллиарда долларов.

Ко дню тестировщика: самые интересные программные баги

Простенький Microsoft Bob

Относительно недавно существовала операционная среда Microsoft Bob – система с максимально упрощенной графической оболочкой. Внешне представляла собой обычный дом с разными комнатами, в которых существовали инструменты, открывающие разные программы. Например, ручка означала, что можно открыть текстовый редактор и начать писать, часы вызывали показатели времени, выводящиеся на экран.

Комфорт, уют и красота не стали основой для системы безопасности ОС. После того, как пользователь совершал три ошибки, программа вновь запрашивала пароль для входа, а потом предлагала сгенерировать новый. Это открывало мошенникам разных уровней все двери для проникновения в по умолчанию «защищенную» систему.

Пушистый баг

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

Присоединяйся к DevEducation — стань востребованным специалистом и построй карьеру в IT!