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

Фотография

Как ускорить работу с DataGrid


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

#1 Dr_Shadow

Dr_Shadow

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Doctor Shadow

Отправлено 26 октября 2019 - 12:34

Всем привет!

Возникла необходимость ускорить выполнение тестов. Одно из узких это работа с Gird, часто нужно перебирать большие таблицы. К примеру 1500 строк таблица, с 6 колонками перебирается 10 минут.

Ищу любые варианты, как можно было бы ускорить процесс извлечения данных

Перебор у нас происходит построчно.

Тестируемое приложение написано на Delphi.

 

Заранее спасибо за ответы.


  • 0

#2 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 26 октября 2019 - 13:09

Обычно внутри приложения есть объект какой-то типа DataLayer, в котором хранятся все данные, которые выводятся в этот грид. Если у вас есть доступ к этому объекту, то вычитка данных будет гораздо быстрее, однако нужно учитывать, что данные в таких объектах хранятся обычно в "сыром" виде, а в таблице они отформатированы (например, дата может храниться в виде числа). Из-за этого ухудшается качество тестирования (вам же надо проверять в том числе, что дата выводится в правильном формате).

 

Еще вариант: подумайте, а нужно ли вам вычитывать все 1500 строк? Может быть вам нужны какие-то конкретные данные и вы можете сначала включить в гриде фильтр и пройтись только по отфильтрованным строкам?

 

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

 

Еще пример. Допустим, вам нужно проверять данные во всех 1500 строках. Может в таблице можно выделить всё, скопировать в буфер, а потом распарсить содержимое буфера?


  • 1

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 Spock

Spock

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

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 26 октября 2019 - 15:54

 

 

часто нужно перебирать большие таблицы

не нужно перебирать большие таблицы

 

 

 

Ищу любые варианты, как можно было бы ускорить процесс извлечения данных

тестируйте на уровне юнит- и интеграционных тестов


  • 1

#4 Dr_Shadow

Dr_Shadow

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Doctor Shadow

Отправлено 27 октября 2019 - 11:06

Обычно внутри приложения есть объект какой-то типа DataLayer, в котором хранятся все данные, которые выводятся в этот грид. Если у вас есть доступ к этому объекту, то вычитка данных будет гораздо быстрее, однако нужно учитывать, что данные в таких объектах хранятся обычно в "сыром" виде, а в таблице они отформатированы (например, дата может храниться в виде числа). Из-за этого ухудшается качество тестирования (вам же надо проверять в том числе, что дата выводится в правильном формате).

Спасибо за информацию, буду копать


  • 0

#5 akhi13

akhi13

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Pivare Pbridal

Отправлено 17 октября 2023 - 04:30

The Satta is a kind of game played between two or more individuals. At some point, you must have played Rummy, but if you've played Rummy for fun, it's not called Satta. But if you're playing Rummy with money, it's called a kind of bet. When we speak in plain language, Satta is called playing any game with money. Kalyan Matka | Amar Satta
 

  • 0


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

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