IE 2018

0. grumagargler 447 10.11.16 21:12 Сейчас в теме

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

Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

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

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

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

Было бы интересно увидеть справку в виде отдельного файла (markdown, html и т.п.), удобном для просмотра через браузер
12. grumagargler 447 11.11.16 21:14 Сейчас в теме
(10) artbear, да, конечно, эти разработки были изучены, именно поэтому родился тестер. Строго говоря, тестеру больше года, просто сейчас решил выложить его, потому что всё чаще стала подыматься тема простых инструментов тестирования. На счет справки, нужно подумать, всё-таки там не один документ, а два (справочники Сценарии и Приложения) и будет больше (под каждый объект метаданных)
13. grumagargler 447 11.11.16 21:21 Сейчас в теме
(10) artbear, я перечитал своё сообщение, и решил дополнить, чтобы не показаться снобом. Тестер был создан не вопреки существующим программам, а по той причине, что он решает немного другие задачи и немного иначе. Я надеюсь, что дополнительный инструмент станет хорошим подспорьем для людей, интересующихся этим вопросом.
FSerg; sorb; +2 Ответить
25. grumagargler 447 14.11.16 06:10 Сейчас в теме
(24) CSiER, к сожалению, в таком варианте не будет работать переход из оглавления по ссылкам, желательно справку открывать из тестера :-)
11. yurii_host 1830 11.11.16 21:07 Сейчас в теме
14. G.P. 11 11.11.16 21:45 Сейчас в теме
Заинтересовало, подпишусь
15. Alien_job 154 12.11.16 08:50 Сейчас в теме
Спасибо, очень интересно!
16. Fragster 849 12.11.16 12:51 Сейчас в теме
Как мне протестировать такой сценарий - один пользователь открывает документ, начинает редактировать, другой пользователь вызывает программную обработку, обработка должна вызвать исключение, если документ редактируется?
18. grumagargler 447 12.11.16 19:08 Сейчас в теме
(16) Fragster, есть несколько возможностей, например, вы можете в коде теста выполнить действия первого пользователя, затем, отключиться от приложения (метод Отключить()), изменить параметры подключения через структуру AppData, затем, запуститьПриложение () с указанием другого порта (см. пример в справке), подключиться и продолжить выполнение сценария. Другой способ, запустить тестер из сценария, с указанием стартующего сценария, который сделает действия второго пользователя. Если у вас не получится - напишите, я попробую накидать код.
17. JohnyDeath 291 12.11.16 16:04 Сейчас в теме
А чем vanessa не устроила?
Там почти все можно мышкой накликать.
19. grumagargler 447 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 447 14.11.16 03:01 Сейчас в теме
(20) sorb, спасибо! да, я подумаю на счет небольшой статьи с практическими примерами, хотя конечно тема тестирования у многих ребят уже просто в печенках. И ситуация такая, что вроде все понимают, что надо, а вот когда пытаются - опа, а тут оказывается инвестиция времени нужна такая, что уже вроде не очень то уж и хотелось. Конечно, можно утверждать, что те, кто сдался, недостаточно твердые, чтобы идти до конца, или продавливать тему административно. Но ведь в тоже самое время, можно ведь и допустить, что проблемы и в инструментарии, который нам надо улучшать.
44. grumagargler 447 05.07.17 22:36 Сейчас в теме
(20)
По публикации: она получилась больше для тех, кто уже тестирует, поэтому, как мне кажется, была бы полезной еще одна статья для тех, кто пока не совсем в теме

Наконец-то мне удалось завершить подготовку расширенной статьи, можете почитать здесь: http://infostart.ru/public/642946/
22. sorb 13.11.16 10:17 Сейчас в теме
Все, прочитал статью на хабре - вопрос по отдельной статье для начинающих можно считать полностью раскрытым, спасибо.
26. Fragster 849 14.11.16 12:34 Сейчас в теме
а есть кнопка "создать тесты открытия всех форм"? и прочие подобные пакетные кнопки?
29. tormozit 4840 14.11.16 12:46 Сейчас в теме
(26) В описанной автором концепции правильнее будет "вызвать все команды командного интерфейса конфигурации".
30. grumagargler 447 14.11.16 16:14 Сейчас в теме
(26) Fragster, таких тестов в начальной базе нет, всё-таки тестер больше для сценарного тестирования, и тем не менее, их можно создать самостоятельно! если будет возможность, создавайте и выкладывайте на жит для других коллег :-)
27. Fragster 849 14.11.16 12:43 Сейчас в теме
матрицу критериев успеха/отказа по ролям/пользователям также очень хочется - чтобы проставил галочками где тест должен сработать, а где - отвалиться, и всё.
28. Fragster 849 14.11.16 12:44 Сейчас в теме
ну и хочется тестов на проверку условного оформления, хотя здесь скорее платформенное ограничение сработает...
31. RainyAugust22 228 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 447 21.12.16 15:21 Сейчас в теме
День добрый! Уточните пожалуйста, откуда вы скачали базу?
Вот ссылка на актуальный релиз, способный работать под 8.3.9: https://github.com/grumagargler/tester
База, приложенная к теме, тестировалась на версиях <= 8.3.8
33. Spacer 283 04.04.17 12:08 Сейчас в теме
(32)Чего-то не работает под 8.3.9. 10-ю версию платформы хочет.
34. grumagargler 447 04.04.17 14:21 Сейчас в теме
(33) скачайте пожалуйста с гитхаба последнюю версию, там эта проблема решена.
37. kiruha 369 12.05.17 12:43 Сейчас в теме
(34) скачал последнюю - 1.3.2.15 cf - обновлено 8 часов назад -
для работы с конфигурацией необходима версии платформы не меньше, чем 8.10. Текущая версия 8.3.9...

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

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

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

Вакансии

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

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

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

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Программист 1С
Казань
Полный день