unit тестирование
От: Аноним  
Дата: 22.02.05 12:47
Оценка:
Народ не дайте помереть дураком, объясните в чем фикус subj'а?
Читал инет, думал, так и не понял как их делать и что они (тесты) должны делать. Может я просто не могу понять концепцию?
Насколько я понимаю unit тесты в общем случае гарантируют (должны гарантировать?), что код выполняет заявленную функциональность.
Но, к примеру имеем функцию sqrt(unsigned x), для того, что бы что-либо гарантировать мы должны выполнить полное покрытие для всех значений х и при этом уже иметь готовый правильный результат. И так собственно для всех функций, разве нет? Учитывая, что количество вариантов стримится к бесконечности, явно имеется ввиду не то? Тогда что? Или что должны делать тесты, если речь идет о внешних сущностях? Например пользователь должен подня трубку и куда-то позвонить, причем результат зависит от номера на который он позвонил, и в свою очередь зависит от настроек телефоной станции. Количество вариантов так же немерянно, если не бесконечно, а написание хоть сколько-нибудь адекватных тестов сродни написания самой системы, поскольку основано на тщательном анализе стандартов. Даже если это автоматизировать, то как учесть человеческие ошибки? Человек может уронить трубку, набрать не тот номер, и сделать еще массу неправильных вещей, которые, тем не менее, должны быть отработаны правильно. Это не тот случай или я что-то не понимаю? Если тесты покрывают все, то их количество бесконечно, если не все, то какой в них смысл? Как заменить человека роботом, возможно ли это вообще? Имеют ли смылс потуги на частичную замену, если все равно это не гарантирует ничего? Что вообще имеется ввиду под данным термином в XP? Может кто-нибудь объяснить?
Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.