configuration testing tutorial with examples
Einführung in das Testen der Softwarekonfiguration:
Dieser Artikel wurde Ihnen zur Erörterung einer speziellen Art von Softwaretests zur Verfügung gestellt, die für das Unternehmen sehr wichtig ist.
Wir werden die Grundlagen des Konfigurationstests, seine Notwendigkeit, Wichtigkeit, Ziele und Typen diskutieren. Im weiteren Verlauf des Artikels erfahren Sie ausführlich, wie diese Tests durchgeführt werden.
kostenloser Echtzeit-Malware-Schutz 2017
Lasst uns beginnen!!
Dieses Tutorial gibt Ihnen einen vollständigen Überblick über Konfigurationstests und dient als perfekter Leitfaden für alle, die mit diesem Testkonzept noch nicht vertraut sind, und erweitert das Wissen derjenigen, die bereits Erfahrung damit haben.
Was du lernen wirst:
- Was ist Konfigurationstest?
- Warum dieses Testen?
- Vorbereitung für den Konfigurationstest
- Microsoft VSTS - Konfigurationstest-Tool
- Tore
- Arten von Konfigurationstests
- Bedeutung dieser Tests für ein Unternehmen
- Fazit
- Literatur-Empfehlungen
Was ist Konfigurationstest?
Konfigurationstests sind eine Methode zum Testen eines in der Entwicklung befindlichen Systems auf mehreren Computern mit unterschiedlichen Kombinationen oder Konfigurationen von Hardware und Software. Die Leistung des Systems oder einer Anwendung wird anhand der unterstützten Hardware- und Softwarekonfigurationen getestet.
Wenn wir von unterschiedlichen Konfigurationen von Hardware und Software sprechen, wird dies mehreren Betriebssystemversionen, Browsern, unterstützten Treibern, Speichergrößen, Festplattentypen, CPUs usw. zugeschrieben.
Warum dieses Testen?
Wie oben erläutert, handelt es sich bei diesem Test um eine Technik, mit der die Leistung einer Software, eines Systems / einer Anwendung unter Berücksichtigung der unterschiedlichen Systemkonfigurationen bewertet wird.
Diese Tests werden durchgeführt, um die optimalen Konfigurationen zu ermitteln, unter denen ein System oder eine Anwendung ohne Fehler, Probleme oder Leistungsmängel einwandfrei funktionieren kann. Mithilfe dieser Tests wird die effizienteste Konfiguration ermittelt, die die erforderlichen Leistungsmerkmale liefert.
Der zweite Hauptgrund für diesen Test besteht darin, die Kompatibilität des Systems mit der anderen Software oder Ausrüstung zu überprüfen, die im SRS (Software Requirement Specification) angegeben ist.
Ein Beispiel
Nehmen wir an, Ihr Unternehmen hat eine Desktop-Anwendung in C # -Sprache entwickelt und diese App basiert auf dem .NET-Framework.
Diese App basiert auf einer dreistufigen Architektur mit drei Ebenen: Front-End (Client), Anwendungsschicht (Server) und Datenbankschicht. Jede der Ebenen unterstützt bestimmte Plattformen entsprechend.
Nehmen wir an, dass jede Ebene die folgenden Plattformen unterstützt:
Klient - Windows 10, Windows 7, Windows XP, Linux.
Server - Ubuntu Server, Windows Server 2016 , Novell Open Enterprise Server .
Datenbank - Microsoft SQL Server, IBM DB2, MySQL.
Als Software-Tester müssen Sie nun die Anwendung unter jeder der verschiedenen Kombinationen der oben genannten Client-, Server- und Datenbankplattformen testen, um sicherzustellen, dass die Anwendung mit jeder der möglichen Konfigurationen gut funktioniert.
Zum Beispiel , Sie überprüfen, wie die Anwendung mit der Kombination aus Windows 10-Betriebssystem, Windows Server 2016 und MySQL-Datenbank funktioniert. Anschließend führen Sie einen weiteren Test durch, um zu überprüfen, wie die Anwendung mit der Kombination aus Windows 10-Betriebssystem, Windows Server 2016 und IBM DB2-Datenbank funktioniert.
Und so weiter, bis Sie alle möglichen Konfigurationen getestet haben.
Unsere Tests würden sich nicht nur auf die Software beschränken, sondern auch auf die Hardware, wo wir jede der Kombinationen verschiedener Hardwaregeräte überprüfen müssen. Daher wird dieser Test manchmal auch als Hardwarekonfigurationstest bezeichnet.
Vorbereitung für den Konfigurationstest
Dieser Test hat bestimmte Voraussetzungen, die erfüllt sein müssen, bevor wir die Konfigurationstests ausführen.
Nachfolgend sind die Voraussetzungen aufgeführt:
# 1) Vorbereiten der Abdeckungsmatrix
Aufgrund einer Vielzahl möglicher Hardware- und Softwarekonfigurationen wird es sehr zeitaufwändig und fast unmöglich, jede der Konfigurationen effektiv zu testen.
Zum Beispiel In dem oben diskutierten Beispiel haben wir insgesamt 3 * 3 * 3, d. h. 27 Softwarekonfigurationen. Nehmen wir an, wir haben 5 verschiedene Festplatten und 6 verschiedene Speichergrößen. Dann wird die Zählung auf 27 * 5 * 9 gehen, d. H. Jetzt auf 810 Konfigurationen.
Dies wird weiter zunehmen, wenn wir dem Bild weitere Komponenten hinzufügen. Daher ist es wichtig, die Planung für die Softwaretests durchzuführen und klar zu identifizieren, welche Plattformen unterstützt werden.
Dann müssen wir eine Abdeckungsmatrix erstellen, die die verschiedenen Kombinationen der Hardware- und Softwarekonfigurationen enthält. Manchmal wird diese Abdeckungsmatrix auch als BCM (Basic Configuration Matrix) bezeichnet.
Die obige Abbildung zeigt eine schematische Beispielmatrix mit Konfigurationen, die Sie testen möchten.
# 2) Priorisieren der Konfigurationen
Sobald die Konfigurationsmatrix vorbereitet ist, besteht der nächste Schritt darin, die Konfigurationen zu priorisieren.
Dieser Schritt ist erforderlich, da es unmöglich ist, die gesamte Bandbreite an Konfigurationen zu testen. Basierend auf dem Kundenfeedback werden die kritischsten Konfigurationen eingetragen und müssen zuerst gründlich getestet werden.
Sobald wir mit den beiden oben genannten Schritten fertig sind, können wir die verschiedenen Konfigurationen anhand ihrer Priorität testen.
Microsoft VSTS - Konfigurationstest-Tool
Microsoft Visual Studio Team Services (VSTS) ist ein Tool, das beim Testen Ihrer App unter verschiedenen Konfigurationen basierend auf Ihrem Testplan sehr hilfreich ist.
Sie sollten einen Testplan haben, um zu entscheiden, welche Tests Sie in welchen Konfigurationen ausführen möchten. Sie müssen sicherstellen, dass Sie die richtige Umgebung für die gewünschten Konfigurationen eingerichtet haben. Sobald Sie die Matrix der Kombinationen haben, müssen Sie sie testen.
Sie können die folgenden Schritte ausführen, um diesen Test durchzuführen:
# 1) Richten Sie die Konfigurationen ein und erstellen Sie die Variablen. Eine Variable ist eine der Komponenten in Ihrer Konfiguration.
Zum Beispiel , Es kann eine Variable 'Browser' geben, die mehrere Werte wie Chrome, Firefox, IE10 usw. haben kann.
#zwei) Ordnen Sie die Konfigurationen den Testplänen / Testsuiten oder einzelnen Testfällen zu.
#3) Führen Sie die Tests für jede Konfiguration aus.
# 4) Verfolgen Sie die Testergebnisse für jede der Konfigurationen.
Eine detaillierte Schritt-für-Schritt-Anleitung zur Durchführung dieser Tests mit VSTS finden Sie hier: VSTS - Testen Sie verschiedene Konfigurationen
Tore
Nachstehend sind die verschiedenen Ziele dieses Tests aufgeführt:
- Ermittlung der optimalen Konfiguration des AUT (Application under Test).
- Um die versteckten Schwachstellen der Hardware zu entdecken.
- Sicherstellung der Geschäftskontinuität durch Erkennen und Beheben der Probleme, bevor sie den Geschäftsbetrieb behindern.
- So beseitigen Sie eine Konfigurationsdrift.
- Minimierung der Anzahl von Fehlern aufgrund von Hostkonfigurationsfehlern.
- Überprüfen der Anwendung, um sicherzustellen, dass sie die Konfigurierbarkeit erfüllt.
- So analysieren Sie die Systemleistung durch Hinzufügen, Entfernen oder Ändern der Hardwarekomponenten ( Z.B . Variieren der Speichergrößen, Hinzufügen von Load Balancern usw.).
- Um zu überprüfen, ob das System in einer geografisch verteilten Umgebung einwandfrei funktioniert (Server und Clients befinden sich an verschiedenen Standorten).
- Überprüfen, wie einfach die Fehler unabhängig von den Konfigurationsänderungen repliziert werden können.
- Um zu überprüfen, wie nachverfolgbar und verwaltbar die Anwendungselemente sind.
Arten von Konfigurationstests
Wir können haben zwei verschiedene Zeilen von Abteilungen für diese Prüfung.
Auf der erste Linie kann es in zwei Teile geteilt werden:
- Testen der Softwarekonfiguration
- Testen der Hardwarekonfiguration
Auf der zweite Reihe kann es wieder in zwei Teile geteilt werden - 1. Testen auf Client-Ebene und 2. Testen auf Server-Ebene
womit man swf dateien öffnet
Lassen Sie uns zunächst die Hardware- und Softwarekonfiguration erläutern.
# 1) Testen der Softwarekonfiguration:
Diese Tests werden über die AUT (zu testende Anwendung) mit mehreren Betriebssystemversionen, Softwareupdates usw. durchgeführt. Dies ist ein langwieriger Test, da die Installation und Deinstallation der verschiedenen Software, die zum Testen verwendet werden soll, sehr viel Zeit in Anspruch nimmt.
Ein Ansatz, um Zeit zu sparen, besteht darin, virtuelle Maschinen zum Testen der Softwarekonfiguration einzusetzen. Eine VM simuliert die Echtzeitkonfigurationen und vermittelt das gleiche Gefühl wie eine physische Maschine.
Anstatt also mehrere Software auf einer einzigen physischen Maschine zu installieren und zu deinstallieren, können mehrere virtuelle Maschinen unterschiedliche Konfigurationen simulieren, anhand derer wir die Tests durchführen müssen.
Das Testen der Softwarekonfiguration beginnt, sobald der Build freigegeben wurde, nachdem der Komponententest und der Integrationstest bestanden wurden.
# 2) Testen der Hardwarekonfiguration:
Hardwarekonfigurationstests werden normalerweise in Labors durchgeführt, in denen physische Maschinen mit verschiedener Hardware angeschlossen sind.
Jedes Mal, wenn ein Build veröffentlicht wird, muss die Software auf allen physischen Computern installiert sein, an die die Hardware angeschlossen ist, und die Testsuite muss auf jedem Computer ausgeführt werden, um zu bestätigen, dass die Anwendung ordnungsgemäß funktioniert.
Um die oben genannte Aufgabe zu erfüllen, ist ein erheblicher Aufwand erforderlich, um die Software auf jedem Computer einzurichten, die Hardware daran anzuschließen und die Testsuiten dann manuell auszuführen. Selbst wenn wir diese Aufgabe automatisieren und die Testsuite ausführen, wäre selbst dann ein erheblicher Aufwand erforderlich.
Wie wir bereits im vorherigen Teil dieses Artikels besprochen haben, beschreiben wir während des Hardwarekonfigurationstests die Art der zu testenden Hardware, und es gibt zahlreiche Computerhardware und Peripheriegeräte, die es nahezu unmöglich machen, alle auszuführen Tests.
Ein Tester analysiert also, welche Hardware hauptsächlich vom Kunden verwendet wird, und führt dann die Tests basierend auf der Priorisierung durch.
Lassen Sie uns nun die Konfigurationstests auf Client- und Serverebene diskutieren.
# 1) Testen auf Client-Ebene : Es hat Gemeinsamkeiten mit Usability- und Funktionalitätstests. Diese Tests werden unter dem Gesichtspunkt der direkten Benutzerinteressen durchgeführt.
# 2) Testen auf Serverebene : Diese Art von Tests wird durchgeführt, um die Interaktion zwischen der Software und der externen Umgebung zu untersuchen, wenn die Integration nach der Veröffentlichung geplant ist.
Bedeutung dieser Tests für ein Unternehmen
Diese Tests sind für ein Unternehmen sehr wichtig, um leistungsstarke, skalierbare und verfügbare Anwendungen zu entwickeln und aufrechtzuerhalten.
Diese Tests sollten fortlaufend und vorzugsweise automatisiert durchgeführt werden (andernfalls ist sie bei manueller Durchführung sehr zeitaufwändig), um die Faktoren, die zu Ineffizienzen beitragen, schnell zu identifizieren und zu korrigieren.
11 BEST Software Configuration Management Tools (SCM-Tools im Jahr 2020)
Fazit
Konfigurationstests sind genauso wichtig wie alle anderen Softwaretests, da sie die optimale Konfiguration des Systems ermitteln, unter dem die Anwendung ihre beste Leistung erbringt. Außerdem hilft es bei der Identifizierung und Behebung von Kompatibilitätsproblemen.
In diesem Artikel haben wir erfahren, was Konfigurationstests sind, warum wir diese Tests durchführen, welche Ziele sie verfolgen, welche Typen sie haben, welche Voraussetzungen für diese Tests bestehen, wie sie durchgeführt werden müssen und wie wichtig sie für eine Prüfung sind Unternehmen usw. im Detail.
Ich hoffe, dieser Artikel war informativ und hätte Ihnen eine gute Vorstellung von Konfigurationstests vermittelt.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Funktionstests gegen nichtfunktionale Tests
- Tutorial zum paarweisen Testen oder Testen aller Paare mit Tools und Beispielen
- Software Testing QA Assistant Job
- Tutorial zum Volumentest: Beispiele und Tools zum Volumentest
- Tutorial für zerstörende Tests und zerstörungsfreie Tests
- Ausführliche Eclipse-Tutorials für Anfänger
- Was ist Ausdauertest beim Testen von Software (Beispiele)