Перейти к содержимому

Фотография

Testing at the database level


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 Ira

Ira

    Активный участник

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:A. F.

Отправлено 06 марта 2008 - 08:07

Привет всем.
Люди нам приходилось проверять правильность ну там каких нибудь столбиков в базе, например после работы каково -нибудь сервиса (предположим он на остове других данных заполнял эту колонку в базе)
эту проверку мы делали в ручную, а если приходилось писать тест кайсы, то эта проверка была в виде sql query.
Сейчас задача усложнилась...есть огромный DATA TRANSFORM, данные закидываются в виде файлов на FTP сервер...и после validation-a загружаются в базу.
В ручную такое проверять как- то не очень удобно, что вы бы предложили для этого? Есть какие нибудь тулы, для сравнивания file data with db data in appropriate logic. Или легче самой написать код сравнивающий эти данные?
Поделитесь опытом пожалуйста...
  • 0

#2 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 06 марта 2008 - 14:01

Привет всем.
Люди нам приходилось проверять правильность ну там каких нибудь столбиков в базе, например после работы каково -нибудь сервиса (предположим он на остове других данных заполнял эту колонку в базе)
эту проверку мы делали в ручную, а если приходилось писать тест кайсы, то эта проверка была в виде sql query.
Сейчас задача усложнилась...есть огромный DATA TRANSFORM, данные закидываются в виде файлов на FTP сервер...и после validation-a загружаются в базу.
В ручную такое проверять как- то не очень удобно, что вы бы предложили для этого? Есть какие нибудь тулы, для сравнивания file data with db data in appropriate logic. Или легче самой написать код сравнивающий эти данные?
Поделитесь опытом пожалуйста...

Добрый день,

тулов я не знаю, т.к. такого рода задачи в основном делал сам на джаве... делаете запрос, в базу на получение новых данных, парсите его и сверяете с теми даными, что у вас в файле... На выходе - разница... Если она есть, значит где-то что-то не так... Эти несоответствия я тоже анализировал на джаве.

Для этого нужна просто джава + библиотеки с дровами для БД.

Вот...
  • 0
Алексей Булат
Про Тестинг

#3 JimR

JimR

    Опытный участник

  • Members
  • PipPipPipPip
  • 253 сообщений
  • ФИО:Ручко Дмитрий Иванович
  • Город:Москва

Отправлено 07 марта 2008 - 07:07

Лучше всего, если у вас есть файл генератор, который позволяет контролировать вводимые данные (это для случая сложного формата).
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.
  • 0
Дмитрий Ручко
InfoTeCS

#4 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 07 марта 2008 - 09:06

Лучше всего, если у вас есть файл генератор, который позволяет контролировать вводимые данные (это для случая сложного формата).
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.

Это конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?
Руками конечно надежнее, весь процесс на виду... Но автомат проверяет более внимательно и придирчиво!!! Конечно придется потратить время на написание безбАжного автотеста, но это всеже стоит того...
  • 0
Алексей Булат
Про Тестинг

#5 Bishop_

Bishop_

    Новый участник

  • Members
  • Pip
  • 64 сообщений
  • ФИО:Дмитрий


Отправлено 07 марта 2008 - 10:30

Привет.
Аналогично, писал тул на джваве, который делает запрос в базу, вытаскивает данные в файл и сравнивает с эталонным, результат на соотвествие выводился в лог файл.
  • 0
<span style='font-size:8pt;line-height:100%'>Luxoft UA</span>

#6 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 07 марта 2008 - 12:14

Лучше всего, если у вас есть файл генератор, который позволяет контролировать вводимые данные (это для случая сложного формата).
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.

Это конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?
Руками конечно надежнее, весь процесс на виду... Но автомат проверяет более внимательно и придирчиво!!! Конечно придется потратить время на написание безбАжного автотеста, но это всеже стоит того...

Шубуршал тут по инету и нашел такой тул
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)
  • 0
Regards,
Alexey

#7 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 07 марта 2008 - 15:36

Шубуршал тут по инету и нашел такой тул
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)

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

А тут нужен верификатор... того что мы выложили на FTP, с тем что записалось в базу...
Кстати, вопрос к автору поста, я что-то не понял, набор файлов уже есть или их тоже надо генерить???

Если надо генерить, то может и этот тул пригодится... Но верификатор, думаю писать придется самим...
  • 0
Алексей Булат
Про Тестинг

#8 Ira

Ira

    Активный участник

  • Members
  • PipPip
  • 76 сообщений
  • ФИО:A. F.

Отправлено 10 марта 2008 - 10:19

Шубуршал тут по инету и нашел такой тул
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)

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

А тут нужен верификатор... того что мы выложили на FTP, с тем что записалось в базу...
Кстати, вопрос к автору поста, я что-то не понял, набор файлов уже есть или их тоже надо генерить???

Если надо генерить, то может и этот тул пригодится... Но верификатор, думаю писать придется самим...



Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.
  • 0

#9 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 10 марта 2008 - 12:28

Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.

Если вам нужен подобный end-to-end тест, то он будет очень даже не тривиальный...
И подходов можно выбрать не один:
1. заливаем файл -> проверяем сразу PDF
2. заливаем файл -> проверяем DB -> проверяем PDF
Причем что-то можно проверять руками, а что-то автоматически...
Все зависит от того, сколько вы готовы потратить времени и средств на это...

В принципе в той же джаве, есть библиотеки которые умеют парсить PDF... не знаю умеют ли наши монстры в виде WR, QTP, Robot, TC делать это...

В любом случае задача стала немного сложнее :)
  • 0
Алексей Булат
Про Тестинг

#10 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 10 марта 2008 - 21:12

Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.

По идее, можно воспользоваться программой pdf2txt (в linux-e есть ps2ascii) и дальше работать с текстом. Работать как-то подругому с PDF файлами, не вычленяя из них текст - очень тяжело.
Второй вариант - открыть PDF в пдф-читалке, нажать CTRL+A и скопировать все в текстовый файл. Я собственно так тестирую документацию. Первый драфт читаю, потом делаю из него текст. А затем, делаю текст из новой версии и смотрю только дифы между ними.
Вы можете поступить подобным образом. Сгенерить первый раз PDF. Сделать из него текст. Один раз проверить, что исходный файл и получившийся текст - совпадают. Сохранить файл как эталонный. В каждый следующий раз делайте из PDF текст и сравнивайте его с сохранненым эталоном.
  • 0
Regards,
Alexey

#11 JimR

JimR

    Опытный участник

  • Members
  • PipPipPipPip
  • 253 сообщений
  • ФИО:Ручко Дмитрий Иванович
  • Город:Москва

Отправлено 11 марта 2008 - 08:15

Это конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?
...


Честно говоря, ситуация, когда такой объем данный необходим для проверки именно функционала, а не нагрузочного тестирования, настолько редка, что я её и не учитываю.
Если же это именно тот случай, тогда не стоит экономить на тестировании. Нужно однозначно писать свой тул.
  • 0
Дмитрий Ручко
InfoTeCS


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных