Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Тестирование разработок на платформе 1С. Управление данными (число прочтений - 18258 )
Палыч
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 записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать