Персональная страница Федора Езеева
Главная
Download
Ссылки
MS SQL
Обмен данными
Новости
Статьи
О себе
Крупные разделы...
Коллективная разработка
1С++, OOP, XP
FuncTest
FAQ
Структура 1cv7.md

Назад Содержание Далее

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С после обновления.

Получается что выгода от внедрения автоматического тестирования не в уменьшении времени на разработку и ни в улучшении качества программы, а в уменьшении потерь предприятия от ошибок в программе. Попутно мы частично снимаем с пользователей функцию вечного бета-тестера экспериментов программиста.

Назад Содержание Далее
Rambler's Top100 1C:TOP-100

© 1998-2004 Fedor Ezeev.

Last updated: 2005-09-05