Сценарное тестирование в помощь программисту 1С

0. Решитко Дмитрий (grumagargler) 332 10.11.16 21:12 Сейчас в теме
Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

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

Комментарии
1. Сергей Старых (tormozit) 4566 11.11.16 13:14 Сейчас в теме
2. DenisCh Гейтс (DenisCh) 11.11.16 13:27 Сейчас в теме
Посмотрим на выходных. Погода всё равно шепчет, так будет чем развлечься.
3. борян петров (TODD22) 18 11.11.16 13:32 Сейчас в теме
Нужная разработка. На выходных то же посмотрю..... :)
4. ash (ashvik) 11.11.16 14:53 Сейчас в теме
5. Сергей Коцюра (CheBurator) 3411 11.11.16 17:55 Сейчас в теме
Остался нераскрытым вопрос кто пишет тесты на тесты.
ибо если мы считаем что тесты пишутся правильно, то что нам мешает считать что правильно пишется программа?
Yakud3a; Zhilyakovdr; +2 2 Ответить
6. DenisCh Гейтс (DenisCh) 11.11.16 17:57 Сейчас в теме
(5) Тесты должны писаться так, что их правильность смогла бы понять даже бухгалтерша.
Например, для функции Добавить2К2() правильным тестом будет РезультатФункции = 4
8. Сергей Коцюра (CheBurator) 3411 11.11.16 18:40 Сейчас в теме
(6) это в прастейшем примере. в чуть более широком - получается человек опрпеделяет правильность. протестировать все ветки болееменее непростой программы - вручную весьма затруднительно. соответсвенно - как определять те тесты что надо написаны? или чего-то не хватает?

А чтобы проверить ожидаемое поведение с фактическим - отдатю юзерам. если претензий не поступило = ок, поступило - вот тебе и тесты...
9. Решитко Дмитрий (grumagargler) 332 11.11.16 18:54 Сейчас в теме
(8) CheBurator, пока в голову не приходят идеи, кто кроме человека может определить правильность тестов и их состав. Тестирование очень конкретная вещь и ожидать каких-то эвристических анализаторов всевозможных сценариев с их запуском и проверкой, не стоит, мы не решаем задачу коммивояжера. Есть сценарий – есть тест к нему. Сценарий не покрывает какие-то ситуации? Значит нужен еще один сценарий, который должен покрыть. Если таких сценариев много, начните с одного, это всё равно лучше, чем вообще ничего.
davydoff; +1 Ответить
21. Роман Сюзев (sorb) 13.11.16 09:51 Сейчас в теме
(8) CheBurator, самый незатратный способ определять, какие тесты нужные - это хотя бы начать закрывать тестом каждую возникшую проблему. Оно конечно реактивно получается, но через некоторое время получается добротный, "правильный" набор тестов. А еще например Вы пишете отчет, время от времени запускаете его и смотрите, что получилось. Так вот если запускать не руками, а накидать запускатор, то и отладка пойдет веселей, и вот он - тест, а значит меньше мучаем бедных кладовщиков и других ни в чем не повинных животных. Лично я за максимально гуманное отношение к кладовщикам и животным :)
7. Решитко Дмитрий (grumagargler) 332 11.11.16 18:12 Сейчас в теме
(5) CheBurator, раскройте вопрос на практическом примере, так сложно ответить прицельно. Если вы имеете ввиду бизнес логику, то тестирование нужно для того, чтобы проверить ожидаемое поведение с фактическим, а вот насколько это ожидаемое поведение правильное - выходит за область тестера. Также, если во время тестирования возникает банальная ошибка обращения к несуществующему свойству или методу, уже само по себе не требует подтверждения правильности.
10. Артур Аюханов (artbear) 910 11.11.16 20:19 Сейчас в теме
Интересно посмотреть очередную работу по тестированию.
Перед разработкой/при разработке изучали ли аналоги по тестированию в 1С ? Штатное сценарное тестирование от 1С, наш xUnitFor1C, еще vanessa-behavior, другие работы?

Было бы интересно увидеть справку в виде отдельного файла (markdown, html и т.п.), удобном для просмотра через браузер
12. Решитко Дмитрий (grumagargler) 332 11.11.16 21:14 Сейчас в теме
(10) artbear, да, конечно, эти разработки были изучены, именно поэтому родился тестер. Строго говоря, тестеру больше года, просто сейчас решил выложить его, потому что всё чаще стала подыматься тема простых инструментов тестирования. На счет справки, нужно подумать, всё-таки там не один документ, а два (справочники Сценарии и Приложения) и будет больше (под каждый объект метаданных)
13. Решитко Дмитрий (grumagargler) 332 11.11.16 21:21 Сейчас в теме
(10) artbear, я перечитал своё сообщение, и решил дополнить, чтобы не показаться снобом. Тестер был создан не вопреки существующим программам, а по той причине, что он решает немного другие задачи и немного иначе. Я надеюсь, что дополнительный инструмент станет хорошим подспорьем для людей, интересующихся этим вопросом.
FSerg; sorb; +2 Ответить
24. Артём Андриянов (CSiER) 14.11.16 06:06 Сейчас в теме
25. Решитко Дмитрий (grumagargler) 332 14.11.16 06:10 Сейчас в теме
(24) CSiER, к сожалению, в таком варианте не будет работать переход из оглавления по ссылкам, желательно справку открывать из тестера :-)
11. Monkey Coder (yurii_host) 1568 11.11.16 21:07 Сейчас в теме
14. Павел Гладков (G.P.) 7 11.11.16 21:45 Сейчас в теме
Заинтересовало, подпишусь
15. Игорь Пашутин (Alien_job) 135 12.11.16 08:50 Сейчас в теме
Спасибо, очень интересно!
16. Антон Грачев (Fragster) 786 12.11.16 12:51 Сейчас в теме
Как мне протестировать такой сценарий - один пользователь открывает документ, начинает редактировать, другой пользователь вызывает программную обработку, обработка должна вызвать исключение, если документ редактируется?
18. Решитко Дмитрий (grumagargler) 332 12.11.16 19:08 Сейчас в теме
(16) Fragster, есть несколько возможностей, например, вы можете в коде теста выполнить действия первого пользователя, затем, отключиться от приложения (метод Отключить()), изменить параметры подключения через структуру AppData, затем, запуститьПриложение () с указанием другого порта (см. пример в справке), подключиться и продолжить выполнение сценария. Другой способ, запустить тестер из сценария, с указанием стартующего сценария, который сделает действия второго пользователя. Если у вас не получится - напишите, я попробую накидать код.
17. Евгений Мартыненков (JohnyDeath) 290 12.11.16 16:04 Сейчас в теме
А чем vanessa не устроила?
Там почти все можно мышкой накликать.
19. Решитко Дмитрий (grumagargler) 332 12.11.16 19:22 Сейчас в теме
(17) JohnyDeath, (тут сложно ответить так, чтобы тебя не воспринимали в штыки, всё-таки ванесса продукт, которым пользуются многие, прошу воспринимать ответ только дополнение к общему делу) . Развернуто, я ответил здесь: https://habrahabr.ru/post/307808/
Если вкратце, кроме в разнице подходов, нам не удалось ванессой описать реальные сценарии, в приемлемые для нас сроки. Не получалось и прокликать без ошибок действий 25-30. В конце всех попыток (пробовали не только ванессу) всё свелось к тому, что нам нужен был механизм программного взаимодействия с тестируемым приложением, чтобы удовлетворить наши требования.
keypax; sorb; JohnyDeath; +3 Ответить
20. Роман Сюзев (sorb) 13.11.16 08:32 Сейчас в теме
Отличная вещь, спасибо! У меня тестер очень непринужденно вписался в содружество хЮнит и Ванессы, обеспечив тестирование "без правил" и "по-быстрому" :). По публикации: она получилась больше для тех, кто уже тестирует, поэтому, как мне кажется, была бы полезной еще одна статья для тех, кто пока не совсем в теме: Ваш инструмент, пожалуй, имеет самый низкий порог вхождения на данный момент, и существенно ускоряет сам процесс разработки, а это делает его полезным даже для тех, кто пока не готов тратить время на имплементацию хДД. Для раскрытия этого момента, как мне кажется, нужно описание практического примера, типа добавляем в БП 3.0 основные единицы измерения, а потом ставим обновления, с описанием процесса и вытекающих выгод при последующей поддержке. У самого руки чешутся написать, но понимаю, что просто не смогу сделать это за разумное время. Еще раз хочу поблагодарить за удачный инструмент :)
Kindman1980; Vladimir_Konyrev; tormozit; +3 Ответить
23. Решитко Дмитрий (grumagargler) 332 14.11.16 03:01 Сейчас в теме
(20) sorb, спасибо! да, я подумаю на счет небольшой статьи с практическими примерами, хотя конечно тема тестирования у многих ребят уже просто в печенках. И ситуация такая, что вроде все понимают, что надо, а вот когда пытаются - опа, а тут оказывается инвестиция времени нужна такая, что уже вроде не очень то уж и хотелось. Конечно, можно утверждать, что те, кто сдался, недостаточно твердые, чтобы идти до конца, или продавливать тему административно. Но ведь в тоже самое время, можно ведь и допустить, что проблемы и в инструментарии, который нам надо улучшать.
44. Решитко Дмитрий (grumagargler) 332 05.07.17 22:36 Сейчас в теме
(20)
По публикации: она получилась больше для тех, кто уже тестирует, поэтому, как мне кажется, была бы полезной еще одна статья для тех, кто пока не совсем в теме

Наконец-то мне удалось завершить подготовку расширенной статьи, можете почитать здесь: http://infostart.ru/public/642946/
22. Роман Сюзев (sorb) 13.11.16 10:17 Сейчас в теме
Все, прочитал статью на хабре - вопрос по отдельной статье для начинающих можно считать полностью раскрытым, спасибо.
26. Антон Грачев (Fragster) 786 14.11.16 12:34 Сейчас в теме
а есть кнопка "создать тесты открытия всех форм"? и прочие подобные пакетные кнопки?
29. Сергей Старых (tormozit) 4566 14.11.16 12:46 Сейчас в теме
(26) В описанной автором концепции правильнее будет "вызвать все команды командного интерфейса конфигурации".
30. Решитко Дмитрий (grumagargler) 332 14.11.16 16:14 Сейчас в теме
(26) Fragster, таких тестов в начальной базе нет, всё-таки тестер больше для сценарного тестирования, и тем не менее, их можно создать самостоятельно! если будет возможность, создавайте и выкладывайте на жит для других коллег :-)
27. Антон Грачев (Fragster) 786 14.11.16 12:43 Сейчас в теме
матрицу критериев успеха/отказа по ролям/пользователям также очень хочется - чтобы проставил галочками где тест должен сработать, а где - отвалиться, и всё.
28. Антон Грачев (Fragster) 786 14.11.16 12:44 Сейчас в теме
ну и хочется тестов на проверку условного оформления, хотя здесь скорее платформенное ограничение сработает...
31. Михаил Русанов (RainyAugust22) 217 21.12.16 06:56 Сейчас в теме
Интересная тема! Скачал базу, но при запуске ошибка:
Ошибка инициализации модуля: CommonModule.DF.Module
по причине:
{CommonModule.DF.Module(98,10)}: Процедура или функция с указанным именем уже определена (Pick)
Function <<?>>Pick ( val Ref, val Field, val Default = undefined ) export
платформа 8.3.9.1818 исправьте плз или как запускать правильно?
32. Решитко Дмитрий (grumagargler) 332 21.12.16 15:21 Сейчас в теме
День добрый! Уточните пожалуйста, откуда вы скачали базу?
Вот ссылка на актуальный релиз, способный работать под 8.3.9: https://github.com/grumagargler/tester
База, приложенная к теме, тестировалась на версиях <= 8.3.8
33. Владимир Насыров (Spacer) 265 04.04.17 12:08 Сейчас в теме
(32)Чего-то не работает под 8.3.9. 10-ю версию платформы хочет.
34. Решитко Дмитрий (grumagargler) 332 04.04.17 14:21 Сейчас в теме
(33) скачайте пожалуйста с гитхаба последнюю версию, там эта проблема решена.
37. kiruha Д (kiruha) 364 12.05.17 12:43 Сейчас в теме
(34) скачал последнюю - 1.3.2.15 cf - обновлено 8 часов назад -
для работы с конфигурацией необходима версии платформы не меньше, чем 8.10. Текущая версия 8.3.9...

не могу даже режим совместимости выставить
38. Решитко Дмитрий (grumagargler) 332 12.05.17 14:53 Сейчас в теме
(37)
не могу даже режим совместимости выставить

у вас нет под рукой 8.3.10, или какая-то другая проблема?
39. kiruha Д (kiruha) 364 12.05.17 15:13 Сейчас в теме
(38)Нет под рукой 8.3.10. Думаю у большинства пока 8.3.9 - иначе не стал бы беспокоить
40. Решитко Дмитрий (grumagargler) 332 12.05.17 15:55 Сейчас в теме
41. kiruha Д (kiruha) 364 12.05.17 16:26 Сейчас в теме
43. Роман Сюзев (sorb) 12.05.17 16:53 Сейчас в теме
(39) влезу: 8.3.10 по опыту работы с ней чудо как хороша, пожалуй самая стабильная и безбажная с момента появления 8.3. Перебирайтесь, не пожалеете :)
35. kiruha Д (kiruha) 364 11.05.17 19:09 Сейчас в теме
Для Бух 3.0 есть или планируются тесты ?
36. Решитко Дмитрий (grumagargler) 332 11.05.17 23:26 Сейчас в теме
(35)
Для Бух 3.0 есть или планируются тесты ?

мне не приходится вплотную работать с этой конфигурацией, поэтому с моей стороны - ответ нет.
Возможно, другие коллеги уже имеют какие-то наработки, и поделятся, ведь технически всё для этого есть.
42. Решитко Дмитрий (grumagargler) 332 12.05.17 16:34 Сейчас в теме
приходите в специальный чат https://gitter.im/tester1c/Lobby, там вам другие коллеги смогут более оперативно помогать
Оставьте свое сообщение