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

Фотография

Как тестировать данные?

#данные #тестинг #скраппинг

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

#1 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 19 августа 2020 - 05:48

Ребят, всем привет!

 

Дело такое: совсем недавно устроился джуном в компанию. Спустя месяц поставили одного на проект, где нужно сделать скраппинг данных с сайта с открытым API. Данные сохраняются в БЗ, а потом экспортируются в CSV-файлы в виде таблиц.

 

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

 

Может кто-то спасти мою джуновскую душу, пожалуйста? Если не прямые ответы, то хотя бы ссылки, где я мог бы почерпнуть инфу. Был бы очень благодарен.

 

С уважением!


  • 0

#2 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 19 августа 2020 - 06:22

1. Что такое в вашем контексте "валидность данных"?

2. Как вы поймете, что в колонке "нужные данные"?

3. Как определить, что ячейка непустая? Должна ли она действительно быть непустой?

 

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


  • 0

#3 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 19 августа 2020 - 06:34

1. Что такое в вашем контексте "валидность данных"?

2. Как вы поймете, что в колонке "нужные данные"?

3. Как определить, что ячейка непустая? Должна ли она действительно быть непустой?

 

Ответ в интернете на такой запрос нельзя найти, потому что запрос слишком абстрактный. Более конкретные вопросы дадут вам нужные ответСпасибо за отклик

Спасибо за отклик.

 

1. Под "валидностью" данных я имел ввиду их релевантность поиску. К примеру, итоговая таблица с данными после скраппинга состоит из четырех столбцов: Адрес-Провинция-Почтовый индекс-Кадастровый номер. Мне нужно убедиться, что в строках столбца "Адрес" нет кадастровых номеров, а именно адресные данные. Ну, и так далее.

 

2. Вот тут я затрудняюсь ответить сам.

 

3. Ни одна ячейка в таблице не должна быть пустой.

 

Возможно, вы знаете местонахождение в сети теоритического материала по тестингу данных? Был бы признателен.  


  • 0

#4 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 19 августа 2020 - 06:40

Мне нужно убедиться, что в строках столбца "Адрес" нет кадастровых номеров, а именно адресные данные.

А как вы узнаете, что это именно адрес? Именно кадастровый номер?

Ну и будете ли вы проверять, что в CSV есть все данные, полученные из API? Что данные всей записи точно соответствуют данным, полученным из API? Что в CSV нет лишних данных?
  • 0

#5 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 19 августа 2020 - 06:50

 

Мне нужно убедиться, что в строках столбца "Адрес" нет кадастровых номеров, а именно адресные данные.

А как вы узнаете, что это именно адрес? Именно кадастровый номер?

Ну и будете ли вы проверять, что в CSV есть все данные, полученные из API? Что данные всей записи точно соответствуют данным, полученным из API? Что в CSV нет лишних данных?

 

Я думаю, что у данных поля "Адрес" и поля "Кадастровый номер" разный вид - номер состоит только из цифр, тогда как адрес содержит и буквы и цифры. Но это легко проверить, когда имеешь в таблице 10/20/50 строк. А когда их 400 000? Вот тут я затрудняюсь с поиском ответа. Я думал проверять данные еще в БД с помощью SQL запросов, но это и времени занимает не мало, и не гарантирует, что при экспорте в CSV ничего не нарушится.

 

Я бы хотел проверить все, что используется в теории для таких задач. Проблема в том, что я не знаю самой теории для решения таких тасков)


  • 0

#6 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 19 августа 2020 - 07:13

Но это легко проверить, когда имеешь в таблице 10/20/50 строк. А когда их 400 000? Вот тут я затрудняюсь с поиском ответа.

Ответ простой - написать программу для автоматизированного тестирования.
 

Я думал проверять данные еще в БД с помощью SQL запросов, но это и времени занимает не мало

Можно написать хранимые процедуры, например.. Но не думаю, что именно этот способ сейчас принесет ощутимую пользу.

и не гарантирует, что при экспорте в CSV ничего не нарушится.

Надо проверять CSV

Я бы хотел проверить все, что используется в теории для таких задач. Проблема в том, что я не знаю самой теории для решения таких тасков)

Ну а какая тут теория.. проверить, что данные в нужном формате? Можно гуглить "проверка формата данных".
Проверить, что данные из АПИ и данные в CSV совпадают? Напишите еще программу, которая эти данные будет сравнивать. На python это несложно сделать.
Но, опять же, я не знаю, как часто и в каком объеме у вас эти данные приходят и можете ли вы сделать нужную выгрузку из API и CSV
  • 0

#7 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 19 августа 2020 - 07:17

 

Но это легко проверить, когда имеешь в таблице 10/20/50 строк. А когда их 400 000? Вот тут я затрудняюсь с поиском ответа.

Ответ простой - написать программу для автоматизированного тестирования.
 

Я думал проверять данные еще в БД с помощью SQL запросов, но это и времени занимает не мало

Можно написать хранимые процедуры, например.. Но не думаю, что именно этот способ сейчас принесет ощутимую пользу.

и не гарантирует, что при экспорте в CSV ничего не нарушится.

Надо проверять CSV

Я бы хотел проверить все, что используется в теории для таких задач. Проблема в том, что я не знаю самой теории для решения таких тасков)

Ну а какая тут теория.. проверить, что данные в нужном формате? Можно гуглить "проверка формата данных".
Проверить, что данные из АПИ и данные в CSV совпадают? Напишите еще программу, которая эти данные будет сравнивать. На python это несложно сделать.
Но, опять же, я не знаю, как часто и в каком объеме у вас эти данные приходят и можете ли вы сделать нужную выгрузку из API и CSV

 

Скажите, а с помощью Postman возможно как-то проверить хотя бы один из аспектов тестинга такого формата? 


  • 0

#8 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 19 августа 2020 - 07:30

Скажите, а с помощью Postman возможно как-то проверить хотя бы один из аспектов тестинга такого формата?

Наиболее объемная часть работы в Постмане будет написание скриптов на JS для проверки чего-либо.
Если вы не знаете JS - ну.. тогда Постман не особо и поможет.
  • 0

#9 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 19 августа 2020 - 07:39

 

Скажите, а с помощью Postman возможно как-то проверить хотя бы один из аспектов тестинга такого формата?

Наиболее объемная часть работы в Постмане будет написание скриптов на JS для проверки чего-либо.
Если вы не знаете JS - ну.. тогда Постман не особо и поможет.

 

Да, я понял.

 

Спасибо, что уделили мне время. Буду как-то выкручиваться)


  • 0

#10 Сергей

Сергей

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

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 19 августа 2020 - 20:01

Какая стоимость ошибки? Система новая? Целевая аудитория? Частота операции? Какой типовой пользовательский сценарий? Куда эти данные уходят? И т.д. и т.п. Не делайте лишнюю работу, а то блокер пропустите пока скрипты писать будете;) На самом деле - пришёл начальник и сказал - нужно убедиться что формируется csv. Нет?
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#11 Hugima

Hugima

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

  • Members
  • Pip
  • 6 сообщений

Отправлено 20 августа 2020 - 04:42

Какая стоимость ошибки? Система новая? Целевая аудитория? Частота операции? Какой типовой пользовательский сценарий? Куда эти данные уходят? И т.д. и т.п. Не делайте лишнюю работу, а то блокер пропустите пока скрипты писать будете;) На самом деле - пришёл начальник и сказал - нужно убедиться что формируется csv. Нет?

Добрый день. Спасиюо за отклик.

 

Дело в том, что блокеров никаких тут быть и не может (нет, в теории, конечно, может, но сейчас не об этом). Да и системы никакой нет. Заказ от клиента очень прост: сделать скраппинг определенной веб-системы, данные представить в файлах CSV. Вот так и вышло: сделали скраппинг, данные загрузились в БД, оттуда - экспорт в CSV. Вышло примерно пол миллиона строк таблицы.

 

Вопрос: как мне проверить, что данные в таблице валидны? Что в поле "Адрес" нет данных, предназначавшихся полю "Почтовый индекс" и т.д. Т.е. я думал, что есть какя-то устоявшаяся теория именно тестинга данных, которую я просто пропустил в своем самообразовании, а оказалось, что и теории как таковой нет)

 

Конечно, проверить условные 500 строк вручную можно, но это не гарантирует хотя бы 50% уверенности в валидности данных. А писать скрипты для авто-тестов я пока не умею, к сожалению. 

 

Такие вот дела) 


  • 0

#12 Сергей

Сергей

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

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 20 августа 2020 - 19:34

Валидность данных проверяется на валидных данных или на эталоне. Если у вас контора специализируется на этом, то нужно будет научиться писать скрипты, использовать регулярки, xsd, иметь свои эталонные данные, бд, выкачайте единые справочники, текстовый файл, с которыми сравнивать полученный результат, плюс эксперты. Если просто хотят csv - проверяете скрипт на выборке, штук 5 хватит, потом выгружаете все, и глазками смотрите ещё раз выгрузку - первые, последние, средние строки. И отдаёте csv со спокойной душой. Данные небось с какого нибудь hh для КА грузануть хотите. Страх у вас в том, что не понимаете как ПО пишется и вся эта магия с импортом и ограничениями.
  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс



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

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