Быстрый старт в тестировании на платформе 1С (Vanessa-ADD)

0. NikitaIvanchenko 122 02.02.23 00:44 Сейчас в теме
Если вы давно хотите освоить тестирование в мире 1С. Но не знали, с чего начать. Теперь знаете.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kuntashov 445 02.02.23 14:02 Сейчас в теме
Отличная статья, фактически мини-курс, спасибо!
fatman78; NikitaIvanchenko; Torin; +3 Ответить
2. artbear 1428 02.02.23 14:30 Сейчас в теме
(0) Отличная статья, большое спасибо!

А еще Ванесса-АДД недавно научился прогонять тесты из расширений.
И давно умеет прогонять тесты из конфигураций
И даже есть смерженный ПР по запуску тестов откуда угодно - модуль объекта, менеджер объекта метаданных и т.п.
fatman78; Светлый ум; yukon; NikitaIvanchenko; +4 Ответить
3. NikitaIvanchenko 122 02.02.23 14:48 Сейчас в теме
Спасибо за отзывы. Надеюсь многим будет полезно, как первая ступенька из состояния "ничего не понятно в этих ваших тестах" в "я умею писать тесты"
4. MrWonder 607 02.02.23 14:51 Сейчас в теме
Спасибо за отличную работу 👍
NikitaIvanchenko; +1 Ответить
5. arcius_7012 83 02.02.23 15:18 Сейчас в теме
Хорошая статья, спасибо! Я бы еще добавил блок про отладку новых дымовых и про аллюру, имхо в аллюре удобнее смотреть результаты тестов.
NikitaIvanchenko; +1 Ответить
6. NikitaIvanchenko 122 02.02.23 15:24 Сейчас в теме
(5)
Спасибо за отзыв. Если поднимать тему про аллюр, то нужно рассказать и про него. Что это, как поднять. Получается очень обширно для одной статьи. И дымовые тесты это все же не совсем про юниты. Я статью позиционирую как точка входа для тех, кто совсем не знаком с тестированием. А вот когда человек войдет в тему, уже дальше сможет пойти и открыть для себя аллюр, ci\cd и прочие радости.
arcius_7012; +1 Ответить
7. arcius_7012 83 02.02.23 15:50 Сейчас в теме
(6) Справедливо) У меня дымовые и юнит смешались в одно. У нас оба вида тестов похоже пишутся через один и то же инструмент
NikitaIvanchenko; +1 Ответить
8. it-expertise 274 03.02.23 09:27 Сейчас в теме
Хорошая статья!
Спасибо вам за неё.
NikitaIvanchenko; +1 Ответить
9. maksa2005 370 03.02.23 13:09 Сейчас в теме
...
Прикрепленные файлы:
NikitaIvanchenko; +1 Ответить
10. CK3 03.02.23 13:17 Сейчас в теме
Очень круто! Статья, которую я ждал)
Никита, спасибо большое!
NikitaIvanchenko; +1 Ответить
12. NikitaIvanchenko 122 03.02.23 15:12 Сейчас в теме
(10)
👍 Если хотя бы один человек перейдет эту грань, и начнет жить с тестами. Значит я старался не зря. Спасибо за отзыв.
11. siamagic 03.02.23 15:10 Сейчас в теме
Чем это убожество лучше типового тестирования?
13. NikitaIvanchenko 122 03.02.23 15:15 Сейчас в теме
(11)
Например тем, что оно нравится мне ;)
14. siamagic 03.02.23 21:58 Сейчас в теме
(13) вы только минусов добавили
15. Asmody 05.02.23 14:37 Сейчас в теме
(11) всё что угодно лучше, чем ничего.
NikitaIvanchenko; +1 Ответить
18. Светлый ум 281 06.02.23 11:35 Сейчас в теме
(11) Что вы понимаете под "типовым" тестированием?
19. siamagic 06.02.23 12:50 Сейчас в теме
(18)https://its.1c.ru/db/metod8dev/content/5011/hdoc

туда же можно докидать сразу нагрузочное тестирование.
Светлый ум; +1 Ответить
20. NikitaIvanchenko 122 06.02.23 14:25 Сейчас в теме
(19)
Все же это в большей степени сценарное тестирование. И это немного другой этап разработки.
Наличие любых тестов хорошо, и сценарного, и модульного. А отсутствие тестов - плохо. Но мое мнение таково, что именно модульное максимально ближе к сознанию разработчика. Ну и по сценарному тестированию статей и видосиков много.
16. Leon29 05.02.23 19:53 Сейчас в теме
Добрый день!
Спасибо за статью. После прочтения я уже пробую на практике.
NikitaIvanchenko; +1 Ответить
17. NikitaIvanchenko 122 05.02.23 20:30 Сейчас в теме
(16)
Отлично. Приятно это прочитать!
21. susumanin 1 07.02.23 00:34 Сейчас в теме
Добрый день, расскажите вкратце как вы смотрите покрытие кода тестами?
Спасибо за статью! Пишите, пожалуйста, еще.
NikitaIvanchenko; +1 Ответить
22. NikitaIvanchenko 122 07.02.23 09:43 Сейчас в теме
(21)
Добрый день.
Наверно скажу ужасную вещь, на текущий момент мы отказались от замеров покрытия, и дымовых тестов. Но это не значит, что это не нужно и не полезно. Просто сейчас перестраиваем процессы. Хотим что бы дымовые работали не по всем формам, а только там где хотим и где это нужно. По замерам, пытаемся пойти не за абсолютными цифрами. А за конкретной помощью разработчику. Условно - какая часть в новом коде(в пул реквесте) не покрыта тестом. Возможно какие либо ветвления по условиям пропущены и т.д. Повторюсь, я преследую цель, что бы это ощущалось как естественный процесс, в котором инструменты помогают, а не тормозят бюрократией =)
А пока этот процесс в разработке, у нас одно простое правило. Новый код покрывается тестами, методы проверяются на ожидаемое поведение. Если трогаем "старый" код, тоже пишем тест. Но только на те места, которые "потрогали". Без фанатизма.
fatman78; susumanin; +2 Ответить
23. user1067792 09.02.23 12:05 Сейчас в теме
Как на практике выполняется тестирование, когда нужно протестировать большое количество методов одного объекта? Для каждого тестируемого метода добавляется ключевое слово Экспорт или есть еще какой-то хак?
Хочется вносить минимум изменений в тестируемый код и не делать все методы объекта / формы экспортными... Или это неизбежная плата за наличие тестов?
Напрашивается какой-то один экспортный метод с командой Выполнить(ИмяМетода_Параметры). Как в приведенном примере в статье: Процедура ВыполнитьСерверныйТестФормы(ИмяТеста, ТестируемаяФорма) Экспорт. Только не в модуле обработки, а в самом тестируемом объекте...
NikitaIvanchenko; +1 Ответить
24. NikitaIvanchenko 122 09.02.23 15:36 Сейчас в теме
(23)
Да, платить придется в любом случае. Серебряной пули нет, или я не знаю. Либо делать экспорт, либо как вы предложили просверлить универсальную процедуру. Или сделать расширение, в котором будет экспортная обертка над не экспортными методами. Как мне кажется, если тестируются методы основной конфигурации, то самый удобный вариант - через расширение. Но тут каждый сам выбирает, что ему удобней.
user1067792; +1 Ответить
25. charushkin 79 16.02.23 14:57 Сейчас в теме
Привет!

Храню плагины в отдельном каталоге репозитория. Хочу иметь удобный способ подключать их как при локальных прогонах, так и в CI (без копирования в папку `Каталог_Vanessa_add/plugins`).
У раннера появилась возможность подключать плагины из произвольного каталога? Если нет, то как вы прокидываете свои плагины в CI?
NikitaIvanchenko; +1 Ответить
26. NikitaIvanchenko 122 16.02.23 16:34 Сейчас в теме
(25) Плагины в отдельной репе, со своим CI, который собирает и копирует в нужный каталог.
27. VSvintsov1 17.02.23 14:14 Сейчас в теме
Vanessa Automation и Vanessa Add - чем отличаются?
NikitaIvanchenko; +1 Ответить
28. NikitaIvanchenko 122 21.02.23 16:50 Сейчас в теме
(27)
Vanessa Automation - Мощный набор инструментов для сценарного тестирования. В котором помимо тестов можно генерить всевозможные видео-инструкции с голосовой озвучкой.
Vanessa Add помимо модульных тестов, о которых эта статья, тоже позволяет разрабатывать сценарные тесты. Для обоих инструментов по сценарным тестам много статей, и видосиков на ютубе. Говорить какой из них лучше, я на себя такой ответственности брать не буду. Лучше попробовать оба, и самому определиться, что удобнее.
Оставьте свое сообщение
Вакансии
Разработчик
Москва
зарплата от 150 000 руб. до 170 000 руб.
Полный день

Аналитик 1С
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Оренбург
зарплата от 120 000 руб.
Полный день

Ведущий Инженер - программист 1С
Новокузнецк
зарплата от 100 000 руб.
Полный день

Программист 1C
Москва
Полный день