Testing at the database level
#1
Отправлено 06 марта 2008 - 08:07
Люди нам приходилось проверять правильность ну там каких нибудь столбиков в базе, например после работы каково -нибудь сервиса (предположим он на остове других данных заполнял эту колонку в базе)
эту проверку мы делали в ручную, а если приходилось писать тест кайсы, то эта проверка была в виде sql query.
Сейчас задача усложнилась...есть огромный DATA TRANSFORM, данные закидываются в виде файлов на FTP сервер...и после validation-a загружаются в базу.
В ручную такое проверять как- то не очень удобно, что вы бы предложили для этого? Есть какие нибудь тулы, для сравнивания file data with db data in appropriate logic. Или легче самой написать код сравнивающий эти данные?
Поделитесь опытом пожалуйста...
#2
Отправлено 06 марта 2008 - 14:01
Добрый день,Привет всем.
Люди нам приходилось проверять правильность ну там каких нибудь столбиков в базе, например после работы каково -нибудь сервиса (предположим он на остове других данных заполнял эту колонку в базе)
эту проверку мы делали в ручную, а если приходилось писать тест кайсы, то эта проверка была в виде sql query.
Сейчас задача усложнилась...есть огромный DATA TRANSFORM, данные закидываются в виде файлов на FTP сервер...и после validation-a загружаются в базу.
В ручную такое проверять как- то не очень удобно, что вы бы предложили для этого? Есть какие нибудь тулы, для сравнивания file data with db data in appropriate logic. Или легче самой написать код сравнивающий эти данные?
Поделитесь опытом пожалуйста...
тулов я не знаю, т.к. такого рода задачи в основном делал сам на джаве... делаете запрос, в базу на получение новых данных, парсите его и сверяете с теми даными, что у вас в файле... На выходе - разница... Если она есть, значит где-то что-то не так... Эти несоответствия я тоже анализировал на джаве.
Для этого нужна просто джава + библиотеки с дровами для БД.
Вот...
Про Тестинг
#3
Отправлено 07 марта 2008 - 07:07
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.
InfoTeCS
#4
Отправлено 07 марта 2008 - 09:06
Это конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?Лучше всего, если у вас есть файл генератор, который позволяет контролировать вводимые данные (это для случая сложного формата).
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.
Руками конечно надежнее, весь процесс на виду... Но автомат проверяет более внимательно и придирчиво!!! Конечно придется потратить время на написание безбАжного автотеста, но это всеже стоит того...
Про Тестинг
#5
Отправлено 07 марта 2008 - 10:30
Аналогично, писал тул на джваве, который делает запрос в базу, вытаскивает данные в файл и сравнивает с эталонным, результат на соотвествие выводился в лог файл.
#6
Отправлено 07 марта 2008 - 12:14
Шубуршал тут по инету и нашел такой тулЭто конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?Лучше всего, если у вас есть файл генератор, который позволяет контролировать вводимые данные (это для случая сложного формата).
Иначе просто руками создаете такие файлики. И проверяете функционала с минимальным набором данных, для каждого теста один раз зараннее создавая файлы и указывая чего вы ожидаете получить.
А потом на них постоянно гоняете свои тесты.
Собственно не вижу особой проблемы. И ручные запуски sql-query также не страшно, если человек достаточно знаком с БД и функционалом. Часто это эффективнее при поиске ошибки, чем автоматизированные тесты.
Руками конечно надежнее, весь процесс на виду... Но автомат проверяет более внимательно и придирчиво!!! Конечно придется потратить время на написание безбАжного автотеста, но это всеже стоит того...
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)
Alexey
#7
Отправлено 07 марта 2008 - 15:36
Краем глаза глянул на тул, он вроде только генерит данные и заливает их в базу, что достаточно полезно в условиях некоторых задач...Шубуршал тут по инету и нашел такой тул
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)
А тут нужен верификатор... того что мы выложили на FTP, с тем что записалось в базу...
Кстати, вопрос к автору поста, я что-то не понял, набор файлов уже есть или их тоже надо генерить???
Если надо генерить, то может и этот тул пригодится... Но верификатор, думаю писать придется самим...
Про Тестинг
#8
Отправлено 10 марта 2008 - 10:19
Краем глаза глянул на тул, он вроде только генерит данные и заливает их в базу, что достаточно полезно в условиях некоторых задач...Шубуршал тут по инету и нашел такой тул
http://databene.org/...ator/index.html
может это оно - я в подробности не вдавался.
Там еще есть большой список генераторов данных для БД (в разделе similar products)
А тут нужен верификатор... того что мы выложили на FTP, с тем что записалось в базу...
Кстати, вопрос к автору поста, я что-то не понял, набор файлов уже есть или их тоже надо генерить???
Если надо генерить, то может и этот тул пригодится... Но верификатор, думаю писать придется самим...
Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.
#9
Отправлено 10 марта 2008 - 12:28
Если вам нужен подобный end-to-end тест, то он будет очень даже не тривиальный...Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.
И подходов можно выбрать не один:
1. заливаем файл -> проверяем сразу PDF
2. заливаем файл -> проверяем DB -> проверяем PDF
Причем что-то можно проверять руками, а что-то автоматически...
Все зависит от того, сколько вы готовы потратить времени и средств на это...
В принципе в той же джаве, есть библиотеки которые умеют парсить PDF... не знаю умеют ли наши монстры в виде WR, QTP, Robot, TC делать это...
В любом случае задача стала немного сложнее :)
Про Тестинг
#10
Отправлено 10 марта 2008 - 21:12
По идее, можно воспользоваться программой pdf2txt (в linux-e есть ps2ascii) и дальше работать с текстом. Работать как-то подругому с PDF файлами, не вычленяя из них текст - очень тяжело.Набор файлов что сбрасываются на FTP есть (точнее формат), вообщем-то процесс следующий, файлы сбрасываются на FTP , потом считываются в базу, а затем генерируется PDF file примерно в 40
страничек по этим данным (есть так же и формулы по которым та или иная информациа генерируется в PDF-е) . Т.е. тут надо проверять и данные в PDF-е, что в ручную думаю будет очень трудоемко.
Второй вариант - открыть PDF в пдф-читалке, нажать CTRL+A и скопировать все в текстовый файл. Я собственно так тестирую документацию. Первый драфт читаю, потом делаю из него текст. А затем, делаю текст из новой версии и смотрю только дифы между ними.
Вы можете поступить подобным образом. Сгенерить первый раз PDF. Сделать из него текст. Один раз проверить, что исходный файл и получившийся текст - совпадают. Сохранить файл как эталонный. В каждый следующий раз делайте из PDF текст и сравнивайте его с сохранненым эталоном.
Alexey
#11
Отправлено 11 марта 2008 - 08:15
Это конечно можно, когда файлов не больше 100, а если их 1,000 или 10,000 или больше? Или в одном файле не 10 или 15 записей, а полтора миллиона?
...
Честно говоря, ситуация, когда такой объем данный необходим для проверки именно функционала, а не нагрузочного тестирования, настолько редка, что я её и не учитываю.
Если же это именно тот случай, тогда не стоит экономить на тестировании. Нужно однозначно писать свой тул.
InfoTeCS
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных