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

Фотография

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


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

#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


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

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