gifts2017

FuncTest. Автоматическое тестирование для 7.7.

Опубликовал fez (fez) в раздел Программирование - Практика программирования

Наши ожидания от функционала любой программы (в том числе и конфигурации 1С) можно записывать в виде, понятном для компьютера и затем использовать эти записи для автоматической проверки сохранения программой ожидаемого функционала.
Полезно для контроля над ошибками при внесении в программу изменений.
Так же может применяться, как способ написания ТЗ.

Скачать файлы

Наименование Файл Версия Размер
FuncTest 0.23.0 82
.1224761784 167,01Kb
25.09.09
82
.1224761784 167,01Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Valery (Pride) 25.06.08 15:29
Полностью прочитал домашнюю страничку. Впечатлило, буду внедрять к себе. Только походу прочтения появился вопрос, а если кинуть проверку заполнения табличной части документа с разнообразными перещетами, протестирует ли она это?
В любом случае. Выражаю свою глубокую благодарность за такую серьезную работу. Спасибо.
2. fez (fez) 25.06.08 16:51
(1) Спасибо за отзыв.

Отвечая на вопрос: TestBrowser'ом такой тест не создать, а вот юниттестами можно протестировать практически все, что угодно.
3. Alister (Alister) 25.06.08 17:30
Спасибо за полезную программу :)
А очень геморно сделать, чтобы эталоны тестов хранились в базе, а классы и описания тестов отдельно в выбранном месте едином для всех баз. Смысл в том , что много почти однотипных баз и не хочется между ними копировать тесты :)
4. fez (fez) 25.06.08 17:49
(3) Рад, что понравилось.

По вопросу. Мы сейчас говорим о функциональных тестах (TestBrowser) или о юниттестах?
Юниттесты - это по сути своей маленькие программки. Их можно хранить где угодно и подключать через //#include в defcls.prm
С функциональными тестами сложнее, поскольку там активно используется база данных. А все ссылки на объекты БД хранятся в виде ЗначениеВСтрокуВнутр(), так что "расшарить" ожидания - это большой гемор. Если как-то решить проблему универсального хранения ссылок на объекты БД, то гемор рассосется. Но как именно это сделать я пока не знаю.
5. Alister (Alister) 25.06.08 20:07
Да , это я про функциональные тесты :( В принципе устроило бы сравнение таблиц (например ОСВ по предприятию и т.п.) после обновления с эталонными таблицами, созданными до него.
6. fez (fez) 25.06.08 20:17
(5) Если тестировать отчеты в режиме "Отчет (печ. форма)" или "Отчет (произвольный)", то в ожиданиях будут гарантированно только строки.
Так что останется только разобраться со значениями рекивзитов (например фильтр по фирме в том же ОСВ) ну и с самой БД.
7. fez (fez) 25.06.08 20:19
А. "После обновления". Тогда вообще без проблем.
Единственное, ты наверное очень быстро захочешь, чтобы тесты "до обновления" формировались не менее автоматически. До такой степени автоматизации я пока увы не дорос.
8. Alister (Alister) 25.06.08 20:24
Я пока что собираюсь просто сравнивать построчно таблицы в этом самом режиме "Отчет (печ. форма)" на предмет изменения сумм по счетам. Я так понял по (6) можно надеяться ?
9. Alister (Alister) 25.06.08 20:25
Аппетит, он как известно приходит во время еды :)
10. fez (fez) 25.06.08 20:28
(8) Ну пожалуй да. Там единственная подстава в том, что ожидания хранятся вместе с условиями, а в условиях наверняка будут ссылки на объекты БД. Условия хранятся в первой строчке - ее в твоем случае надо проигнорировать. Если остальные строки совпадают, то должно быть все хорошо.

Ты пощупай и спрашивай уже более конкретно, помогу, чем смогу.
11. Alister (Alister) 25.06.08 20:30
12. fez (fez) 23.10.08 15:37
0.23.0

[+] Метод AssertFail теперь умеет работать и с функциями. Bug 4193
[+] Добавил в класс ТестовыйСлучай методы ПроверитьБольше() и ПроверитьБольшеИлиРавно()
[+] Добавил сортировку имен тестовых классов в окошке обработки запуска всех юниттестов.
[+] Обработка запуска юниттестов теперь запоминает расставленные галочки на тестовых классах между сеансами.
[+] При открытии обработки запуска юниттестов теперь автоматически выключается оптимизация. При закрытии обработки - восстанавливается предыдущее значение.
13. Artem (artamir) 09.12.16 12:08
14. fez (fez) 09.12.16 21:08
(13) Спасибо за сообщение, исправил.