Wie wird eine Rails App mit einer realen Datenbank getestet?

8

Ich möchte eine Rails App testen.

Die realen Daten sind 100 MB groß.

Aber Rails baut immer die Testdatenbank neu auf, die die realen Daten überschreibt.

So wie zum Leistungstest?

    
Cheng 12.04.2010, 14:09
quelle

3 Antworten

15

Ich würde eine neue Umgebung namens "Performance" erstellen. Sie benötigen dies, um die Produktionseinstellungen Ihrer App zu replizieren (Klassencaching, Vorlagen usw.) und dann die Datenbank zu laden. In der Vergangenheit habe ich eine DB speziell für Performance-Tests erstellt, eine Rake-Task erstellt, die die notwendigen Migrationen / Ladevorgänge ausführt und dann das Rails-Performance-Skript aufgerufen.

Sie können das Leuchtenverhalten in Ihren Tests auch ausschalten - abhängig davon, welches Testframework Sie verwenden.

Ich fand diesen nützlichen Beitrag auch auf Running Rails-Leistungstests auf echten Daten , die einige Details zu diesem Ansatz haben.

    
Toby Hede 17.04.2010, 02:21
quelle
0

Ich habe eine schnelle Lösung für SQLite-Benutzer.

In Testfall

%Vor%     
Cheng 04.06.2010 01:29
quelle
0

Ich würde die App auf einem Staging-Server bereitstellen (der sich in Ihrer Produktionsumgebung befindet). Und generieren Sie Daten in Ihrer Datenbank für genauere Tests. Sie können sich ffaker gem ansehen, um gefälschte Daten zu generieren. Dann verwenden Sie ein Drittanbieter-Tool, um Ihre Anwendung zu treffen. Ursache-Tools, die Sie auf dem Server selbst ausführen, wirken sich ebenfalls auf die Leistung aus. Ich bevorzuge Jmeter als Lasttest-Tool. Sie können Testfälle erstellen.

Sie möchten beispielsweise Ihre Anmeldeseite testen. Sie können Anmeldeparameter festlegen und zur Login-URL posten. Sie würden Tests für die Seiten durchführen, die Schreiboperationen für Ihre Datenbank haben. Das wird wahrscheinlich der Engpass Ihrer App sein.

JMeter Benutzerhandbuch

Jmeter Tutorial

Hoffe, das hilft.

    
nyzm 01.05.2013 08:49
quelle