Про важность качественного тестирования.

Про важность понимания типов данных, внимательность и качественное тестирование.

В 1996 году французская ракета взорвалась в воздухе из-за проблемы преобразования типов.

Возникшая ошибка в программном модуле ИСО произошла во время конвертации 64-битного вещественного числа в 16-битное знаковое целое, и при этом случилось арифметическое переполнение последней. Эта переменная (E_BH, англ. Bias Horizontal, горизонтальное смещение) показывала горизонтальное смещение инерционной платформы и была связана с горизонтальной скоростью ракеты. В программном модуле, вызвавшем ошибку, было семь переменных, из которых четыре были защищены. Строка программного кода, при выполнении которого произошла ошибка, выглядит следующим образом:

P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS(                                  TDB.T_ENTIER_16S(                                      (1.0 / C_M_LSB_BH) * G_M_INFO_DERIVE(T_ALG.E_BH)                                  )                              );

Про важность качественного тестирования. | Сетка — социальная сеть от hh.ru