volume testing tutorial
Übersicht über Volumentests:
Korreliert das folgende Bild auf die eine oder andere Weise mit unseren Apps? Ja, genau das passiert, wenn wir unsere Server, Datenbanken, Webdienste usw. überlasten.
Wir alle müssen uns funktionaler und nicht funktionaler Tests bewusst sein. Sind Sie sich jedoch der Tatsache bewusst, dass nicht funktionale Tests genauso wichtig sind wie funktionale Tests? In kurzen Veröffentlichungen ignorieren wir diese nicht funktionierenden Tests manchmal, was wir im Idealfall nicht tun sollten.
Es sollte uns egal sein, ob der Produktbesitzer diese Anforderung gestellt hat oder nicht. Wir sollten diese Tests als Teil unseres gesamten Testprozesses betrachten, auch für kleine Releases.
Dieses Tutorial zum Volumentest gibt Ihnen einen vollständigen Überblick über seine Bedeutung, Notwendigkeit, Wichtigkeit, Checkliste und einige seiner Tools, damit Sie es besser verstehen können.
Was du lernen wirst:
- Was ist Volumentest?
- Wann ist diese Prüfung unbedingt erforderlich?
- Warum sollte ich Volumentests anstreben?
- Was ist meine Checkliste für diesen Test?
- Volumentest gegen Lasttest
- Wie führe ich diesen Test durch?
- Volumentest-Tools
- Fazit
- Literatur-Empfehlungen
Was ist Volumentest?
Volumentests sind eine Art von nicht funktionalen Tests. Dieser Test wird durchgeführt, um das von der Datenbank verarbeitete Datenvolumen zu überprüfen. Volumentests, auch als Fluttests bezeichnet, sind nicht funktionale Tests, bei denen die Leistung der Software oder App anhand großer Datenmengen in der Datenbank überprüft wird.
Die Datenbank wird durch Hinzufügen einer großen Datenmenge auf einen Schwellenwert gedehnt, und dann wird das System auf seine Reaktion getestet.
Dies war der theoretische Teil. Lassen Sie mich Ihnen einige praktische Beispiele erläutern, um Ihnen das Verständnis zu erleichtern 'wann' Teil der Volumenprüfung.
Wann ist diese Prüfung unbedingt erforderlich?
Idealerweise sollte jede Software oder App auf Datenvolumen getestet werden. In einigen Fällen, in denen die Daten nicht schwer sind, vermeiden wir diese Tests. In einigen Fällen, in denen Daten täglich in MB oder GB verarbeitet werden, sollte auf jeden Fall ein Volumentest durchgeführt werden.
Es folgen einige Beispiele aus meiner eigenen Erfahrung von 8 Jahren, die den Wann-Teil erklären:
Beispiel 1:
Eines meiner Projekte war ein großes System, das sowohl aus einer Web-App als auch einer mobilen App bestand. Die Web-App selbst hatte jedoch 3 Module, die von 3 verschiedenen Teams verwaltet wurden.
Selbst bei uns wurde die Datenbank manchmal langsam, wenn wir alle „zusammen“ Daten für unsere Tests hinzufügten. Es war ärgerlich und die Arbeit wurde aufgrund des riesigen Datenvolumens behindert und um die Arbeit zu erleichtern, mussten wir die Datenbank ziemlich häufig bereinigen.
Die Daten, die das 'Live' -System verarbeitete, lagen bei etwa einem GB. Daher wurde die Web-App im Vergleich zur mobilen App sehr häufig auf das Datenvolumen getestet. Die QA-Teams der Web-App verfügten über eigene Automatisierungsskripte, die nachts ausgeführt wurden und diese Tests durchführten.
Beispiel 2:
Ein weiteres Beispiel für mein Unternehmen war ein Ökosystem, das nicht nur eine Web-App, sondern auch eine SharePoint-App und sogar ein Installationsprogramm enthielt. Alle diese Systeme kommunizierten zur Datenübertragung mit derselben Datenbank. Die von diesem System verarbeiteten Daten waren ebenfalls sehr groß, und wenn die Datenbank aus irgendeinem Grund langsam wird, funktioniert selbst das Installationsprogramm nicht mehr.
Daher wurde regelmäßig ein Volumentest durchgeführt, und die DB-Leistung wurde bei allen Problemen genau beobachtet.
Ähnlich, wir können nehmenBeispielevon wenigen Apps, die wir täglich zum Einkaufen, Buchen von Tickets, Finanztransaktionen usw. verwenden, die sich mit schweren Datentransaktionen befassen und daher einen Volumentest benötigen.
Auf der anderen Seite ist ein idealer Volumentest möglicherweise nicht immer erreichbar, da er seine eigenen Einschränkungen und Herausforderungen hat.
Einige seiner Einschränkungen und Herausforderungen umfassen:
- Es ist schwierig, die genaue Fragmentierung des Speichers zu erstellen.
- Die dynamische Schlüsselgenerierung ist schwierig.
- Das Erstellen einer idealen realen Umgebung, d. H. Der Replik des Live-Servers, kann schwierig sein.
- Automatisierungstools, Netzwerk usw. wirken sich ebenfalls auf die Testergebnisse aus.
Jetzt haben wir verstanden wann Wir müssen diese Art von Tests durchführen. Lass uns auch verstehen 'Warum' Wir sollten diese Tests wie in, dem Ziel oder dem Ziel der Durchführung dieser Tests durchführen.
Warum sollte ich Volumentests anstreben?

Durch Volumentests können Sie besser verstehen, wie gut Ihr System für die reale Welt geeignet ist, und Sie können Geld sparen, das später für Wartungszwecke ausgegeben wird.
Es gibt einige mögliche Gründe für die Durchführung dieser Tests:
- Das grundlegendste Bedürfnis besteht darin, die Leistung Ihres Systems anhand erhöhter Daten zu analysieren. Durch das Erstellen eines großen Datenvolumens können Sie die Leistung Ihres Systems in Bezug auf Antwortzeit, Datenverlust usw. besser verstehen.
- Identifizieren Sie die Probleme, die bei großen Datenmengen auftreten, und den Schwellenwert.
- Jenseits des Nachhaltigkeits- oder Schwellenwerts reagiert das Systemverhalten, d. H. Wenn die DB abstürzt, nicht mehr oder läuft ab.
- Implementieren von Lösungen für DB-Überlastung und sogar Überprüfen dieser.
- Finden Sie den äußersten Punkt Ihrer Datenbank heraus (der nicht behoben werden kann), ab dem das System ausfällt, und treffen Sie daher Vorsichtsmaßnahmen.
- Bei mehr als einem DB-Server sollten Sie die Probleme mit der DB-Kommunikation herausfinden, d. H. Die Fehleranfälligen usw.
Jetzt kennen wir die Wichtigkeit und den Grund für die Durchführung dieser Tests.
ODER Eine Erfahrung, die ich hier mitteilen möchte, ist, dass in Bezug auf mobile Apps möglicherweise keine Volumentests erforderlich sind, da jeweils nur eine Person die App verwendet und mobile Apps so konzipiert sind, dass sie einfach sind .
Wenn Sie also keine sehr komplexe App mit viel Dateneinsatz haben, können Volumentests übersprungen werden.
Sobald Sie wissen, was für Ihr System oder Ihre App überprüft werden muss, müssen Sie als Nächstes eine Checkliste erstellen, die Ihre App definieren kann 'Was' muss getestet werden.
Was ist meine Checkliste für diesen Test?

Bevor wir uns mit einigen Beispielen zum Erstellen einer Checkliste für Ihre App oder ein System befassen, sollten Sie zunächst einige Hinweise verstehen, die Sie beim Erstellen einer Checkliste für Volumentests oder den Ansatz berücksichtigen sollten, bevor Sie mit dem Testen beginnen.
Zu beachtende Punkte:
- Halten Sie die Entwickler über Ihren Testplan auf dem Laufenden, da sie viel über das System wissen und Ihnen Eingaben und sogar Engpässe liefern können.
- Verstehen Sie den physischen Aspekt wie in den Serverkonfigurationen, im RAM, im Prozessor usw. gut, bevor Sie die Tests strategisch planen.
- Verstehen Sie die Komplexität der Datenbank, der Prozeduren, DB-Skripte usw. so weit wie möglich, damit Sie die Komplexität Ihres Systems insgesamt skizzieren können.
- Bereiten Sie Informatik vor, d. H. Diagramme, Datenblätter usw., wenn möglich für das normale Datenvolumen und wie gut das System ist. Auf diese Weise können Sie sicherstellen, dass die Leistung für das normale Laden von Daten in Ordnung ist, bevor Sie die Datenbank belasten. Auf diese Weise können Sie auch sicherstellen, dass es keine Probleme gibt, die eine Korrektur für Ihren Volumentest erfordern, bevor Sie mit dem Belastungsteil fortfahren.
Im Folgenden finden Sie einige Beispiele, die Sie Ihrer Checkliste hinzufügen oder in dieser verwenden können:
- Überprüfen Sie die Richtigkeit der Datenspeichermethoden.
- Überprüfen Sie, ob das System über die erforderlichen Speicherressourcen verfügt oder nicht.
- Überprüfen Sie, ob das Risiko besteht, dass das Datenvolumen einen bestimmten Grenzwert überschreitet.
- Überprüfen und beobachten Sie die Reaktion des Systems auf das Datenvolumen.
- Überprüfen Sie, ob die Daten während des Volumentests verloren gehen.
- Überprüfen Sie, ob Daten überschrieben werden, wenn dies überschrieben wird.
- Identifizieren Sie die Bereiche, die sich über den normalen Bereich hinaus erstrecken, wie viele Attribute (durchsuchbar). von Nachschlagetabellen, vielen Standortzuordnungen usw.
- Wie bereits erwähnt, erstellen Sie zunächst eine Basislinie, indem Sie die Ergebnisse für das normale Volumen abrufen und dann mit dem Stress fortfahren.
Bevor wir zu den anderen Beispielen, Testfällen und Tools übergehen, wollen wir zunächst verstehen, wie sich diese Tests von Lasttests unterscheiden.
Volumentest gegen Lasttest
Im Folgenden sind einige der Hauptunterschiede zwischen Volumen- und Lasttests aufgeführt:
| S.No. | Volumentest | Lasttest |
|---|---|---|
| 1 | Der Volumentest wird durchgeführt, um die Datenbankleistung anhand eines großen Datenvolumens in der Datenbank zu überprüfen. | Der Lasttest wird durchgeführt, indem die Benutzerlasten für die Ressourcen geändert und die Leistung der Ressourcen überprüft werden. |
| zwei | Das Hauptaugenmerk dieser Tests liegt auf „Daten“. | Das Hauptaugenmerk dieser Tests liegt auf „Benutzern“. |
| 3 | Die Datenbank ist bis zur Höchstgrenze belastet. | Der Server ist bis zur Höchstgrenze belastet. |
| 4 | Ein einfaches Beispiel kann das Erstellen einer großen Datei sein. | Ein einfaches Beispiel kann das Erstellen einer großen Anzahl von Dateien sein. |
Wie führe ich diesen Test durch?

Dieser Test kann sowohl manuell als auch mit einem beliebigen Werkzeug durchgeführt werden. Im Allgemeinen spart die Verwendung von Tools Zeit und Mühe, aber im Falle eines Volumentests nach meiner Erfahrung Die Verwendung von Werkzeugen kann im Vergleich zu manuellen Tests genauere Ergebnisse liefern.
Stellen Sie vor Beginn der Testfallausführung Folgendes sicher:
- Das Team hat dem Testplan für diese Tests zugestimmt.
- Andere Teams Ihres Projekts sind über die Datenbankänderungen und deren Auswirkungen auf ihre Arbeit gut informiert.
- Die Prüfstände sind auf die angegebenen Konfigurationen eingestellt.
- Die Testbasis wird vorbereitet.
- Die spezifischen Datenmengen zum Testen (Datenskripte oder -verfahren usw.) sind bereit. Weitere Informationen zu Tools zur Datenerstellung finden Sie auf unserer Seite zur Datengenerierung.
Sehen wir uns einige Beispiel-Testfälle an, die Sie bei der Ausführung verwenden können:
Überprüfen Sie dies für alle ausgewählten Datenmengen für die Volumenprüfung:
- Überprüfen Sie, ob das Hinzufügen von Daten erfolgreich durchgeführt werden kann und ob sie in der App oder auf der Website angezeigt werden.
- Überprüfen Sie, ob das Löschen von Daten erfolgreich durchgeführt werden kann und ob sie in der App oder auf der Website angezeigt werden.
- Überprüfen Sie, ob die Aktualisierung der Daten erfolgreich durchgeführt werden kann und ob sie in der App oder auf der Website angezeigt werden.
- Stellen Sie sicher, dass kein Datenverlust vorliegt und alle Informationen wie erwartet in der App oder auf der Website angezeigt werden.
- Stellen Sie sicher, dass die App oder die Webseiten aufgrund des hohen Datenvolumens keine Zeitüberschreitung aufweisen.
- Stellen Sie sicher, dass Absturzfehler aufgrund des hohen Datenvolumens nicht angezeigt werden.
- Stellen Sie sicher, dass die Daten nicht überschrieben werden und die richtigen Warnungen angezeigt werden.
- Stellen Sie sicher, dass andere Module Ihrer Website oder App nicht abstürzen oder bei hohem Datenvolumen eine Zeitüberschreitung aufweisen.
- Stellen Sie sicher, dass die Antwortzeit der Datenbank innerhalb des zulässigen Bereichs liegt.
Volumentest-Tools

Wie bereits erwähnt, spart das Testen der Automatisierung Zeit und liefert im Vergleich zum manuellen Testen sogar genaue Ergebnisse. Ein weiterer Vorteil der Verwendung von Tools für Volumentests besteht darin, dass wir die Tests nachts ausführen können und die Arbeit der anderen Teams oder Teammitglieder auf diese Weise nicht vom Datenvolumen der Datenbank beeinflusst wird.
Wir können die Tests am Morgen planen und die Ergebnisse werden fertig sein.
Im Folgenden finden Sie eine Liste einiger Open-Source-Tools zum Testen von Volumes:
# 1) DbFit:
Dies ist ein Open-Source-Tool, das testgetriebene Entwicklung unterstützt.
DbFit Das Test-Framework wird über Fitness geschrieben. Die Tests werden mithilfe von Tabellen geschrieben und können mit jedem Java IDE- oder CI-Tool ausgeführt werden.
# 2) HammerDb:
HammerDb ist auch ein Open-Source-Tool, das automatisiert und mit mehreren Threads ausgestattet werden kann und sogar die Laufzeitskripterstellung ermöglicht. Es kann mit SQL, Oracle, MYSQL usw. arbeiten.
# 3) JdbcSlim:
JdbcSlim Befehle können einfach in Slim Fitness integriert werden und unterstützen alle Datenbanken mit einem JDBC-Treiber. Der Fokus liegt darauf, die Konfiguration, Testdaten und SQL-Abfragen getrennt zu halten.
# 4) NoSQLMap:
Dies ist ein Open-Source-Python-Tool, das entwickelt wurde, um Angriffe automatisch einzuschleusen und die DB-Konfigurationen zu stören, um die Bedrohung zu analysieren. Es funktioniert nur für MongoDB.
# 5) Ruby-PLSQL-Spezifikation::
PLSQL kann mit Ruby getestet werden, da Oracle als Open-Source-Tool verfügbar ist. Dies Grundsätzlich werden zwei Bibliotheken verwendet: Ruby-PLSQL und Rspec.
Fazit
Volumentests sind nicht funktionale Tests, mit denen die Leistung der Datenbank analysiert wird. Dies kann sowohl manuell als auch mit Hilfe einiger Tools erfolgen.
Wenn Sie eine Qualitätssicherung sind, die mit diesen Tests noch nicht vertraut ist, würde ich empfehlen, zuerst mit dem Tool zu spielen oder einige Testfälle auszuführen. Dies wird Ihnen helfen, das Konzept des Volumentests zu verstehen, bevor Sie mit dem Testen beginnen.
dfs und bfs c ++
Dieses Testen ist ziemlich knifflig und hat seine eigenen Herausforderungen. Daher ist es sehr wichtig, dass Sie das Konzept, die Testbed-Erstellung und die DB-Sprache gründlich kennen, bevor Sie es ausführen.
Hoffe, dieses Tutorial hätte Ihr Wissensvolumen zu diesem Thema erhöht :)
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Tutorial zum paarweisen Testen oder Testen aller Paare mit Tools und Beispielen
- Funktionstests gegen nichtfunktionale Tests
- Tutorial zum Konfigurationstest mit Beispielen
- Testen von Primer eBook Download
- Tutorial für zerstörende Tests und zerstörungsfreie Tests
- 11 besten Automatisierungstools zum Testen von Android-Anwendungen (Android App Testing Tools)
- Beste IVR-Testwerkzeuge: CYARA- und HAMMER-Test-Tutorial