Имя: Пароль:
1C
1С v8
Юнит-тестирование
0 Тест-кейс
 
13.03.14
09:42
1. Полезно 100% (3)
2. Бесполезно 0% (0)
Всего мнений: 3

Добрый день. Занимался ли кто юнит-тестированием?

Я написал конфигурацию для юнит-тестирования (с видеоинструкцией): http://infostart.ru/public/264385/ .

Интересно ваше мнение, насколько тема (и конфа) полезна / бесполезна / востребована - в общем, критика.
1 Мыш
 
13.03.14
09:43
(0) Выложил в неудачном месте
2 Мутабор
 
13.03.14
09:43
Что есть юнит тестирование?
3 ДенисЧ
 
13.03.14
09:44
Будет бесплатное скачивание - может, посмотрю.
4 Мутабор
 
13.03.14
09:45
Тестирование модулей. Зачем все эти английские слова.
5 Maxus43
 
13.03.14
09:45
(3) там никогда не будет бесплатно...
6 fmrlex
 
13.03.14
09:47
Круто.
Можно менеджеров заменить на эту программу.
7 Asmody
 
13.03.14
09:49
ишЪ, как повалило: надысь на хабре (http://habrahabr.ru/post/215409/), нынча на мисте…
эдак годков через 5 1С сама тестирорование в платформу встроит
8 Тест-кейс
 
13.03.14
09:49
(3) Конфа бесплатная.
9 Maxus43
 
13.03.14
09:52
(7) дак есть же уж тестировалки всякие, ижтиси и прочая ересь
10 Тест-кейс
 
13.03.14
09:54
(7), (9)
Вроде тестировали либо на обычных формах (как в (7) ), либо без имитации ввода пользотеля (т.е. программно, а не интерактивно заполняя формы).
11 Fuas4
 
13.03.14
10:02
Выглядит круто. Но объясните мне, плиз,  где эти штуки в жизни нужны, если я свое типовое решение не изобретаю, а чужие допиливаю
12 mikeA
 
13.03.14
10:08
(0) вот парни тоже юниттест пилят:

https://github.com/xUnitFor1C/xUnitFor1C
v8: Автотесты для 1С

а так штука полезная, конечно, например когда надо документы под баланс подогнать )))

Полезно
13 Адский плющ
 
13.03.14
10:09
(7) Так есть же в 8.3 уже. Али ещё допиливают?
14 Адский плющ
 
13.03.14
10:09
15 vasbur
 
13.03.14
10:16
То, что предлагает автор - это не юнит-тестирование.
Юнит-тестирование (модульное тестирование) - это тестирование отдельных программных подсистем, без привязки к интерфейсу и взаимодействия их с тдугими подсистемами.

Например, код, который создает документ, проводит его и проверяет что движения по регистрам совпадают с табличной частью - можно с натяжкой назвать юнит-тестом. С натяжкой- потому что обычно модуль проведения использует несколько "подсистем", кждую из которых, по идее, нужно тестировать отдельно.
16 vasbur
 
13.03.14
10:17
Вообще, с автоматическим тестированием в 1С все плохо - для юнит-тестов язык 1С недостакточно абстрактен (нельзя создавать абстрактные классы, которые обычно и тестируют) а интерфейсные тесты - это всегда гемор, поэтому их обычно не использует никто.
17 Тест-кейс
 
13.03.14
10:26
(15), (16) Согласен. У меня по сути сценарное тестирование. Спасибо за поправку.
18 batmansoft
 
13.03.14
10:29
Юнит тесты - это то, чего в 1С очень сильно не хватает. Автор молодец.

Полезно
19 Тест-кейс
 
13.03.14
10:29
(11) Я вижу два применения:
1) В регрессионных тестах (проверка, что после очередных изменений конфы не развалились сценарии использования, для которых написаны тесты)

2) При нагрузочном тестировании (для полноценной имитации действий пользователя), а не только "синтетики", выполняемой на сервере.
20 vasbur
 
13.03.14
11:02
(19) А вы используете этот инструмент на живих проектах? если используете - то можете рассказать поподробнее об этом?
21 vasbur
 
13.03.14
11:06
(19) А есть возможность сохранять начальное состояние базы и после запуска теста возвращать бзу в первоначальное состояние.
Т.е. напримемр, если тест создает какие-то объекты, то как потом "откатить" состояние БД на то, которое было до запуска теста?
22 H A D G E H O G s
 
13.03.14
11:37
Спасибо, но автору - мимо.

Попробуйте после обновления потестить этой штукой чето на основе УПП - пары суток не хватит.

Поэтому просто перепроводим документы, открываем отчеты и формы созданных документов и справочников, смотрим, что ничего не отвалилось и молимся Гейтсу.

Главное, чтобы перепроводилось, исправленную форму всегда можно внешней обработкой выслать.
23 Тест-кейс
 
13.03.14
12:12
(20) Код сценарного тестирования этого проекта использовал в тест-центре для имитации 50 пользователей, оформляющих продажи.

(21) Хороший вопрос, надо добавить в конфу операции удаления созданного. Это реализуемо: две операции удаления, которые по полю номера / кода для форм документа / справочника будут их удалять.
24 vasbur
 
13.03.14
12:14
(23) там же может быть не только удаление, но и например изменение данных.

Представьте, что у меня есть обработка, которую я хочу протестирвать на всех релизах типовой БП 2.0
25 H A D G E H O G s
 
13.03.14
12:15
(23)
НачатьТранзакцию()
ОтменитьТранзакцию()
26 vasbur
 
13.03.14
12:16
(23) стресс-тесты - это гораздо проще. Вы их раз написали, пару раз прогнали и ок.

Если вы попытаетесь написать сценарные тесты на какую-нибудь БП, то после каждого релиза затраты на их починку будут превышать затраты на ручное тестирование, ИМХО.
27 vasbur
 
13.03.14
12:16
(25) смешная шутка
28 pumbaEO
 
13.03.14
15:30
Интересно, посмотрим .

Полезно
29 ptiz
 
13.03.14
15:34
(8) Это ты так думаешь. У инфостарта другое мнение.
30 pumbaEO
 
13.03.14
15:42
(29) +1 пора уже на github выкладывать.