Как производиться / ориентирован на тестирование приложения Rails с базой данных Real World?

StackOverflow https://stackoverflow.com/questions/2622657

Вопрос

Я хотел бы проводить тестирование приложения Rails.

Данные реального мира составляет 100 МБ по размеру.

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

Так как, как к тестированию производительности?

Это было полезно?

Решение

Я бы создал новую среду под названием «Performance». Вам нужно, чтобы реплицировать настройки производства вашего приложения (кэширование класса, шаблоны и т. Д.), а затем загрузить базу данных. В прошлом я создал DB специально для тестирования производительности, создал задачу грабли, которая выполняет необходимые миграции / нагрузки, а затем называется сценарием производительности рельсов.

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

Я также нашел этот полезный пост на Проходные рельсы Производительные испытания на реальные данные У этого есть некоторые детали по поводу этого подхода.

Другие советы

У меня есть быстрое решение для пользователей SQLite.

В тестовом случае

def setup
  `cp db/development.sqlite3 db/test.sqlite3`
end

Я бы развернул приложение к постановке (которое близко к вашей производственной среде). И генерировать данные в вашей базе данных для более точного тестирования. Вы можете взглянуть на ffaker GEM для генерации поддельных данных. Затем используйте инструмент для 3-го вечеринка для удаления вашего приложения. Приводите инструменты, которые вы работаете на самом сервере, также повлияют на производительность. я предпочитаю Jmeter как инструмент тестирования нагрузки. Вы можете создавать тестовые случаи.

Например, вы хотите проверить свою страницу входа в систему. Вы можете установить параметры входа в систему и опубликовать в систему URL. Вы бы рассмотрели проведение тестов для страниц, которые имеют операции записи в вашу базу данных. Это, вероятно, будет узким местом вашего приложения.

Jmeter Руководство пользователя

Учебник JMeter

Надеюсь это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top