Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Тестирование разработок на платформе 1С. Управление данными (число прочтений - 21201 )
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Тестирование разработок на платформе 1С. Управление данными
07. Мая 2010 :: 06:31
Печать  
Всем привет!
Поскольку, на форуме нет раздела по тестированию, пока напишу здесь.
Предлагаю обсудить вопрос, который, по крайней мере, для меня, является, пожалуй, основным сдерживающим фактором в применении тестирования. Причем, тестирования любого вида.

Проблема достаточно многогранна, и сформулировать ее с первого раза мне, вряд ли, удастся. Но, тем не менее, с чего-то начнем.
Вобщем, суть проблемы. Для выполнения теста необходимо выполнить фазу, известную как setup, которая заключается в создании значительного количества различных данных в тестовой БД. В основном, это - создание элементов в куче справочников и заполнение кучи регистров начальными данными. Понятно, что есть тесты где этого не требуется, но речь не о таких случаях. И эта фаза меня сильно напрягает своей сложностью - всегда приходится морщить лоб, вспоминая какие виды данных нужно сгенерить, затем копипастить и редактировать кучу вызовов генераторв данных. Вобщем, эта фаза - наиболее трудоемкая при разработке теста.
При этом, специфика платформы 1С накладывает существенные ограничения на  использование существующих методик - они рассчитаны на "взрослые" языки программирования. Надо заметить, я ориентируюсь на 8, но и для 7.7 это не менее справедливо.

Ну и, в связи с этим, хотелось бы обсудить методические аспекты снижения трудоемкости подготовки тестовых данных.

Это вкратце, для затравки. Если есть интерес к сабжу, если есть возражения или предложения, прошу отметиться в ветке. Флейм и оффтоп приветствуются тоже.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #1 - 07. Мая 2010 :: 06:48
Печать  
Ага, меня подобная проблема также сильно нагружает Печаль

По восьмерке это можно решить с помощью универсальной
выгрузки в ХМЛ-файл с использованием выгрузки по ссылкам.
Правда, есть вопрос переноса данных, несвязанных с выгружаемыми данными - например, константы, регистры, какие-нибудь настройки пользователя и т.п.
Т.е. здесь минимум 2 проблемы:
1. проблема подбора всех необходимых данных
2. возможные большие объемы выгружаемых данных, т.е. возможная крайне медленная выгрузка/загрузка данных. Соответственно, быстро подобные тесты не проверишь, что ограничивает их полезность Печаль

ЗЫ Федор, кстати, сделал для SnowTest спец.код по выгрузке/загрузке подобных тестовых данных в пустую базу на базе штатной  обработке 1С по ХМЛ-выгрузке/загрузке.
Правда, пока не релизит, и держит в секрете Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #2 - 07. Мая 2010 :: 07:21
Печать  
artbear
Обнадеживает, что проблема актуальна Улыбка

Насчет хранения в хмл. Сначала, я тоже пошел по этому пути. Были сделаны средства выгрузки/загрузки, оптимизирована скорость и т.п. Вобщем, чисто технических проблем, при этом, не было. Существенная сложность, из-за которой пришлось отказаться от этого подхода, оказалась в поддержке выгруженных данных. При изменении метаданных, сериализованные данные становятся невалидными. Была сделана эталонная база с тестовыми данными, в которую загружалась измененная конфига. В ней можно было, скажем, заполнить добавленные реквизиты, и снова выгрузить в хмл. Но тут еще проблема с взаимоисключающими данными. Например, различные значения константы. Ну и вопрос как ссылаться на загруженные данные? Хардкодить в тесте гуиды элементов справочников? Короче говоря, я не нашел эффективного способа поддерживать их в актуальном состоянии.

Пока что, я вижу единственный приемлемый способ создания данных - создавать их программно.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #3 - 07. Мая 2010 :: 10:05
Печать  
А если юзать обмен данными через Конвертацию данных?
тогда мы практически не зависим от изменения метаданных.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #4 - 07. Мая 2010 :: 10:18
Печать  
Палыч писал(а) 07. Мая 2010 :: 07:21:
artbear
Сначала, я тоже пошел по этому пути. Были сделаны средства выгрузки/загрузки, оптимизирована скорость и т.п. Вобщем, чисто технических проблем, при этом, не было. Существенная сложность, из-за которой пришлось отказаться от этого подхода, оказалась в поддержке выгруженных данных. При изменении метаданных, сериализованные данные становятся невалидными.


я сейчас (да и уже как месяца 4) тоже озадачен этой проблемой:

на ум помимо сериализации XML приходило :
1. храниться тестовые данные в формате YAML (fixtures)
2. хранить тестовые данные в виде 1С кода их создающего  

в любом случае необходимы либо:

1. реализация YAML для 1С и процедуры создания тестовых данных на основе YAML представления
2. генератор кода для создания объекта

вот такие вот бредовые пока идеи
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #5 - 07. Мая 2010 :: 12:40
Печать  
Пробовал три способа. Опишу по мере их придумки.

1. Хранить данные в тестовой БД. Самый первый способ, который использовался Фанктестом. Хреново тем, что тесты теряют независимость. И проблема даже не в разных значениях констант, а например такое было: добавляешь в спраовчник нового контрагента - ломается тест отчета о продажах, выводящий данные о всех контрагентах из справочника.

2. Создавать данные программно. Способ геморройный, приходится много времени потратить на создание кода, создающего базовые объекты, и простейшие конструкции из них. Но зато когда оно готово - писать тесты становится легко и приятно.
Код
Выбрать все
ПН = Фабрика.ПримерПродажи(Фабрика.Товар()) 


и у тебя уже есть товар, клиент, приходная накладная, расходная, приходная/расходная реализатора, все нужные счета-фактуры и отчет комиссионера. Ворочай как хочешь.

3. Хранение данных в стороннем XML. Реализовал для SnowTest'а. Про поддержку еще не думал - еще не сталкивался с изменением структуры метаданных.

Больше всего мне нравится способ номер два.Запрягаешь долго, но едешь потом быстро.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #6 - 11. Мая 2010 :: 08:04
Печать  
artbear писал(а) 07. Мая 2010 :: 10:05:
А если юзать обмен данными через Конвертацию данных?
тогда мы практически не зависим от изменения метаданных.

Да, была такая мысль, сделать свой десериализатор. Но только лишь прочитать данные, к сожалению недостаточно. Остальные вопросы так и остались без ответа. Нужна методика управления тестовыми данными. И, весьма желательно, опробованная на практике Улыбка


lustin писал(а) 07. Мая 2010 :: 10:18:
1. храниться тестовые данные в формате YAML (fixtures)

А чем YAML лучше XML?


lustin писал(а) 07. Мая 2010 :: 10:18:
2. генератор кода для создания объекта

Звучит, пока, несколько фантастически. Реализовывать не планируешь?
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #7 - 11. Мая 2010 :: 09:21
Печать  
fez писал(а) 07. Мая 2010 :: 12:40:
Пробовал три способа. Опишу по мере их придумки.
2. Создавать данные программно. Способ геморройный, приходится много времени потратить на создание кода, создающего базовые объекты, и простейшие конструкции из них. Но зато когда оно готово - писать тесты становится легко и приятно.
Код
Выбрать все
ПН = Фабрика.ПримерПродажи(Фабрика.Товар()) 


и у тебя уже есть товар, клиент, приходная накладная, расходная, приходная/расходная реализатора, все нужные счета-фактуры и отчет комиссионера. Ворочай как хочешь.
Больше всего мне нравится способ номер два.Запрягаешь долго, но едешь потом быстро.


На данный момент, у меня так и сделано: куча конструкторов и макроконструкторров, записывающих в базу, скажем, элемент номенклатуры с единицами и партиями.  Нужно отметить, что на создание модулей-генераторов уходит не так много времени, как может показаться. Это - занятие, скорее, даже, приятное Улыбка
Начинаешь их использовать - казалось бы, счастье уже рядом, "писать тесты легко и приятно". Но не тут-то было. Аппетит приходит во время еды. Юниттестирование в классическом понимании, на платформе 1С невозможно по понятным причинам. Для выполнения теста мы вынуждены воспроизводить состояние информационной базы полностью: заполнять огромное количество справочников, регистров, документов, у которых, в свою очередь, огромное количество реквизитов... Вобщем, именно эту сложность и хотелось бы уменьшить.
С технической точки зрения, программное формирование данных выглядит перспективно. По-видимому,  вопрос теперь в методике...
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #8 - 11. Мая 2010 :: 10:08
Печать  
Палыч писал(а) 11. Мая 2010 :: 08:04:
lustin писал(а) 07. Мая 2010 :: 10:18:
1. храниться тестовые данные в формате YAML (fixtures)

А чем YAML лучше XML?
lustin писал(а) 07. Мая 2010 :: 10:18:
2. генератор кода для создания объекта

Звучит, пока, несколько фантастически. Реализовывать не планируешь?


1. YAML как бы этак сказать - человекочитаемый, за счет этой человекочитаемости очень удобно создавать данные прямо в блокноте  Улыбка - и diff для истории изменений выглядит красиво (а не то что на xml)

2. насчет генератора кода
- идея то была в свое время как раз придумана Федором (http://1c.alterplast.ru/exchange.html)
- как получившийся код выполнить через v8unpack и обработку-пустышку - было подсмотрено у tormozit в его ИнструментахРазработчика
- а насчет реализации - сказать труднее - кроме меня самого на текущих местах работы это и не надо никому - всем кнопочки подавай  Печаль. Ближайший месяц покажет... Кстати такую разработку надо однозначно через тестирование реализовывать  Улыбка



  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #9 - 11. Мая 2010 :: 10:28
Печать  
lustin писал(а) 11. Мая 2010 :: 10:08:
YAML как бы этак сказать - человекочитаемый


Насколько понимаю, такое описание тождественно вызову макроконструктора типа:

Код
Выбрать все
ГенереторОбъектов.СоздатьКонтрагента("инн", "наименование", "родитель") 



Ну и, опять же, нужна методика.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #10 - 11. Мая 2010 :: 10:36
Печать  
Палыч писал(а) 11. Мая 2010 :: 08:04:
artbear писал(а) 07. Мая 2010 :: 10:05:
А если юзать обмен данными через Конвертацию данных?
тогда мы практически не зависим от изменения метаданных.

Да, была такая мысль, сделать свой десериализатор. Но только лишь прочитать данные, к сожалению недостаточно.  Улыбка

Твой ответ не понятен Печаль зачем писать свой десериализатор?

Ручная схема работы с использованием КД выглядит так:
1. в КД делаются правила для переноса данных. т.к. конфы практически одинаковые, то правила делаются совершенно элементарно, тыканием кнопочек.
2. Далее в КД получаем файл правил, который будет юзаться как при выгрузке, так и при загрузке данных в исходной (рабочая?) и конечной (пустая тестовая) базах.
3. в исходной (рабочей?) запускается спец.обработка, в которой и выбираются нужные объекты для выгрузки. Эта обработка создает спец.файл выгрузки в ХМЛ.
4. в конечной (пустая тестовая) базе с помощью спец.обработки загружается полученный ХМЛ-файл из п.3
ВСЕ - тестовые данные готовы Улыбка
теперь осталось только автоматизировать этап загрузки (п.4) для использования в автоматических тестах.

Трудности - которые я вижу:
1. небольшие проблемы при изменении метаданных, но в КД все довольно просто меняется. нужно лишь не забывать об этом и вовремя менять правила.
2. ИМХО самое сложное - подбор всех нужных тестовых данных.
3. скорость загрузки может быть довольно слабой, хотя вряд ли сильно уступит варианту создания через кодогенератор.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #11 - 11. Мая 2010 :: 10:54
Печать  
artbear писал(а) 11. Мая 2010 :: 10:36:
artbear писал(а) 07. Мая 2010 :: 10:05:
А если юзать обмен данными через Конвертацию данных?
тогда мы практически не зависим от изменения метаданных.


Еще один подозрительный момент - что делать, если уже после формирования файла выгрузки с тестовыми данными изменились метаданные и какой-то реквизит объекта перестал быть валидным.
Например, в тестовом файле есть реквизит, а в конфе реквизит удален.
Не помню, что в таком случае будет делать обработка загрузки Печаль
Вроде есть возможность пропускать подобные ошибки при загрузке и продолжать создание данного объекта.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #12 - 11. Мая 2010 :: 11:51
Печать  
Палыч писал(а) 11. Мая 2010 :: 09:21:
Юниттестирование в классическом понимании, на платформе 1С невозможно по понятным причинам.

Не. Мне эти причины непонятны Улыбка В 7.7 есть ++, в v8 есть возможность вызова экспортных методов. По крайней мере свои разработки можно (и нужно) писать с поправками на юниттестирование.

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

Цитата:
Для выполнения теста мы вынуждены воспроизводить состояние информационной базы полностью: заполнять огромное количество справочников, регистров, документов, у которых, в свою очередь, огромное количество реквизитов... Вобщем, именно эту сложность и хотелось бы уменьшить.

Считаю, что допустимо заполнить всю эту псевдостатическую информацию один раз. И проводить последующее автотестирование не на совсем пустой базе, а на хоть как-то первоначально заполненной.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #13 - 11. Мая 2010 :: 12:22
Печать  
lustin писал(а) 11. Мая 2010 :: 10:08:
Палыч писал(а) 11. Мая 2010 :: 08:04:
lustin писал(а) 07. Мая 2010 :: 10:18:
2. генератор кода для создания объекта

Звучит, пока, несколько фантастически. Реализовывать не планируешь?

2. насчет генератора кода
- идея то была в свое время как раз придумана Федором (http://1c.alterplast.ru/exchange.html)

Раз уж я был упомянут Улыбка выскажу свое мнение про генераторы кода.

Упомянутая хренотень была написана в тот момент, когда я понял, что пишу очень много в чем-то похожего кода. Тогда я и попытался несколько уменьшить объем проделываемой работы доступными на тот момент средствами. Я совсем не уверен, что окажись я сейчас в той ситуации, я бы пошел тем же путем.

Что касается создания данных для тестирования.
Не вижу принципиальной разницы между кодом фабричного метода, создающего mock object и кодом генератора. Результат один и тот же: объект создан. При этом код и вызов фабричного метода лично для меня понятнее, естественнее, удобнее и читаемее. Генератор кода выглядит некоторой дополнительной сложностью в данном случае.

В любом случае, я придерживаюсь стратегии "сначала пишем работающий код, и только потом его рефакторим." А придумывать заранее мегаархитектуру - ну его в пень.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #14 - 11. Мая 2010 :: 12:54
Печать  
fez писал(а) 11. Мая 2010 :: 11:51:
Палыч писал(а) 11. Мая 2010 :: 09:21:
Юниттестирование в классическом понимании, на платформе 1С невозможно по понятным причинам.

Не. Мне эти причины непонятны Улыбка В 7.7 есть ++, в v8 есть возможность вызова экспортных методов. По крайней мере свои разработки можно (и нужно) писать с поправками на юниттестирование.

+1
ИМХО В 8-ке вполне удобно юзать юнит-тестирование, я в 77 не так активно применял юнит-тестирование, кроме разработки ++
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #15 - 12. Мая 2010 :: 05:25
Печать  
artbear писал(а) 11. Мая 2010 :: 10:36:
зачем писать свой десериализатор?


Ну понятно, что этот вопрос так или иначе решаем. Но это лишь малая часть проблемы при таком подходе. Нужна методика. Вопросы, которые она должна охватывать, сформулирую несколько позже, если понадобится.
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #16 - 12. Мая 2010 :: 07:10
Печать  
fez писал(а) 11. Мая 2010 :: 11:51:
Мне эти причины непонятны Улыбка

Прежде всего, считаю необходимым уточнить терминологию. Предлагаю пользоваться следующей классификацией видов и уровней тестирования, которая кажется  мне наиболее логически понятной:
http://protesting.ru/testing/testtypes.html
http://protesting.ru/testing/testlevels.html.

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

Цитата:
Другой вопрос, что типовые написаны таким образом, что их особо не поюниттестируешь

Действительно, это другой вопрос. И его можно было бы обсудить в отдельной ветке. В смысле не кривизну типовых, а приемы, повышающие тестопригодность конфигурации.

Цитата:
Считаю, что допустимо заполнить всю эту псевдостатическую информацию один раз. И проводить последующее автотестирование не на совсем пустой базе, а на хоть как-то первоначально заполненной.

Во! Это уже по-существу! Как ты себе представляешь весь процесс при таком подходе?
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #17 - 13. Мая 2010 :: 17:09
Печать  
Палыч писал(а) 12. Мая 2010 :: 07:10:
Прежде всего, считаю необходимым уточнить терминологию. Предлагаю пользоваться следующей классификацией видов и уровней тестирования, которая кажется  мне наиболее логически понятной:
http://protesting.ru/testing/testtypes.html.


Цитата:
Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.)


Выделение мое. Ну так в чем проблема найти в 1С те участки, которые доступны и могут быть протестированы по-отдельности?

Цитата:
Так вот юниттестирование на 1С невозможно по причине того, что платформа не поддерживает механизм интерфейсов, соответственно далеко не всегда возможно в юнит передать мок-объект.


Я не успеваю за твоей мыслью. То есть мне понятно, что возможность передачи мок-объекта существенно расширяет круг "частей приложения, которые могут быть протестированы по-отдельности". Но откуда взялся вывод о тотальной невозможности юниттестирования без мок-объектов - я не понял.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #18 - 13. Мая 2010 :: 17:20
Печать  
Палыч писал(а) 12. Мая 2010 :: 07:10:
Цитата:
Другой вопрос, что типовые написаны таким образом, что их особо не поюниттестируешь

Действительно, это другой вопрос. И его можно было бы обсудить в отдельной ветке. В смысле не кривизну типовых, а приемы, повышающие тестопригодность конфигурации.

http://www.1cpp.ru/forum/YaBB.pl?num=1273770703
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #19 - 13. Мая 2010 :: 17:26
Печать  
Палыч писал(а) 12. Мая 2010 :: 07:10:
Цитата:
Считаю, что допустимо заполнить всю эту псевдостатическую информацию один раз. И проводить последующее автотестирование не на совсем пустой базе, а на хоть как-то первоначально заполненной.

Во! Это уже по-существу! Как ты себе представляешь весь процесс при таком подходе?

В качестве лирического отступления: я не просто представляю - я так и работаю.

Все предельно просто.
Сначала создается совсем пустая база.
Потом придумывается первый (очередной) тест.
Критически осматриваю набор данных, необходимых для этого теста. Разделяю данные, которые специфичны именно для этого теста, от данных, которые являются общими настройками системы.
Специфичные данные тест создает для себя сам, данные, являющиеся общими настройками системы записываю непосредственно в БД.
Полученная в результате такой подготовки "псевдопустая БД" регулярно бэкапится на всякий случай, ибо работа по ее подготовке как правило, проделана немаленькая.

Если разные тесты используют разные настройки системы, то данная коллизия решается очень просто.
Выбираем самый частоиспользуемый вариант для каждой настройки, именно его записываем в псевдопустую БД.
Ввсе тесты, которые нуждаются в других настройках - сами под себя донастраивают БД.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #20 - 14. Мая 2010 :: 06:47
Печать  
fez писал(а) 13. Мая 2010 :: 17:09:
Но откуда взялся вывод о тотальной невозможности юниттестирования без мок-объектов - я не понял.


Мне тоже непонятно откуда у тебя взялся такой вывод.  Смех
Моя мысль была о том, что юниттестирование на платформе 1С невозможно в общем случае. Т.е., не любой модуль возможно протестировать на уровне модуля. Что, впрочем, не исключает наличия частных случаев, о которых ты пишешь и о которых  я, кстати, тоже сделал оговорку. Об этом я написал на первой странице не ради спора о полупустоте/полуполноте стакана, а ради того, чтобы подчеркнуть, что тестирование на платформе 1С требует техник не только и не столько юнит-, сколько системного тестирования. В частности, генерации данных в БД.
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #21 - 14. Мая 2010 :: 06:54
Печать  
fez писал(а) 13. Мая 2010 :: 17:26:
Полученная в результате такой подготовки "псевдопустая БД"...

А как возвращаешь базу в исходное состояние между тестами? Откатом транзакции?
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #22 - 14. Мая 2010 :: 08:05
Печать  
Палыч писал(а) 14. Мая 2010 :: 06:54:
fez писал(а) 13. Мая 2010 :: 17:26:
Полученная в результате такой подготовки "псевдопустая БД"...

А как возвращаешь базу в исходное состояние между тестами? Откатом транзакции?

Да. Есть правда у такого подхода проблема. Когда тебе например нужно протестировать, что в определенной ситуации созданный тобой документ не запишется (и потом нужно проверить что-нибудь еще) - вот тут приходит птичка обломинго.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #23 - 14. Мая 2010 :: 08:12
Печать  
Палыч писал(а) 14. Мая 2010 :: 06:47:
Моя мысль была о том, что юниттестирование на платформе 1С невозможно в общем случае.

Ну а при чем тут 1С? Я тебе больше скажу - в общем случае юниттестирование вообще невозможно. Ни на какой платформе Улыбка

Палыч писал(а) 14. Мая 2010 :: 06:47:
Т.е., не любой модуль возможно протестировать на уровне модуля.

Угу, и не только в 1С Подмигивание

Палыч писал(а) 14. Мая 2010 :: 06:47:
тестирование на платформе 1С требует техник не только и не столько юнит-, сколько системного тестирования. В частности, генерации данных в БД.

Я бы высказал эту мысль несколько иначе. Конечному потребителю платформы 1С нужно в первую очередь системное тестирование. Именно поэтому "тестирование на платформе 1С требует..." и далее по тексту.

Юниттестирование - оно скорее нужно программисту. То есть и конечному пользователю тоже, но не в такой степени. Так что юниттестирование отдается на откуп программисту. Нужно оно ему, хочет он юниттестировать - его модули можно будет проюниттестировать и они будут покрыты юниттестами. Не нужно - так и с юниттестированием такого модуля будут очевидные проблемы.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #24 - 14. Мая 2010 :: 09:06
Печать  
fez писал(а) 14. Мая 2010 :: 08:12:
Палыч писал(а) 14. Мая 2010 :: 06:47:
Моя мысль была о том, что юниттестирование на платформе 1С невозможно в общем случае.

Ну а при чем тут 1С?

Как это при чем?! На 1С, в отличие от универсальных средств разработки, насколько бы конфига ни была самописной, не удастся заменить, скажем набор набор записей регистра в объекте документа. А проблемы тестирования разработок на взрослых языках меня, на данный момент, мало волнуют. Подмигивание

Цитата:
Я тебе больше скажу - в общем случае юниттестирование вообще невозможно. Ни на какой платформе

Цитата:
Угу, и не только в 1С

[делаю вид, что не заметил эти тезисы]  Смех

Цитата:
Конечному потребителю платформы 1С нужно в первую очередь системное тестирование

Ты уже, наверно, догадался, что я отвечу: скажу тебе больше, конечному потребителю платформы 1С  никакое тестирование вобще не нужно!  Смех

И вобще, мне не совсем понятно, какую мысль ты хочешь донести? Что юниттестирование на 1С имеет право на жизнь? Дык я и не возражаю!  Улыбка
Правда, при этом, возникает вопрос как ты тестируешь обеспечиваешь  (или предполагаешь в будущем) качество элементов конфигурации к которым платформа не дает доступа на уровне юнита? Тот же пресловутый документ, например?
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #25 - 14. Мая 2010 :: 09:12
Печать  
fez писал(а) 14. Мая 2010 :: 08:05:
Есть правда у такого подхода проблема. Когда тебе например нужно протестировать, что в определенной ситуации созданный тобой документ не запишется (и потом нужно проверить что-нибудь еще) - вот тут приходит птичка обломинго.

Вот хотелось бы избежать таких нежелательных встреч.
Да, и еще. Как ты обращаешься к данным из базового набора? Скажем, к элементам справочников.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #26 - 14. Мая 2010 :: 09:21
Печать  
Палыч писал(а) 14. Мая 2010 :: 09:06:
Правда, при этом, возникает вопрос как ты тестируешь обеспечиваешь  (или предполагаешь в будущем) качество элементов конфигурации к которым платформа не дает доступа на уровне юнита? Тот же пресловутый документ, например?

Не думал пока. Придумаю что-нибудь, когда дело дойдет Улыбка

Но вообще я сейчас связан по рукам и ногам, ибо могу влиять на тестируемый код только косвенно Печаль
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #27 - 14. Мая 2010 :: 09:24
Печать  
Палыч писал(а) 14. Мая 2010 :: 09:12:
Да, и еще. Как ты обращаешься к данным из базового набора? Скажем, к элементам справочников.

Если это псевдоконфигурационные данные (ну там, основная фирма, валюта регламентированного учета и тому подобное) - то ровно так же, как это делает вся остальная конфигурация.

Если это просто какие-то данные, которые случайно попали в псевдопустую конфу (ну, бывает, например загрузили один раз мапинг счетов РБУ-ГААП из живой базы, а там еще и некоторые субконто заполнены), то к таким данным я принципиально не обращаюсь, а создаю свои объекты.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #28 - 14. Мая 2010 :: 09:37
Печать  
fez писал(а) 14. Мая 2010 :: 09:24:
к таким данным я принципиально не обращаюсь, а создаю свои объекты.

Например, справочники номенклатура, организации, контрагенты и т.п. Ты их включаешь в базовый набор?
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #29 - 14. Мая 2010 :: 11:15
Печать  
Зависит от смысла, который прячется за этим элементом.
Вот была у меня база, где одновременно велся учет комитента и комиссионера (разные юрлица). Причем потом стало много, как комитентов, так и комиссионеров.

Соответственно были определенные специфические элементы, типа номенклатуры "Комиссионное вознаграждение", или контрагенты, связанные с фирмами (ну есть фирма "Комитент", а есть контрагент "Комитент"). Вот такие объекты - включены в базовый набор. Потому что каждый из них недостаточно создать - их нужно дополнительно прописать в каких-то конфигурациях (константы, или дополнительные служебные справочники, или поля в других справочниках). И делать это каждый раз - утомительно и не нужно. Это псевдостатическая информация, ее можно занести в БД один раз.

Просто же хранить рядовых контрагентов или номенклатуру в базовом наборе нет смысла - ибо непонятно, как ее потом искать. Проще самому создать, немедленно использовать, а по завершению все транзакцией откатить.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #30 - 17. Мая 2010 :: 07:14
Печать  
fez
Понятно. На данный момент я использую аналогичный подход.

Подведем небольшой итог.
Вырисовывается простая концепция подготовки тестовых данных.
Считаем, что для тестируемой конфигурации сформирован один или более наборов тестов.
Для каждого набора тестов формируется единый набор базовых, не изменяемых данных.
Каждый тест из набора, при выполнении, формирует свои уникальные данные.
Каким образом формируются данные теста и как база приводится к исходному состоянию между тестами, пока, не уточняем.

Тут возникает вопрос. Если рассмотреть все данные, используемые во всех тестах набора, то спектр применимости данных можно считать непрерывным: от данных, используемых во всех тестах, до уникальных данных, используемых в единственном тесте. Как выделить данные для включения в базовый набор?

Ну и самое главное. Сформировать базовые данные - не проблема. Достаточной одной общей процедуры. Все, что было сказано мной выше о трудоемкости подготовки данных, относится именно к этапу подготовки данных для каждого теста. Частично спасают конструкторы и макроконсрукторы, которые генерят "среднестатистические" данные вместе с подчиненными данными. Однако, много видов данных . Много нужно искать и вспоминать. Много писанины.

Может, я, просто, слишком ленив? Улыбка

Прошу высказываться.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #31 - 28. Мая 2010 :: 16:30
Печать  
fez писал(а) 07. Мая 2010 :: 12:40:
3. Хранение данных в стороннем XML. Реализовал для SnowTest'а. Про поддержку еще не думал - еще не сталкивался с изменением структуры метаданных.


Столкнулся. Мысли исключительно матерные, ибо 1С-вый парсер XML ломается даже в том случае, если у объекта поменялся хотя бы порядок реквизитов. То есть отсортировали реквизиты по алфавиту - пламенный привет.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #32 - 01. Июня 2010 :: 07:54
Печать  
fez
Интересно было бы узнать подробности. Как собираешься использовать XML? Или уже не собираешься? Улыбка
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #33 - 01. Июня 2010 :: 10:33
Печать  
Ну видимо придется реализовать стороннее хранение ссылок на выгружаемые данные, а так же автоматическую их выгрузку из БД "хранилища данных" для каждого релиза.

Получится практически тот самый "генератор кода выгрузки", который предлагал Лустин. Только кода он никакого генерить не будет Улыбка
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #34 - 01. Июня 2010 :: 14:05
Печать  
fez
Та-а-ак... Крайне любопытно Улыбка
Насколько я понял, речь идет  о SnowTest. Так?
Какие данные ты планируешь хранить в базе-хранилище? Только базовые или более специальные?
Что содержит один хмл-файл? Один объект или целую пачку?

зы: и вобще вопросов еще масса... Улыбка
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #35 - 02. Июня 2010 :: 07:05
Печать  
Палыч писал(а) 01. Июня 2010 :: 14:05:
Насколько я понял, речь идет  о SnowTest. Так?

Да.

Палыч писал(а) 01. Июня 2010 :: 14:05:
Какие данные ты планируешь хранить в базе-хранилище?

Короче, получается две базы данных. В одной мы храним все объекты, которые нам пригодятся для наших автотестов. На роль такой БД вполне подойдет например какой-нибудь бэкап боевой базы. Важно тут то, что в этой БД не должны происходить какие-либо изменения с выгружаемыми данными. То есть обновлять бэкап свежими данными надо крайне аккуратно, а лучше вообще не надо.

Во второй БД мы запускаем юниттесты, и в этой базе мы храним только базовый набор данных.

И еще где-то надо хранить, какие, собственно, данные нам надо выгружать из БД с бэкапом, и в какие файлы. Вот этот момент для меня пока не совсем понятен. Готов услышать советы Улыбка

Вся методика выглядит так: обновляем конфигурацию на обоих базах, выгружаем свежие XML из БД с бэкапом, запускаем юниттесты на пустой БД.


Палыч писал(а) 01. Июня 2010 :: 14:05:
Что содержит один хмл-файл? Один объект или целую пачку?

Пачку. Один XML содержит все данные, которые нужны для одного юниттеста. Не вижу смысла дробить.

Палыч писал(а) 01. Июня 2010 :: 14:05:
зы: и вобще вопросов еще масса... Улыбка

Спрашивай Улыбка
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #36 - 02. Июня 2010 :: 07:07
Печать  
fez писал(а) 02. Июня 2010 :: 07:05:
То есть обновлять бэкап свежими данными надо крайне аккуратно, а лучше вообще не надо.

Правильный способ накатывания бэкапа в такой конструкции должен выглядеть так.
1. Накатывать бэкап только с той же конфигурацией, что и есть сейчас. Чтобы гарантированно изменились только данные.
2. После накатывания бэкапа - запустить тесты. Тогда мы сможем тут же увидеть, какие тесты поломались из-за накатанного бэкапа.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #37 - 02. Июня 2010 :: 09:05
Печать  
fez писал(а) 02. Июня 2010 :: 07:05:
Во второй БД мы запускаем юниттесты, и в этой базе мы храним только базовый набор данных.

Одно замечание. Мы должны обозначить такое понятие как комплекс метаданных и базовых данных. Назовем его, допустим, тестовая среда.
Значит, для выполнения тестов нам необходимо иметь несколько постоянных баз для каждой тестовой среды или иметь одну единственную базу, в которую каждый раз загружать среду из бэкапа.

Цитата:
В одной мы храним все объекты, которые нам пригодятся для наших автотестов.

Здесь возникает вопрос. Как хранить взаимоисключающие варианты данных? Скажем, значения констант, предопределенные записи ссылочных типов данных.
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #38 - 02. Июня 2010 :: 09:41
Печать  
fez писал(а) 02. Июня 2010 :: 07:05:
И еще где-то надо хранить, какие, собственно, данные нам надо выгружать из БД с бэкапом, и в какие файлы. Вот этот момент для меня пока не совсем понятен.

Ну вобще, мной была опробована такая схема. Пользователь выгружает в файл необходимые данные, задает имя файла по принципу именования тестовых случаев и хардкодит его тестовом случае. Состав набора данных - произвольный. Набор может использоваться как в одном тестовом случае, так и в нескольких.
Приведение содержимого файла в соответствие новой конфигурации выполняется с помощью обработки, которая парсит содержимое файла, извлекает ссылки и отборы, записанные в этом файле, и формирует новый файл с тем же именем и свежими данными. Если необходимо добавить в набор объект новых метаданных, набор переформируется пользователем с нуля.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #39 - 08. Июня 2010 :: 11:52
Печать  
Народ, а как вы выполняете разработку с применением тестирования?
например, нужно создать какой-нибудь отчет или доработать существующий отчет?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #40 - 08. Июня 2010 :: 12:09
Печать  
artbear
В каком аспекте? Улыбка
И я бы не рассматривал отчет как характерный пример для применения тестирования. Или тебя интересует именно отчет?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #41 - 08. Июня 2010 :: 12:23
Печать  
Палыч писал(а) 08. Июня 2010 :: 12:09:
artbear
В каком аспекте? Улыбка
И я бы не рассматривал отчет как характерный пример для применения тестирования. Или тебя интересует именно отчет?

Именно что ты (или кто другой) делаешь(-ете) при разработке нового отчета или доработке существующего отчета?
как создаете/храните/меняете исходные данные для тестирования? что выступает в роли исходных данных - объекты, сам табличный док или еще что?
как выполняете сверку правильности работы отчета после своих правок?
и т.п.

ЗЫ лично я это делаю в своем варианте FuncTest.v8 и считаю тестирование довольно удобным.
Но мне интересно услышать/увидеть, чем пользуются остальные?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #42 - 10. Июня 2010 :: 07:24
Печать  
слегка OffTopic может быть:

сценарное тестирование я видел, на днях получу доступ к легальному центру управления полетами производительностью..

но тут напоролся на описание: http://v8.1c.ru/expert/tc/tc_overview.htm

и возникла у меня очередная бредовая идея:

а нельзя ли этот тест-центр поиспользовать в качестве средства подготовки тестовых данных.

PS. Я все таки перебрался с семьей в Москву несмотря ни на что.
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #43 - 16. Июня 2010 :: 13:51
Печать  
artbear писал(а) 08. Июня 2010 :: 12:23:
Именно что ты (или кто другой) делаешь(-ете) при разработке нового отчета или доработке существующего отчета?


Прошу извинить за долгое отсутствие Улыбка

Что делаю? Ровным счетом ничего. Улыбка Просто не вижу необходимости тестировать отчеты. Во-первых, потому, что отчеты являются далеко не первым звеном  функциональной цепочки учетной системы. Во-вторых, потому, что отчеты, в моем представлении, не содержат изощренных алгоритмов, требующих разносторонней проверки. Ну и , в-третьих, потому, что тестирование отчета требует привлечения средств тестирования через ГУИ, чего я стараюсь, по возможности, избегать. Приведенные причины отражают исключительно мой субъективный взгляд. Вполне допускаю, что для тебя отчет является единственным конечным продуктом. Улыбка

Вобщем-то, что именно тестировать, в каком объеме и какими методами - это отдельный интересный вопрос.


Цитата:
как создаете/храните/меняете исходные данные для тестирования?

Да, собcно, вся ветка об этом.

  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #44 - 16. Июня 2010 :: 13:56
Печать  
lustin писал(а) 10. Июня 2010 :: 07:24:
сценарное тестирование я видел, на днях получу доступ к легальному центру управления полетами производительностью..


Когда я его смотрел, это было, наверно, с год назад, "сценарное тестирование" от 1С не производило впечатления инструмента для повседневного использования.
Ты уже посмотрел? Нашел что-то полезное?
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #45 - 16. Июня 2010 :: 14:35
Печать  
Палыч писал(а) 16. Июня 2010 :: 13:56:
lustin писал(а) 10. Июня 2010 :: 07:24:
сценарное тестирование я видел, на днях получу доступ к легальному центру управления полетами производительностью..


Когда я его смотрел, это было, наверно, с год назад, "сценарное тестирование" от 1С не производило впечатления инструмента для повседневного использования.
Ты уже посмотрел? Нашел что-то полезное?


честно если - что как то оно меня не вдохновило это самое сценарное тестирование - для текущих задач, чтобы заменить check-list оно подходит, однако для повседневного использования - тяжеловат инструмент по моему....

единственное что приходит на ум - применить сценарий в качестве скрипта на создание данных в пустой БД:

то есть делается пустая ИБ, в нее загружается текущая конфигурация, запускается 1С и выполняется сценарий тестирования эммулирующий создание и заполнение реквизитов объектов - но это применимо в качестве:

1. инструмента тестирования поведения форм
2. подготовки демо-базы если это тиражное решение

пока так.... но я еще в процессе "ковыряния"
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #46 - 16. Июня 2010 :: 14:39
Печать  
и еще один хреновый момент связанный с тест центром

Цитата:
Сценарий не является синтетическим, то есть не генерирует искусственные документы. Все проводимые документы являются точными копиями документов, которые проводились пользователями в рабочей информационной базе


получается что для тестирования нужна эталонная ИБ, для создания этих самых копий  Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #47 - 14. Июня 2011 :: 05:51
Печать  
Ну что, коллеги! Прошел год. Наверняка, у вас есть чем поделиться. Улыбка
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #48 - 04. Июля 2011 :: 15:13
Печать  
Чем больше я работаю тестировщиком - тем больше мне нравится программирование.

И чем больше я работаю с восьмёркой - тем больше мне нравится семёрка.
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #49 - 04. Июля 2011 :: 15:41
Печать  
Федор, немного подробнее пожалста. Улыбка
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #50 - 05. Июля 2011 :: 05:18
Печать  
fez писал(а) 04. Июля 2011 :: 15:13:
И чем больше я работаю с восьмёркой - тем больше мне нравится семёрка.


Аналогично.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #51 - 05. Июля 2011 :: 10:09
Печать  
Палыч писал(а) 04. Июля 2011 :: 15:41:
Федор, немного подробнее пожалста. Улыбка

Тебе по какому пункту развернуть?
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #52 - 05. Июля 2011 :: 10:12
Печать  
Давай, для начала, по второму.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #53 - 05. Июля 2011 :: 11:09
Печать  
Скорее всего это связано с моим пока ещё недостаточным знанием восьмёрки. Невозможность быстро решать примитивные задачи типа http://www.1cpp.ru/forum/YaBB.pl?num=1309791728 очень утомляет.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #54 - 05. Июля 2011 :: 11:11
Печать  
Ну и туда же по первому пункту. Необходимость отвлекаться на прямые должностные обязанности, вместо того, чтобы повышать свои знания в восьмёрке, очень огорчает )))
  
Наверх
www  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Тестирование разработок на платформе 1С. Управление данными
Ответ #55 - 06. Июля 2011 :: 08:18
Печать  
Тю... по логике вещей, должно быть: И чем больше я работаю с восьмёркой, тем легче быстро решать примитивные задачи Улыбка
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать