Совершенствоваться – значит меняться, быть совершенным – значит меняться часто. (У. Черчилль)
Позавчера я была на семинаре для программистов и тестировщиков, где нам, в частности, рассказывали, какие ловушки могут подстерегать специалистов при разработке ПО повышенной ответственности.
Например, когда делали программное обеспечение для аэробуса А310, одной из задач было: "как только шасси при посадке коснется полосы, закрылки нужно перевести в положение торможения".
Но как объяснить программе, что "шасси коснулось земли"?
Сначала решили использовать крутящий момент, который становится ненулевым, когда колеса касаются поверхности. Попробовали - и на первом же испытании самолет уехал за пределы взлетно-посадочной полосы. Оказалось, что это из-за дождя. Полоса была мокрой, и колеса начали крутиться не сразу. Запаздывание составило доли секунды, но масса аэробуса так огромна, что ему этого хватило.
Тогда стали использовать другой показатель - изменение давления в шинах, и следующие испытания прошли нормально.
Нетривиальная задачка для тестировщиков, в общем.
Например, когда делали программное обеспечение для аэробуса А310, одной из задач было: "как только шасси при посадке коснется полосы, закрылки нужно перевести в положение торможения".
Но как объяснить программе, что "шасси коснулось земли"?
Сначала решили использовать крутящий момент, который становится ненулевым, когда колеса касаются поверхности. Попробовали - и на первом же испытании самолет уехал за пределы взлетно-посадочной полосы. Оказалось, что это из-за дождя. Полоса была мокрой, и колеса начали крутиться не сразу. Запаздывание составило доли секунды, но масса аэробуса так огромна, что ему этого хватило.
Тогда стали использовать другой показатель - изменение давления в шинах, и следующие испытания прошли нормально.
Нетривиальная задачка для тестировщиков, в общем.