21.05.2018  

Тестеры

Ошибаться страшно, ведь за ошибку наказывают. А за страхом следует либо бездействие, либо новая ошибка. Но есть люди, которые начинают работу с мыслью: «Сейчас я всё сделаю неправильно», и не боятся. Это программисты.

Программист создаёт свой маленький мир, где он работает вместе с сотворенными им программами. Часто только своим программам он и может доверять.

В моей практике был случай. Программа для машины PDP-11, которая вела расчёты каких-то траекторий, долго выдавала странные результаты. Я пользовался стандартной библиотекой встроенных тригонометрических функций. Как же я удивился, когда в результате отладки выяснилось, что синус угла 80° по мнению компьютера равен 3,5! То есть стандартная библиотека содержала ошибки. Я написал свою библиотеку тригонометрических функций, в которой синус с косинусом держали себя в рамках единицы. Программа всё правильно посчитала, но вера в чужие продукты была подорвана.

Результаты тестирования», — покажет на увесистые стопки распечаток искушённый менеджер.

Как проверить, что программа делает то, что от неё требуется? Можно попробовать доказать это математически. Программа рассматривается как теорема: «Если исходные данные удовлетворяют некоторым условиям, то после выполнения данной программы для её результатов будут справедливы некоторые другие условия». Однако проведение этих рассуждений неэффективно, так как требует массы времени и бумаги.