Най-лошите грешки в историята
Какво пишат в блоговете
Буболечки и дупки
• Визуални илюстрации на възможни сценарии с програмен код.
Прост масив
Онлайн обучения
Присъствени обучения
Конференции
Какво пишат в блоговете (EN)
„Завърших тестването на тази функция,
и мисля, че е готов за изпращане”
„Готови ли сте да заложите на това?“
Тестерите като собствените си най-лоши врагове
Раздели на портала
Относно инструментите
Най-добри работни места
Селекцията е изготвена от Олга Алифанова
Всички знаем, че бъговете могат да бъдат ужасно досадни. Но освен дребни проблеми, те могат да причинят и огромни загуби, щети и дори смърт. Порталът Software-Testing.ru подготви селекция от най-катастрофалните грешки в историята.
1962 г. Ракета Mariner 1
Резултатът от грешката: ракетата Mariner 1, насочена към Венера, се отклони от маршрута почти веднага след изстрелването. Тъй като рискът от падането му беше много голям, инженерите на НАСА дадоха команда за самоунищожение. Ракетата се задържа във въздуха 293 секунди. Загубите възлизат на 18,5 милиона долара.
Причина: Програмист е вградил неправилно ръкописна формула в компютърен код, като е пропуснал ред над знак. Тъй като тази функция отговаряше за изглаждането, софтуерът разпозна нормалните отклонения от зададената скорост като критични. В резултат на това бордовият компютър направи неправилни редакции и изби ракетата извън маршрута.
1978 срутване на Hartford Civic Center (Hartford Coliseum)
Резултатът от грешката: в рамките на няколко часа след срещата на два баскетболни отбора стоманеният покрив на стадиона се срути под тежестта на мокрия сняг. Загуби - 70 милиона долара, а щети за местната икономика с още 20 милиона.
Причина:CAD програмистът - софтуерът, който беше използван за проектирането на стадиона - предположи, че опорите на покрива само ще се компресират. Така че, когато един от тях се срути под тежестта на снега, това предизвика верижна реакция и покривът се срути като домино.
Газова експлозия на Транссибирската железница през 1982 г
Всъщност този инцидент най-вероятно никога не се е случвал в действителност - американски източници твърдят, че се е случило, съветски (български) отричат.
Резултатът от грешката: софтуерът, отговорен за управлението на газопровода, се провали и започна да херметизира тръбите. Резултатът беше най-мощната неядрена експлозия в историята, причинена от хора, а не от природни явления.
Причина: вероятно грешки, специално въведени в софтуера на ЦРУ - софтуерът е придобит като част от план за копаене на секретни американски технологии. Някои източници от КГБ твърдят, че експлозията е причинена от конструктивни особености, а не от софтуер, някои отричат експлозията напълно.
1983 г. Трета световна война. почти.
Резултатът от грешката: повреда в съветската система за ранно реагиране доведе до фалшив доклад за изстрелването на пет балистични ракети от Съединените щати. За щастие дежурният офицер Станислав Петров усетил, че нещо не е наред - ако САЩ нападнат, решил той, те ще изстрелят още ракети. Тревогата е съобщена като фалшива.
Причина: Грешка в софтуера направи невъзможно разграничаването на изстрелването на ракета от отраженията на слънцето върху облаците.
1985 лекари убийци
Резултатът от грешката: Медицинското устройство за лъчева терапия Therac-25 се повреди и даде смъртоносна доза радиация на пациентите. Четирима души са загинали, а други двама са със сериозни увреждания.
Причина: устройството имаше два режима на работа - първият, когато лъчътелектроните са били насочвани директно към пациента в малки дози, а вторият, когато лъчът първо е бил насочен към метална „мишена“, която го е превръщала в радиационни лъчи и го е предавала на пациента. В предишните модели на апарата вторият режим беше снабден с физически детектори за наличие на „мишена“ на място, така че лъчите да не се насочват директно към пациента в огромни дози. В Therac-25 физическите детектори бяха заменени със софтуерни. За съжаление, софтуерът беше подложен на "аритметично претоварване" - системата започна да използва във вътрешни изчисления число, което беше твърде голямо за операции с него. Ако в този момент операторът настройваше машината, проверките за сигурност биха се провалили и „мишената“ нямаше да се премести на мястото си. В резултат на това пациентът получава 100 пъти по-голяма доза радиация.
Крахът на Уолстрийт през 1987 г
Причина: Бичият пазар за дълги позиции беше спрян поради разследвания от Комисията по ценните книжа на САЩ и други инциденти. Когато пазарът започна да пада, софтуерът за търговия със софтуер автоматично започна да изхвърля ценни книжа, насищайки пазара.
Според някои доклади грешката в софтуера може да не е причинила срива на борсата - кризата започна в Хонконг, където търговията със софтуер не беше широко разпространена.
1990 AT&T тишина
Резултатът от грешката: превключвателят на една от 114-те телефонни централи на AT&T беше механично повреден и автоматично изключи телефонната централа. Когато телефонната централа се включи, тя изпрати съобщение до другите телефонни централи, което ги накара да се изключат и AT&T мрежата беше изключена за девет часа. Централните централи продължиха да се рестартират последователно и компанията първоначално помисли, че е била хакната. 60 хиляди души не успяха да преминат, общата загуба на компанията възлиза на 60 милиона долара.
Причина: ред код в сложна актуализация за PBX софтуер,създадена с цел да се увеличи скоростта на обмен на данни. Първоначално суичовете работеха на следния принцип - ако единият се повреди, той изпращаше съобщение "не ме безпокойте" на останалите, а другият суич поемаше трафика на счупения, рестартирайки се, за да премине в друг режим и да не пречи на първия суич. Прекъснатият работещ превключвател провери счупения и ако открие активност, той се рестартира отново, за да премине в нормален режим. След въведеното подобрение, проблемният превключвател изпрати две съобщения, като второто изпревари работещия превключвател точно в момента на рестартирането. Вторият превключвател предположи, че нещо не е наред с неговата собствена вътрешна логика и изпрати допълнително съобщение „не безпокойте“, предавайки проблема на следващия превключвател. В резултат на това беше достатъчен един провал - и цялата система се оформи като домино.
1991 Патриот и война в Персийския залив
Резултатът от грешката: зенитно-ракетната система Patriot не успя да прихване иракска ракета, която удари американските казарми. 28 души са убити, 100 са ранени.
Причина: поради грешка при закръгляване в софтуера на ADMC, той неправилно изчисли времето и в резултат на това ракетата беше игнорирана. На всеки 100 часа непрекъсната работа на комплекса се получаваше отклонение от 1/3 секунда.
1993 Pentium и грешка с плаваща запетая
Резултат от грешка: новият чип Pentium на Intel периодично правеше грешки при разделяне на числа с плаваща запетая в рамките на определен диапазон. Например 4195835.0/3145727.0 върна 1.33374 вместо 1.33382 - грешка от 0.006%. Проблемът засегна малък брой потребители, но се превърна в кошмар за PR отдела. Имаше около 5 милиона дефектни чипа в употреба. Intel първоначално предложи да замени чиповетесамо за тези, които докажат, че имат нужда от такава висока точност - но в резултат на това всички чипове бяха заменени. Загуби - 475 милиона долара, голяма щета върху репутацията на компанията.
Причина: Грешка в таблицата за деление причини приблизително 5 от всеки 1000 показания да бъдат пропуснати, което доведе до грешка при закръгляване.
Ракета Ariane от 1996 г
Резултат от грешката: Най-новата безпилотна ракета на Ariane беше унищожена няколко секунди след изстрелването. Заедно с ракетата загинаха четири научни сателита, предназначени да изследват взаимодействието на магнитното поле на Земята със слънчевите ветрове. Загубите възлизат на 500 милиона долара (сателити) плюс 8 милиарда долара разходи за разработка на Ariane.
Причина: Бордовият компютър се опита да преобразува скоростта на ракетата от 64-битова в 16-битова. Резултатът беше твърде голям и компютърът не успя. Управлението на ракетата беше прехвърлено на модула за безопасност, който използваше същия алгоритъм и на свой ред се изключи.
Мисията на Mars Climate Orbiter през 1998 г
Резултатът от грешката: на 286-ия ден от полета си сателитният транслатор Mars Climate Orbiter започна прехода към силно елиптична орбита на Марс. Апаратът включи двигателите за спиране и "излетя" в орбитата. Най-вероятно той е попаднал в атмосферата на Марс и се е разбил. Загубите възлизат на 125 милиона долара.
Причина: Софтуерът, който контролира тягата на двигателя, използва паундове сила вместо нютони като мерна единица. Командите за тягата на двигателя приемаха нютони, което доведе до отклонение в курса на сателита.
1999 катастрофа катастрофа
Причина: Програмна грешка удвои броя на самоубийствата за една година в периода на изследването. Това беше достатъчно, за да изкриви резултатите до неузнаваемост.изследвания.
Британски паспорти от 1999 г
Резултатът от грешката: системата на Siemens, току-що внедрена от британската паспортна агенция, не можа да се справи с навременното издаване на паспорти за 500 000 жители на Обединеното кралство. Компанията изплати компенсации на засегнатите граждани и служители за обработка и плати чадъри за чакащите на опашката - това бяха традиционни британски дъждове. Общи загуби - 12,6 милиона паунда.
Причина: системата не е тествана и не е проведено обучение на персонала. Инсталирането на системата съвпадна с нов закон, който изисква всички деца под 16 години да носят паспорт, когато пътуват в чужбина. Ръстът в търсенето на услугата за издаване на паспорти се превърна в голямо изпитание за новата, необработена система.
2000 Лекари убийци, брой 2
Резултатът от грешката: Софтуерът за лъчева терапия е изчислил погрешно дозата, излагайки пациентите на вредни и понякога смъртоносни дози радиация. Лекарите, от които се изискваше да проверят отново изчисленията на програмата, бяха осъдени за убийство. Общо загинаха 8 души, нанесени са непоправими щети на здравето на други 20.
Причина: Програмата изчисли дозата въз основа на реда на щитовете около пациента. Претовареният, уморен персонал реши да подреди щитовете в ред, който не беше в ръководството - този ред значително намали времето за подготовка за терапия. За съжаление, определен ред щитове причини двойно повече излагане на пациента поради грешка в системата.
Катастрофата на Osprey през 2000 г
Резултат от грешката: Osprey tiltrotor, хибрид на самолет и хеликоптер, се разби, когато системата превключи от режим самолет към режим хеликоптер за кацане. 4 американски морски пехотинци са убити. Бордовият компютър откри уязвимост в хидравличната система испря двигателите. Пилотите действаха според инструкциите и рестартираха компютъра, за да стартират отново двигателите. Двигателите бързо заглъхнаха и тилтроторът падна в блатото.
Причина: софтуерна грешка. Спецификата е класифицирана и не се разкрива. Не е известно и кой е виновен за грешката - наклоноторът е произведен съвместно от Boeing и Bell Helicopter.
Грешка при удостоверяване на Windows 2007
Резултатът от грешката: хиляди потребители на Windows по погрешка са получили съобщение, че системата им е пиратска. Потребителите на Windows XP почти не бяха засегнати - системата само ги информира, че използват нелегален софтуер. Потребителите на Windows Vista са имали редица деактивирани функции, включително Aero и поддръжка за виртуални RAM дискове.
Причина: нетествана система беше качена случайно в prod. Грешката беше открита половин час по-късно, но пуснатата актуализация реши проблема само с активациите, а валидирането продължи да се проваля. Дефектният софтуер работи около 19 часа, причинявайки проблеми на много потребители на операционната система.
2008 Хийтроу Терминал 5
Резултатът от грешката: в новия терминал на Хийтроу беше инсталирана най-съвременна система за контрол на багажа, предназначена за превоз на различни стоки. Системата е обстойно тествана с над 12 000 чанти и куфари. В резултат на това в деня на откриването на терминала 42 000 куфара бяха изгубени, без да тръгнат със собствениците си. Повече от 500 полета са отменени. Чекирането за други полети е временно спряно.
Причина: системата не успя да се справи с реални сценарии, които по някаква причина не бяха тествани по време на тестването. Например ръчното премахване на багажа от колана (пътникът изведнъж си спомни, че в момента има ценно и необходимо нещо) подлуди програмата и тя се изключи.
2012 ггодина, колапс на Knight Capital Group
Резултатът от грешката: след като загуби 440 милиона долара за 30 минути, компанията беше принудена да се съгласи на сливане. Един от най-големите играчи на търговския пазар в САЩ загуби 75% от акциите си за една нощ. Както при краха на Уолстрийт, виновни бяха роботите за търговия.
Причина: Грешка в алгоритъма за търговия накара софтуера да направи грешни сделки, като купува високо и продава ниско - както можете да предположите, това изобщо не е това, което обикновено се нарича успешна стратегия за търговия.