Персональная страница Федора Езеева | ||||||||||||||||||
|
Назад Содержание Далее FuncTest. Отзывы пользователей.--- artbear ---Источник - ICQ artbear (16:41) : Добрый день! От меня лично ОГРОМНАЯ БЛАГОДАРНОСТЬ за FuncTest он сегодня мне помог решить большую и сложную проблему с расчетом оплат и реализаций. fez (16:45) : Расскажешь, как дело было? artbear (16:49) : Короче, исправлял типовой расчет оплат и отпуска продукции. Полезли какие-то глюки с авансами, типовая почему-то неверно их распределяла, соответственно НДС и т.п. Главбух меня чуть не убила, когда увидела расхождения, особенно в закрытых месяцах со сданным отчетом по НДС. Сделал свою процедуру, но т.к. все не так просто, для одной конторы правильно, для другой неверно начало считать. Я сделал набор тестов для правильной конторы, подправил прогу , пересчитал для неправильной, опять создал новый набор тестов, проверил, все ОК, и так 4 раза (4 набора тестов). Очень они мне помогли контролировать правильность своей работы fez (16:51) : А можешь оценить, сколько бы ты времени ковырялся без Фанктеста? artbear (16:52) : сложно сказать, но скорее всего бы не один час, потому что снова и снова возвращался к исправлению модулей и сверке через отчеты fez (16:54) : Но насколько бы дольше было бы без Фанктеста? artbear (17:26) : По поводу экономии времени: 1) если бы я не пользовался репозитарием CVS, имхо время бы увеличилось на ПОРЯДОК как минимум. А так я перед каждым "Большим" изменением закидывал свой класс расчета в репозитарий CVS Самая большая проблема была бы именно в ПОВТОРНОМ поиске возможных ошибок. Т.е. надо сверять два отчета (до и после), находить неверные места, подумать и найти ошибку. Особенно "интересно", когда сверяешь подокументно за несколько дней / месяц А самое главное, что без использования тестирования, подобно FuncTest, нет ПОЛНОЙ уверенности в правильности твоих исправлений. fez (17:30) : По опыту предыдущих похожих задач - сколько времени тебе сэкономил Фанктест? artbear (17:31) : С FuncTest работа за 2 часа. Без него - минимум день Т.е. часов 8-10 --- Wasya ---Источник - http://www.forum.mista.ru/topic.php?id=6494 Поделюсь пока небольшим опытом внедрения FuncTest. В первую очередь, внедрил автоматическое тестирование модулей проведения. Все работает нормально. Затраты на поддержание тестов в актуальном состоянии небольшие. Одна беда писать модули проведения легко и одно удовольствие. Данные уже готовы и структурированы. Участие в этом процессе вредных пользователей минимально. По моим оценкам затраты на написание и исправление модулей проведения заметно меньше 10%. Во вторую очередь тестировал отчеты. По условиям функционирования FuncTest, надо было адаптировать отчет под автоматическое тестирование. Это конечно не очень нравиться. Вот где пожалел, что в 7.7 нет препроцессорных команд. Не нравится и способ передачи таблицы результатов из отчета в FuncTest, но тут уж на то воля автора. В отчете у меня была уж очень хитрая ошибка (а если кодер грамотный, то только такие и могут быть) пришлось помучиться с моделированием ошибочной ситуации в тестовой базе. В данный момент пытаюсь тестировать процедуры глобального модуля. Принцип такой создал внешнюю обработку, которая принимает от FuncTest задание и вызывает процедуру глобального модуля. Результаты в виде таблицы значений передает обратно в FuncTest. На написание обработки, заполнение тестовой базы данными ушло два часа. Баг исправлялся 5 минут. Причем если бы я не использовал автоматическое тестирование, время на исправление бага было бы таким же. Обидно, что может к этой процедуре я больше никогда и не вернусь и соответственно затраты на автоматическое тестирование ушли впустую. Какие предварительные выводы у меня получились? Область применения FuncTest жестко ограничена. Можно тестировать все – что не изменяет данных. БД до тестирования и после тестирования должна оставаться неизменной. Затраты времени (соответственно рублей) на разработку заметно увеличиваются. Это пассив, а что в активе? Чего больше всего боится программист, после обновления конфигурации? Что перестанет работать то - что работало. Примеры из жизни: Надо было немного переделать печатную форму документа. Само исправление заняло немного времени, но попутно решил провести рефакторинг – чуть-чуть оптимизировать код. Сделал это не аккуратно. В результате менеджеры целый день выдавали документы с ошибкой. Менеджеры уже привыкли, что проблем у них никаких и тщательно не проверяли, что у них печатается. Да и ошибка проявлялась не всегда и была малозаметной (итоговые суммы были правильными). Ошибка обнаружилась только в конце дня. Второй пример крупнее. Одна довольно крупная фирма по продаже компьютеров в течение дня не могла принимать заявки у корпоративных покупателей из-за проблем с 1С после обновления. Получается что выгода от внедрения автоматического тестирования не в уменьшении времени на разработку и ни в улучшении качества программы, а в уменьшении потерь предприятия от ошибок в программе. Попутно мы частично снимаем с пользователей функцию вечного бета-тестера экспериментов программиста. Назад Содержание Далее | |||||||||||||||||
© 1998-2004 Fedor Ezeev. |