Имя: Пароль:
1C
 
v8: Экстремальное программирование и 1С. И хочется и колется...
0 Лефмихалыч
 
26.10.06
16:12
Прочитал надысь Кента Бека и пришел к выводу, что методики ХР для нашей конторы очень полезны.
Просто у нас база разрослась (самописная торговля для фармацевтической организации), да и команда разработчиков-программоидов сменилась практически полностью с момента начала разработки по сегодняшний день. И, в общем, уже толком ни кто не знает, что наша конфа и как делает, по этому, когда вносишь какие-то изменения в МД, иногда случается так: прибегает какая-нить тётька (которую ты только на новогодней корпоративной линейке встречаешь - сотров у нас больше ста) и воет белугой, что, дескать, "я годами пользовалась вот такой вот фичей (а про эту фичу ни кто кроме нее не знает теперь уже), а теперь эта фича не работает!!! Верните взад!"
Так вот, господа знатоки, внимание, так сказать, вопрос:  кто-нибудь задумывался о том, как бы так прикрутить к 1Сv8 автоматическое тестирование модулей? К чему привели эти раздумья?

ЗЫ Понимаю, что дико звучит, но уж больно хочется, шоб всё было так же красиво, как у Бека в книжке 8)
1 Волшебник
 
26.10.06
16:14
речь про 7.7 или 8.0 ?
2 Лефмихалыч
 
26.10.06
16:14
про v8
3 Волшебник
 
26.10.06
16:14
Функциональное тестирование для 1С 7.7.
http://1c.alterplast.ru/functest/index.html
4 Лефмихалыч
 
26.10.06
16:16
(3) это я читал (собсно, это и побудило почитать Бека). А для восьмерки что-то есть?
5 Подполковник
 
26.10.06
16:16
(3) а я думал не исправишь сабж...
6 Волшебник
 
26.10.06
16:19
(5) Это мог сделать любой инженер знаний
7 КонецЦикла
 
26.10.06
16:25
Организуй свое выступление на новогодней вечеринке, переговори со всеми тетками
Это же так увлекательно!
8 Лефмихалыч
 
26.10.06
16:25
(7) о чем с ними переговаривать?
9 Лефмихалыч
 
26.10.06
16:32
я какую-то куйню затеял или просто в контексте восьмерки ни кто ни о чем подобном не задумывался?
10 Лефмихалыч
 
26.10.06
16:40
эх...
11 Лефмихалыч
 
26.10.06
16:50
завтра ищо апну
12 Волшебник
 
26.10.06
16:51
(9) Мало кто из 1С-ников вообще задумывался о повышении качества разработки.
13 Лефмихалыч
 
26.10.06
16:54
(12) да тут уже не столько о качестве речь, сколько о возможности вообще внесения каких-то изменений 8)
14 Господин ПЖ
 
26.10.06
16:54
(0) Ресурсоёмкая затея...
15 Господин ПЖ
 
26.10.06
16:56
(13) Для хранения истории и групповой разработки есть хранилище. Только реализация как всегда в 1С - через зад.
16 Волшебник
 
26.10.06
16:56
"воет белугой"
не белугой, а белухой
белуга - это рыба такая. А вот белуха - это такой северный дельфин, который умеет офигенно свистеть. Так, что уши закладывает
17 Господин ПЖ
 
26.10.06
16:57
(+15) ИМХО лучше рыть в эту сторону - больше эффекта даст при меньших затратах.
18 Волшебник
 
26.10.06
16:59
(15) А какие проблемы с реализацией?
19 Лефмихалыч
 
26.10.06
16:59
(16) ёпт, спасибо, буду знать 8)
(17) с теорией ХР знаком? мне не истории хранить охота, а автоматическое тестирование запузырить, чтобы некий механизм при любых изменениях мог мне сказать: "Ты конечно молодец, но завтра к тебе прибежит вот эта тётька и вон тот вон дядька, поскольку такой-то и такой-то функционал не работает"
20 Лефмихалыч
 
26.10.06
17:00
в хранении истории версий большого смысла с точки зрения повышения качества программирования не вижу ни какого... да и с многих других точек зрения - тоже не вижу смысла...
21 Господин ПЖ
 
26.10.06
17:04
(18) При работе с большими конфами - типа УПП скорость удручает... При подключении клиентская часть полча переписывается. Зачем было сращивать функционал VSS с конфигуратором??!! Я понимаю, что так проще, но из за это куча проблем на самом деле. Сделали бы нормальный аналог VSS. Изменил чего-то в реквизите - закинул изменения, попытался "достатать" предыдыщее состояние - зависло всё...

ЗЫ Валяется вся эта требуха в файловом виде - надежности это тоже не добавляет, особенно при работе по сети.
22 Господин ПЖ
 
26.10.06
17:06
(20) Не согласен. Оно очень помогает при групповой разработке, анализе изменений или претензий или ошибок, сборке релизов.
23 wt
 
26.10.06
17:08
Хорошая идея.
Как первый вариант - делать перечень операций и затем сравнивать полученный результат с эталоном.
24 Лефмихалыч
 
26.10.06
17:09
(23) браво! только до этого я и сам догадался.. в сущности, только жо этого я в свете (0) и догадался 8)
вопрос не в этом, а в том КАК это сделать...
25 Господин ПЖ
 
26.10.06
17:10
(21) >>При подключении клиентская часть полча переписывается.

Т.о. надо дофига места и времени чтобы что-то внести из независимой базы. Развернуть базу в пустую папку с подключением к хранилищу, захватить объекты, объединить эту базу со своей, в которой изменения, сохранить, вернуть объект. Это масса сил и времени.
26 Волшебник
 
26.10.06
17:11
(25) Согласен
27 smaharbA
 
26.10.06
17:12
(0) Абак-ов накупите...
28 Господин ПЖ
 
26.10.06
17:13
(26) Лучше бы они нормальную интеграцию с VSS сделали. Вот это была бы зачотная система...
29 Лефмихалыч
 
26.10.06
17:13
(22) это нужно для чего? для поиска и исправления ошибок, а так же дя отката в случае ошибок. Автоматическое тестирование делает то же самое, только лучше - храня историю версий, ты рано или поздно над каким-нить участком системы потеряешь контроль, а если ты будешь тесты хранить и при каждом изменении их прогонять, от забыть или упустить чего-то ты уже не сможешь
30 Neco
 
26.10.06
17:14
Да, жаль нельзя распределенное хранилище юзать
31 smaharbA
 
26.10.06
17:17
Вы че все такие умные...?
Знаете присказку, современную... -
...
- Чем лучче принтер тем больше расход бумаги...(R)
32 Господин ПЖ
 
26.10.06
17:18
>>храня историю версий, ты рано или поздно над каким-нить участком системы потеряешь контроль

Это почему?

>>а если ты будешь тесты хранить и при каждом изменении их прогонять от забыть или упустить чего-то ты уже не сможешь

А также я буду сидеть и тесты переписывать (в зависимости от изменений) и на переписывание тестов может времени уйти больше чем на внесение изменений.
33 Волшебник
 
26.10.06
17:19
(30) Уже обещали, что будет
34 Neco
 
26.10.06
17:19
(33) В 8.1 не выполнили
35 smaharbA
 
26.10.06
17:19
(32) Лень зырить какой пост, но выдержки верные...
36 Лефмихалыч
 
26.10.06
17:25
(32.1) потому что рано или позно у тебя система разрастется до таких размеров, что ты не сможешь контролировать все изменения, поскольку в голове человека за раз только 5 ибиниц информации помещаеца, остальное не помещаица
(32.2) зато время сэкономится на общении с конвульсирующими на пороге кабинета тётьками, на локализации ошибок, кроме того, внося изменения, ты уже точно будешь уверен, что не обрушится какой-нить механизм, о котором уже ни кто не помнит (ну, во всяком лучае, вероятность обрушения будет крайне мала, если прилежно тесты писать). Да и потом, есть даже такое понятие "TDD" (Test Directed Development), который означает угадай чо?
37 Волшебник
 
26.10.06
17:26
(36) Поаккуратнее с орфографией
38 quest
 
26.10.06
17:32
Не понял немного... Ты хочешь автоматизированный инетрфейс или что бы за тебя набор тестов написали? Если первое - то делай так что бы любая тестируемая тобой функция не различала кто ее вызвал - программа или тест. Потом сравнивай результат.
Если тебе нужен набор тестов - то пиши их. Когда начнешь писать - поймешь что такое разработка основаная на TDD. Эта вещь лучше для проектов начинаемых с нуля. Во всех осташихся случаях - очень сложно. Особенно если пишешь тест к коду который не сам писал. Если есть возможность просто выдели пару человек и дай им задачу на неелю писать только тесты к существующему коду.  А потом послушай что говорят...
39 Neco
 
26.10.06
17:35
Есть конфижка "Контроль качества приложений" на ИТС распространялась
40 John Connor
 
26.10.06
17:36
(36) Вот ты уйдешь из конторы и тесты загнутся... а еще чуть позже и система загнется...
Так что не надо тестов :))
41 quest
 
26.10.06
17:38
(40) Что бы загнулись тесты - после тебя должен прийти настойщий даун. Сам смысл теста в том что бы провериить как работает функция. И если не работает - то сказать об этом максимально информативно.
Где-то на форуме был топик "Почему ваш код отстой" там достаточно подробно эта тема обсасывалась
42 Лефмихалыч
 
26.10.06
17:38
(38) у меня как раз грядет проект, начинаемй с нуля - на восьмерку переходим (текущая конфигкровина на семерке реализована - еле ворочается уже, а оптимизировать всем панически страшно, да и тупежа там много)
(40) как раз в этом случае, если я уйду из конторы, то мое дело не загнется, надо только системы автоматического тестирования забацать и мануал к ней написать
43 Neco
 
26.10.06
17:42
"системы автоматического тестирования забацать" - всего-то. Полностью автоматизировать тестирование не получится, потому-что задания ставят люди и не всегда они смогут сформировать критерии оценки правильности выполнения задания.
44 Лефмихалыч
 
26.10.06
17:42
(38) я хочу некое хранилище тестов (их будут писать програмасты, вместе со мной систему разрабатывающие и я в том числе), при чем не просто хранилище, а чтобы была возможность запустить все эти тесты не в рукопашном режиме, а автоматом (пусть даже они сутки тестироваться будут - сиравно) и чтобы это запускалще тестов мне в итоге говорило, какие тесты сработали, а какие нагнулись.
45 Лефмихалыч
 
26.10.06
17:44
(43) друк, да не хочу я сала в шоколаде, мне бы хоть 50-80% ошибок этой автоматической мухобойкой вылавливать - уже сахар. Да хрен с ним, пусть даже получится 30% функционала тестировать при изменениях - уже РАЙ
46 Лефмихалыч
 
26.10.06
17:44
да даже 3% - офигенныое облегчение
47 quest
 
26.10.06
17:47
Тогда я не понимаю в чем вопрос...
Где храниться тесты? Да где хочешь.
Как их обрабатывать? Скармливать интерпретатору. Как это сделлать на 8 - не знаю. На 7 использовал бы либо fez'овские разработки, либо выполнение кода из 1С++
Как их запускать? Опять же как хочешь. Хоть по таймеру
48 Neco
 
26.10.06
17:47
(46) Как вариант в разработке придерживаться методологии разработки конфижек. Тогда код будет относительно унифицированным и его легче проверять тестировать, дорабатывать
49 John Connor
 
26.10.06
17:48
(46) На чем писать тестилку собираетесь?
50 Лефмихалыч
 
26.10.06
17:49
(48) над внутренним регламентом оформления кода уже тружусь, осталось пару дней по корпеть, потом подписей тудыть нафигачу коммерческих и прочих генеральных диров, в общем в этом смысле, "у меня хрен проскочишь" (с) опытный водитель
51 Лефмихалыч
 
26.10.06
17:49
(47) речь про V8, кроме того, запускать тесты - пол дела, надо еще как-то сообщать системе что и с чем сравнивать.
52 Лефмихалыч
 
26.10.06
17:50
(49) вот, началось взаимопонимание! Это еще один открытый вопрос!
53 Господин ПЖ
 
26.10.06
17:56
(36) Не пугайте. Пишем и ничего не валится...

>>потому что рано или позно у тебя система разрастется до таких размеров, что ты не сможешь контролировать все изменения

Есть система хранения версий + система управления требованиями. Через них и грамотную групповую разработку можно всё контролировать.

А этот оптимизм весь в (0) - очередное изобретение "серебрянной пули". Щас поставим и будет всем щастье.
54 Neco
 
26.10.06
17:59
(50) Коечто полезное можно взять из 1Ской методологии
55 Лефмихалыч
 
26.10.06
18:00
(53) дано, постоянно эволюционирующая информационная система, которая живет и активно используется в тчении нескольких лет. Команда разрабоччиков тоже эволюционирует, люди приходят и уходят (редко правда, но все же уходят). В очередной раз к тебе подкрадывается амбец в вде необходимости чего-то оптимизировать, как ты сможешь хоть с какой-то олей вероятности за разумное время (сутки к примеру) определить, что именно после оптимизации придется переписать и как? В роли оптимизации выступает например удаление пары полей из расходного документа
56 Лефмихалыч
 
26.10.06
18:01
(54) беру, отовсюду беру. Универсализация кодирования - вопрос решенный, дело времени, причем не большого. Заковырка опять же не в нем
57 smaharbA
 
26.10.06
18:02
Всегда пишу и писАл экстремально...
Когда пишу незнаю что напишу, ни алгоритмов ни схем ничего, башка даже часто с похмела...
58 Лефмихалыч
 
26.10.06
18:02
+(55) или - еще страшней - не из расходного, а из приходного
59 Neco
 
26.10.06
18:03
Настощий русских самородок - все гениальное получается с похмела
60 Лефмихалыч
 
26.10.06
18:05
(57) похвально, но вопрос (ОПЯТЬ ЖЕ) не в том, как бы себе по ловчее жизнь усложнить, а совсем даже задом наибарот - как бы хоть что-то сделать проще 8)
61 John Connor
 
26.10.06
18:05
(59) +1 +Настоящий 1Снег!
62 Лефмихалыч
 
26.10.06
18:09
(6) Мне чудится, что автоматическое тестирование позволит зделать так, чтобы не было необходимости весь функционал держать в голове, а напротив - чтобы большую часть функционала дажене было необходимости в голове держать. Голова, она одна... И даже не смотря на то, что у двух человек две головы, проблема не решается расширением штатов - девять женщин - один фих - не родят ребенка за один месяц
63 John Connor
 
26.10.06
18:16
Офф, конечно, но вспомнилось:
-За сколько сделаешь?
-Ну, за день.
-А за два сделаешь?
-Ну, могу и за два...
-А за 5?
-Помощник нужен!
...

Это к тому что одному ИМХО не справиться с такой задачей.
64 Лефмихалыч
 
26.10.06
18:17
(63) я уже задолбылся повторять в чем именно задаача и что я не один, а в троем 8)
65 Лефмихалыч
 
26.10.06
18:17
+(64) и на восьмерке этот фикус хочу провернуть
66 Advan
 
26.10.06
18:34
Да я тоже хочу кнопку "чтоб все работало"!
67 spock
 
26.10.06
18:35
(57)хотел сказать экскремально? Твоя метода к XP не имеет никакого отношения.
68 Лефмихалыч
 
26.10.06
18:36
(66) а ты не ленись и почитай ветку, не этого мне надо
69 Advan
 
26.10.06
18:37
А реально в 1с тестирование окончательное проводять пользователи...
Хранилище отлично помогает решить проблему исправлений в случае нахождения ошибки.
70 John Connor
 
26.10.06
18:38
(65) Есть реальная идея - найми команду студентов. За небольшой гонорар и в качестве дипломного проекта они тебе напишут "рыбу", а от нее уже будешь плясать.
71 Advan
 
26.10.06
18:38
(68)А тестирование занимает болльшую часть времени в разработке...
72 Лефмихалыч
 
26.10.06
18:40
(69) не собираюсь в пятый раз разжевывать одно и то же, по читай пожалуйста мои посты - я описал чем мне не нравится ваше хренилище пофигурации и описал нафиг мне автоматическое тестирование.
Окончательное тестирование ЛЮБОЙ системы проводят пользователи, и ч-чо? пост - мимо кассы
(68) еще раз прошу - прочитай
73 Лефмихалыч
 
26.10.06
18:42
(70) накол такой подход! Чур меня! В этом случае у меня получится АНАЛИТ:ФАРМАЦИЯ 4.0  __ Н Е Х О Ч У __ !!!!!!! Вообще, со всех сторон дурацкий подход, мне не нужна ни какая рыба, не хочу плясать от чужих подтирушек вместо кода.
74 Лефмихалыч
 
26.10.06
18:43
(70) фу! аж передергивает меня всего! 8)
75 John Connor
 
26.10.06
18:45
(74) Студенты - это кладезь полезного действия и свободного времени, а ты фу.
Ты просто не умеешь их готовить (с)...
76 Лефмихалыч
 
26.10.06
18:47
(75) вырвет меня щас, прям на клаву, ей-богу! Не мучь меня пожалуйста. Описаный тобой подход мы уже проходили - эта наша амописка" выросла из рыбы, которая когда-то была как раз этим самым АналитомФармацией. Я бы этим ушлепкам руки и ноги поотрывал за ихое отраслевое решение, а заодно и стерилизовал бы, шоб не размножаись н когда.
77 spock
 
26.10.06
18:48
что за сопли здесь?
Пиши через ошибки (очень мне это нравицца). Сначала тесты, потом реализация. Смысл ветки в чем? Прочитал Бека - молодесс. Начинает внедрять полученные знания. Тяжело, да. Но, вроде, помогает.
78 Лефмихалыч
 
26.10.06
18:49
+(76) говорят, на заре времен (меня еще там не работало) купили эту куиту за 100 баксов в надежде начать хоть какой-то учет, а потом доработать. Одна фигня - доработать после начала учета не получилось - отморозки из ВЦ Аналит не осилили простой вещи - в фармации есть отдельные понятия "Серия" и "Партия"
79 Лефмихалыч
 
26.10.06
18:52
(77) братьев по разуму ищу, может на мысли натолкнут... Три мысли уже словил (3), (31), (33)
80 Лефмихалыч
 
26.10.06
19:02
В общем, резюмирую.
Для v8 ни кто ни чего подобного FuncTest'у не делал. Для v7 акромя того же FuncTest'а ни чего нет. Варианты вижу такие: распотрошить FuncTest, попытаться перевести его на v8.
Всем спасибо за беседу, мне кажется, очень плодотворнно пообщались, поскольку цель создания ветки достигнута. Таким образом, таме что? тема закрыта
"Стоп! Снято! Всем спасибо, массовочка, зайдите в бухгалтерию" (С) не помню
81 zbv
 
29.10.06
14:53
Подниму для Лёвыча...
Не успел запостить в ветку, как искать свои ветки:

http://www.forum.mista.ru/index.php?user_name=Лёвыч
82 Лефмихалыч
 
29.10.06
14:56
угу... еще бы в правилах было чо-нить подобное описано...
Спасибо, добрый человек!
83 AeDen
 
29.10.06
14:57
84 Wasya
 
29.10.06
15:08
85 Злобный Фей
 
29.10.06
15:25
(36) Человек ОДНОВРЕМЕННО может удерживать в голове и оперировать 7(+/-2) единицами информации. Это, можно сказать, кэш. Объем "долгосрочной" памяти практически не ограничен. Просто большинство народу не умеет им правильно пользоваться...
86 Лефмихалыч
 
29.10.06
15:28
(85) Во-первых, 5+/- 2, во-вторых, сколько будет стоить либо набрать либо обучить команду прогов, которые будут уметь "правильно" пользоваться своей памятью? ИМХО, дешевле некое подобие FuncTest'а для восьмерки придумать. Кстати, уде сочиняем в две репы, один затык - пока не придумали, как отчеты тестить, медленно сколняемся к мнению: "да и хрен с ними - на первое время важней всего документы".
87 Злобный Фей
 
29.10.06
15:35
(86) Все-таки 7. А вообще, успехов. Сам об таком думал, но по итогу решил что у мну не взлетит, приходицца всё помнить :). Мот у тя взлетит
88 Злобный Фей
 
29.10.06
15:46
Конечно с крупными конфами бывают траблы. А если текучесть прогов большая... (хотя, не важно, большая или нет. Вообще текучесть прогов крайне плохо)

Я для себя всегда комменты пишу в коде. Вот пример, почти жызьненный :)

//Надысь приперлась Марьиванна. Грит, што у нее центы в еврах
//непрально глючат. Глянул - ах! И правда глючут. Поправил
//нижележащими двумя строками коду
89 Лефмихалыч
 
29.10.06
15:48
(88) за два года ушел один прог (правда он был начальником отдела и туда ему и дорога, но тем не менее) и за эти же два года пришло трое (я в т.ч). Текучестью это назвать трудно, но тем не менее, двжения существенные, ты не находишь? 8)
90 Лефмихалыч
 
29.10.06
15:51
(88) каменты - зашибато помогают, когда ошибка локализована, а как ее локализовывать, если она еще не возникла? А сидеть ночером на работе (предприятие работает сутками на пролет) и читать свои веселые каменты - один куй - не шипко приятно, хочется как-то, чтобы заранее знать, где чо рухнет, хотя бы - где чо критичное для работы рухнет (отчеты в данном случае не в счет)
91 Злобный Фей
 
29.10.06
15:52
(89) Ну эт да, текучкой не назовешь %).
(90) Извини, я видимо туплю... А каким образом ты это собираешься побороть?
92 Лефмихалыч
 
29.10.06
15:55
Критичным обрушением я считаю ситуацию, когда к примеру какой-нить документ перестает проводиться или, проводясь, записывает погоду. Ежли будет струмент, позволяющий для каждого нового (и старого) докуемнта определять, что он должен делать и что должно получаться, а так же, если будет струмент, позволяющий программно эти документы создать, сравнить результаты с реальностью и выдать отчет, что именно и где отличается от запланированного, то я считаю, что ситуация поборотая
93 Лефмихалыч
 
29.10.06
15:57
тогда, при каждом изменении, я натягиваю новый релиз на темстовую базу, запусаю тесты, жду отчетов, правлю неувязочки, натягиваю релиз на рабочую базу и СПОКОЙНО иду вечером домой, уверенный, что мне в час ночи не позвонят и не скажут, что у их тут ошибка в коде какого-то документа, про который я "не знал, не знал, да и забыл" так давно, что уже и не выяснишь, когда 8)
94 Злобный Фей
 
29.10.06
15:58
(92) ПонЯл, шпашыбо. Имхо, многовато хош от адинэсины, тем более восьмой (седьмую хоша бы расколупать можно по самое нимагу)
95 Лефмихалыч
 
29.10.06
16:01
(94) да чего многовато-то? Что трудно будет программно указать, какие документы, с какими данными в каких полях ввести, и указать, какие данные, в каких регистрах должны появиться? Как раз в восьмерке проще, имхо, ибо там унифицированы интерфейсы всяческих объектов и механизьмаф
96 Лефмихалыч
 
29.10.06
16:03
о! клёво! полностью тока что сформулировал задачу! Злобный Фей, большое тебе спасибо! 8)
97 Злобный Фей
 
29.10.06
16:04
Не, ну я ж имхал.. Просто когда надобности особой нет, тяжко понять возможные все преимущества
98 Злобный Фей
 
29.10.06
16:05
(96) Здравляю! Токма, это.. таво! Мену туды не приплетать :)
99 Лефмихалыч
 
29.10.06
16:07
(98) "вы-ч-черкиваю" (с) древний анек
100 Злобный Фей
 
29.10.06
16:10
ОФФ: а мне с бухами как-то надо разабраццо, технических проблем в работе нету, а тока организационные... ща пойду ветку сделаю