(выношу из коммента мысли вслух)
С т.з. алгебры: многие алгебраические конструкции (моноиды, поля, категории...) имеют определение из двух частей:
1. что там есть (например, есть множество с выделенным элементом и есть двуместная операция) и
2. как оно себя ведет (например, эта операция ассоциативна, а тот выделенный элемент относительно нее нейтрален). И если первое обычно нормально описывается типами, то второе без завтипов редко можно описать, а с оными - все равно сложно и громоздко бывает. Так вот, тестами как раз можно описывать вторую часть, пусть и не очень надежно. Такие тесты можно считать частью типа.
С т.з. ремесла: покрытие некоторого кода тестами - это материальная справка о том, что данный код был запущен хотя бы единожды. Ибо некоторый код может быть написан, успешно скомпилирован, но он может вызываться в редких условиях, и потому довольно долго оставаться ни разу не проверенным. А если он накрыт тестом, то по крайней мере у нас есть справка, что он не совсем уж безумен.
С т.з. алгебры: многие алгебраические конструкции (моноиды, поля, категории...) имеют определение из двух частей:
1. что там есть (например, есть множество с выделенным элементом и есть двуместная операция) и
2. как оно себя ведет (например, эта операция ассоциативна, а тот выделенный элемент относительно нее нейтрален). И если первое обычно нормально описывается типами, то второе без завтипов редко можно описать, а с оными - все равно сложно и громоздко бывает. Так вот, тестами как раз можно описывать вторую часть, пусть и не очень надежно. Такие тесты можно считать частью типа.
С т.з. ремесла: покрытие некоторого кода тестами - это материальная справка о том, что данный код был запущен хотя бы единожды. Ибо некоторый код может быть написан, успешно скомпилирован, но он может вызываться в редких условиях, и потому довольно долго оставаться ни разу не проверенным. А если он накрыт тестом, то по крайней мере у нас есть справка, что он не совсем уж безумен.
no subject
Date: 2013-12-24 10:00 pm (UTC)мол, типы это общие, но слабые теоремы
а тесты - конкретные и сильные
no subject
Date: 2013-12-25 12:34 am (UTC)Но очевидно, не наоборот.