Source
QA Co-pilot | Баг ціною $125 млн: Чому важливо уточнювати вимогиПривіт, екіпаж!Сього...
61 Views/Reach
2026-01-08 11:00
Message №151
🚀 Баг ціною $125 млн: Чому важливо уточнювати вимогиПривіт, екіпаж!Сьогодні без коду і промптів. Історія про те, як одна пропущена нарада між командами знищила космічний апарат.1999 рік. Mars Climate Orbiter. NASA запускає супутник на Марс. Мета: вивчати клімат червоної планети. Бюджет місії: $125 мільйонів. Політ триває 9 місяців. Все йде ідеально. Апарат підлітає до Марса, заходить на орбіту, ховається за планету і... зникає. Назавжди.Що сталося? Інженери почали розслідування. Спочатку думали, що вибухнув двигун. Але правда виявилася смішнішою (і страшнішою).Програму писали дві різні команди:
1️⃣Компанія Lockheed Martin (Колорадо) писала софт для розрахунку тяги двигунів. Вони використовували англійську систему мір (фунт-сила).2️⃣Команда NASA (Каліфорнія) писала софт для навігації. Вони використовували метричну систему (Ньютони).
Коли одна система передала іншій число "тяга = 100", NASA подумали, що це 100 Ньютонів. А це було 100 фунтів. Різниця в 4.45 рази.Через це двигуни відпрацювали занадто сильно (або занадто слабко), і супутник замість орбіти увійшов в атмосферу Марса на наднизькій висоті й просто згорів.Мораль для QA: Цей баг неможливо було знайти в Unit-тестах. Кожен модуль окремо працював ідеально! Помилка була на рівні Integration Testing і Вимог. Ніхто не спитав: "А в яких одиницях ми передаємо дані?".Тож наступного разу, коли ви питаєте аналітика: "А це поле в секундах чи в мілісекундах?" і він закочує очі — згадайте Mars Orbiter. Ви не зануда. Ви економите компанії мільйони.А які найдорожчі (або найсмішніші) баги пропускали ви? 👇