Смертельные баги: подборка ошибок в ПО, приведших к тяжелым последствиям для людей
Мы привыкли, что баги в повседневной жизни становятся поводом для шуток, или — в худшем случае — раздражают. Но в этих ситуациях было не до смеха.
Как ошибки в ПО привели к ужасающим последствиям, читайте в нашей подборке:
- Эллейн Херцберг попала в историю, как первый человек, который погиб под колесами беспилотного автомобиля. Весной 2018 года в темное время суток машина Uber засекла преграду, в начале приняв ее за мусор, потом — за животное, и только через пару метров распознав человека. Самоуправляемая Volvo не успела затормозить и врезалась в пешеходку на скорости 63 км/ч, что привело к смерти женщины.
Кадр с видеорегистратора за секунды до столкновения
Неужели машина была абсолютно пустой? Нет. Тестирование проходило на модифицированном Volvo XC90, у которой была отключена система экстренного торможения, чтобы не мешать ПО Uber управлять машиной. Задача тормозить в экстренных случаях была положена на плечи человека за рулем. В данном случае это была 46-летняя Рафаэла Васкес. Однако она отвлеклась на просмотр шоу в телефоне и переходившую дорогу женщину не заметила.
После трагедии Uber свернула эксперимент. Водительница избежала уголовной ответственности, но чиновники считают недостаточный контроль за экспериментом со стороны корпорации одной из причин трагедии.
- Аппарат лучевой терапии Therac-25 стал самым резонансным случаем в истории программирования медицинских девайсов. Из-за программных ошибок при быстром переключении режимов заслонка для рентгеновских лучей не успевала установиться. В результате пациенты получали ожоги с дозами радиации в 15—20 тыс. рад (облучение всего тела в 1000 рад считается смертельным, обычные терапевтические дозы не превышают 200 рад), что приводило к лучевой болезни и впоследствии к ампутации зараженных частей тела или к смерти.
Эти программные ошибки считаются приведшими к одним из наихудших последствий за всю историю использования компьютеров.
- 25 февраля 1991 года установка ПВО Patriot не смогла перехватить ракету, пущенную со стороны сил Саддама Хусейна. Та приземлилась в казарму с военными. Погибло 28 человек, ранено — около сотни.
В чем была ошибка работы Patriot? Оказалось, что внутренний таймер ЗРК имеет погрешность, связанную с программным обеспечением: если комплекс работает в непрерывном режиме больше 20 часов, то система видит ракету, но не может ее перехватить и сбить.
К 25 февраля 1991 года Patriot находились в дежурном режиме более 96 часов, что и привело к ошибке. Пожалуй, перезагрузка тут могла бы спасти жизни.
- 15.11.2017, Сингапур. В лучшей транспортной системе мира произошла серьезная ошибка. Метро Сингапура допустило баг в коммуникации двух поездов.
Электроника поезда, подъезжающего к станции, определила уже стоявший там другой поезд как 3-вагонный вместо 6-вагонного. И хотя машинист успел дать по тормозам, скорость это не особо снизило. Результат — столкновение и 29 пострадавших, обошлось без погибших.
- 5.12.2010 российский ракетоноситель Протон-М пошел на дно Тихого океана с тремя спутниками Глонасс-М. Причина — неправильная формула, в результате расчетов которой масса одного из заправленных баков оказалась выше допустимого на более чем полторы тонны. Как оказалось, формула ранее была исправлена и даже заведена в систему: планировалось внести изменения позже. Но с течением времени многие задания закрывали, как не важные. В игнор попала и злосчастная формула.
Пожалуй, эта история — повод хорошенько подумать над закрытием своих тасков в Jira.
Ну а если вы мечтаете спасать людей и бороться с багами, делая мир безопаснее, самое время начать карьеру тестировщика с курсом по тестированию ПО от Лаборатории Качества, в конце которого вас ждет стажировка на настоящем проекте! Можно будет получить первый опыт еще до устройства на работу, провести тест-драйв своих навыков и подкрепить резюме практикой в реальной IT-компании.
Присоединяйтесь к обучению по ссылке: