portability testing guide with practical examples
Einführung in das Testen der Portabilität:
Portabilitätstests sind nicht funktionale Testmethoden, mit denen bestimmt wird, mit welcher Leichtigkeit oder Schwierigkeit eine Softwarekomponente oder eine Anwendung von einer Umgebung in eine andere verschoben werden kann.
Mithilfe der Testergebnisse von Portability Testing können Sie herausfinden, wie einfach eine Softwarekomponente aus einer Umgebung in einer anderen Umgebung verwendet werden kann.
Der Begriff 'Umgebung' bezieht sich auf den Wechsel von einem Betriebssystem zu einem anderen Betriebssystem, von einem Browser zu einem anderen Browser oder von einer Datenbankversion zu einer anderen Datenbankversion.
Eine wichtige Faustregel für Portabilitätstests lautet, dass sie nur verwendet werden darf, wenn die Softwarekomponente von einer Umgebung in eine andere verschoben werden soll.
c ++ im Vergleich zu Java
Ein Maß für die Portabilität ist der Aufwand, der erforderlich ist, um die Softwarekomponente von einer Umgebung in eine andere zu verschieben. Eine Einheit zur Messung der Portabilität sind die Kosten für die Einführung einer Software in die neue Umgebung im Vergleich zu den Kosten für die Neuentwicklung der Software.
Dieses Tutorial bietet Ihnen einen vollständigen Überblick über die Bedeutung, Ziele, Attribute, Checkliste, Vor- und Nachteile von Portabilitätstests sowie einige praktische Beispiele in einfachen Worten, um das Verständnis zu erleichtern.
Was du lernen wirst:
- Unterschied zwischen Portabilitäts- und Kompatibilitätstests
- Ziele
- Attribute
- Checkliste für Portabilitätstests
- Vor-und Nachteile
- Beispiele für Portabilitätstests
- Fazit
- Literatur-Empfehlungen
Unterschied zwischen Portabilitäts- und Kompatibilitätstests
Die folgenden Punkte unterscheiden kurz die Unterschiede zwischen Portabilität und Kompatibilität.
=> Die Kompatibilität befasst sich damit, ob zwei oder mehr Komponenten gleichzeitig in derselben Umgebung ausgeführt werden können, ohne das Verhalten der anderen zu beeinträchtigen.
Beispiel: Man kann sagen, dass ein Textverarbeitungsprogramm und ein Taschenrechner, die unter demselben Betriebssystem wie Windows 10 ausgeführt werden, miteinander kompatibel sind, da das Ausführen einer Anwendung das Verhalten der anderen Anwendung nicht beeinflusst.
=> Bei der Portabilität wird die Komponente von einer Umgebung in eine andere verschoben.
Beispiel: Ein Spiel, das unter Windows XP ausgeführt wird, gilt als portabel, wenn dasselbe Spiel unter Windows 7 ausgeführt werden kann, ohne dass sich das Verhalten des Spiels ändert.
=> Kurz gesagt, beim Testen der Portabilität werden Softwarekomponenten in mehreren Umgebungen behandelt, während beim Testen der Kompatibilität zwei verschiedene Anwendungen in derselben Umgebung getestet werden.
Ziele
Folgendes sind die Ziele dieser Prüfung:
- Bestimmen Sie, ob ein System auf die einzelnen Umgebungsmerkmale wie Prozessorgeschwindigkeit, Speicherplatz und RAM, Monitorauflösung, Betriebssystem und Browserversionen portiert werden kann.
- Stellen Sie fest, ob das Erscheinungsbild der Anwendung in Bezug auf Benutzeroberfläche und Funktionsmerkmale mehreren Betriebssystemen und mehreren Browsern ähnelt.
- Mithilfe dieser Tests können Sie feststellen, ob das System zur Veröffentlichung bereit ist, insbesondere wenn bekannt ist, dass die Kunden des Produkts mehrere Betriebssysteme mit mehreren Browserversionen verwenden.
- Diese Tests werden normalerweise anhand eines vordefinierten Satzes von Portabilitätsanforderungen durchgeführt, die dazu beitragen, die Fehler zu finden, die im Rahmen des Unit- und Integrationstests der Anwendung übersehen werden.
- Bei diesen Tests festgestellte Fehler müssen im Rahmen der Produktversion von den Entwicklern behoben und geliefert werden.
- Diese Tests werden im Allgemeinen während des gesamten Softwareentwicklungszyklus schrittweise durchgeführt.
Attribute
Das Software-Testboard hat bestimmte Hauptmerkmale dieses Tests definiert.
Sie sind:
- Installierbarkeit
- Anpassungsfähigkeit
- Austauschbarkeit
- Kompatibilität oder Koexistenz
# 1) Installierbarkeit:
Die Installierbarkeit wird für eine Software durchgeführt, die in einer Zielumgebung installiert werden muss.
Die folgenden Merkmale werden im Rahmen der Installierbarkeitsprüfung validiert:
- Betriebssystemanforderungen für die Installation.
- Browseranforderungen für eine Anwendungsnutzung.
- Speicher- oder RAM-Anforderungen.
- Installationsverfahren.
- Deinstallationsverfahren.
- Ausnahmen für Installationsunterbrechungen.
- Voraussetzungen für die Softwareinstallation.
# 2) Anpassungsfähigkeit:
Beim Testen der Anpassungsfähigkeit wird überprüft, ob das System an jede der Zielumgebungen anpassbar ist. Die Verwendung gemeinsamer Kommunikationsstandards zwischen mehreren Systemen kann dazu beitragen, die Anpassungsfähigkeit des gesamten Systems zu verbessern.
Anpassungsfähigkeitstests umfassen die folgenden Merkmale:
- Hardware-Abhängigkeit.
- Softwareabhängigkeit.
- Standardsprache.
- Kommunikation des Systems mit jeder der Zielumgebungen.
- Abhängigkeitskapselung.
- Abhängigkeitsdarstellung über mehrere Systeme hinweg.
# 3) Austauschbarkeit:
Austauschbarkeit ist die Fähigkeit, eine Softwarekomponente durch eine andere zu ersetzen. Die Komponente, die die vorherige Komponente ersetzt, muss in allen Zielumgebungen dieselben Ergebnisse wie die vorherige Komponente liefern. Idealerweise sollte es dem gleichen Zweck dienen wie die Komponente, die ersetzt wird.
Konkurrenzprodukte derselben Domäne sind die idealen Kandidaten für die Austauschbarkeit, da das Produkt, das ersetzt wird, viel billiger sein kann als das vorhandene Produkt eines Konkurrenten.
# 4) Kompatibilität oder Koexistenz:
Kompatibilität ist die Fähigkeit von zwei oder mehr Komponenten zu der vorhandenen in derselben Umgebung, ohne das Verhalten der anderen zu beeinträchtigen. Dieser Test ist besonders nützlich in großen Systemen, die mehrere Subsysteme als Teil enthalten.
Die Subsysteme teilen sich idealerweise einen gemeinsamen Stapelbereich und Speicher. Infolgedessen kann eine auf einem Subsystem aufgetretene Ausnahme leicht auf das andere Subsystem übertragen werden, wodurch die gesamte Anwendung abstürzt.
Das Ändern der vorhandenen Komponente, das Aktualisieren auf eine neue Komponente und das Anpassen der neuen Schnittstelle an die vorhandene Komponente sind all die Probleme, mit denen Softwaresysteme im Laufe der Zeit konfrontiert sind.
Komponenten, die das nicht schaffen Kompatibilitätstests Anforderungen haben tiefgreifende Auswirkungen auf das gesamte System. Daher muss jede Komponente gründlich auf ihre Auswirkungen auf die gemeinsamen Ressourcen getestet werden.
Nur wenige andere auf der Liste:
Neben diesen Hauptattributen können Portabilitätstests auch mehrere andere Attribute umfassen, z. B. Interoperabilitätstests und Lokalisierungstests.
(i) Interoperabilität: Mithilfe von Interoperabilitätstests können Sie feststellen, ob zwei oder mehr Komponenten ohne Kommunikationsprobleme miteinander interagieren können.
Zum Beispiel , Die Datenübertragung über Bluetooth zwischen einem Windows 10-PC und einem Android-basierten Smartphone kann für Interoperabilitätstests verwendet werden.
(ii) Lokalisierung: Lokalisierungstests werden durchgeführt, um sicherzustellen, dass die entwickelte Software in der Landessprache verstanden werden kann, in der sie verwendet wird. Diese Art des Testens wird auch als Internalisierungstest bezeichnet.
Zum Beispiel , Software muss in verschiedenen internationalen Sprachen wie Chinesisch, Italienisch, Russisch usw. getestet werden.
Checkliste für Portabilitätstests
Die Checkliste enthält die Anforderungen, die im Rahmen des Portabilitätstests getestet werden sollen.
Bevor Sie mit der Erstellung einer Checkliste fortfahren, müssen Sie sicherstellen, dass alle einzelnen Komponenten des Systems gründlich getestet und miteinander integriert werden, um ein großes System zu bilden.
Alle Ziele der Portabilitätstests sollten berücksichtigt werden, damit die Checkliste effektiv und effizient ist.
- Diese Prüfung muss alle Portabilitätsanforderungen erfüllen.
- Das Testen der Anwendung auf mehreren Betriebssystemen muss durchgeführt werden.
- Das Testen der Anwendung in mehreren Browserversionen muss durchgeführt werden.
- Dieser Test kann für kontinuierliche Regressionstests automatisiert werden.
- Diese Tests müssen während des gesamten Softwareentwicklungszyklus inkrementell und iterativ durchgeführt werden.
Vor-und Nachteile
Portabilitätstests haben ihre eigenen Vor- und Nachteile wie alle anderen Tests. Schauen wir sie uns an.
Vorteile:
- Es hilft bei der Identifizierung der Abhängigkeiten zwischen mehreren Komponenten.
- Dieser Test ist besonders nützlich in großen Systemen, in denen mehrere Subsysteme miteinander interagieren.
- Dieser Test wird bevorzugt, wenn die Kunden eines Produkts mehrere Betriebssysteme mit mehreren Browserversionen verwenden.
- Fehler, die während des Unit- und Integrationstests übersehen werden, können mit diesem Test aufgedeckt werden.
- Im Rahmen dieser Tests kann auch die Installation und Deinstallation von Software getestet werden.
- Die Reaktionsfähigkeit und Leistung einer Anwendung kann über mehrere Browser und mehrere Betriebssysteme hinweg getestet werden.
- Das Erscheinungsbild der Anwendung in mehreren Browsern und mehreren Betriebssystemen kann mithilfe dieser Tests überprüft werden.
- Mithilfe dieser Tests können Sie feststellen, ob die Funktionalität der Anwendung auf mehreren Betriebssystemen und mehreren Browsern wie erwartet ist.
- Es hilft auch, die Ausbreitung von Fehlern zwischen mehreren Systemen zu vermeiden.
Nachteile:
- Dieses Testen wird im Allgemeinen nicht bevorzugt, wenn der Softwaretestzyklus zeitlich begrenzt ist.
- Diese Tests erfordern viel Budget von der Organisation, da mehrere Konfigurationen zum Testen erforderlich sind, z. B. mehrere Betriebssysteme und mehrere Browser.
- Alle Setup-Hardwarekonfigurationen müssen verfügbar sein, damit Portabilitätstests durchgeführt werden können. Dies bedeutet, dass eine Organisation für die Unterstützung der Wartung der Setup-Hardwarekonfigurationen zahlen muss.
- Portabilitätstests sind ein sich wiederholender Prozess, bei dem Tester während des Tests ihren Fokus verlieren können.
- Die Automatisierung von Portabilitätstests ist eine mühsame Aufgabe und erfordert die Fähigkeit und Geduld der Tester, um erfolgreich implementiert zu werden.
- Die Durchführung von Portabilitätstests in einer Mehrbenutzerumgebung kann sehr schwierig sein. Außerdem erfordert es viel Datenarbeitsaufwand, damit die Tests erfolgreich sind.
- Speicherplatz für Hosting-Umgebungen kann für ein Unternehmen teuer werden.
Beispiele für Portabilitätstests
Im Folgenden sind einige klassische Beispiele aufgeführt:
- Software für Windows 7- und Macintosh-Betriebssysteme.
- Anwendungen, die für Apple iOS- und Google Android-Geräte entwickelt wurden.
- Software, die mit dem Microsoft Edge-Browser und dem Google Chrome-Browser kompatibel ist.
- Videospiele für Windows 10 und Apple Macintosh.
- Software für Windows 7 MySQL Server und Macintosh Oracle Datenbank.
- Installation von Software unter Windows 10 und Windows XP.
- Deinstallation von Software unter Macintosh- und Linux-Betriebssystemen.
Fazit
Portabilitätstests werden im Allgemeinen bevorzugt, wenn die Softwarekomponente von einer Umgebung in eine andere verschoben werden muss. Diese Tests helfen dabei, die Fehler aufzudecken, die im Rahmen von Unit-Tests und Systemintegrationstests nicht identifiziert wurden.
Können Sie ein Array in Java zurückgeben?
Ein Hauptnachteil von Portabilitätstests ist die Höhe des Budgets, das für diese Tests bereitgestellt werden muss, da mehrere Hardwarekonfigurationen verwendet werden müssen. Die Wartung und Unterstützung dieser Hardwarekonfigurationen kann eine sehr mühsame und zeitaufwändige Aufgabe sein.
Daher werden Portabilitätstests im Allgemeinen bevorzugt, wenn die Vorteile die Nachteile überwiegen.
Ich hoffe, Sie hätten das Konzept des Portabilitätstests durch dieses hervorragende Tutorial klar verstanden!
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Arten von Softwaretests: Verschiedene Testtypen mit Details
- Funktionstests gegen nichtfunktionale Tests
- Software Testing QA Assistant Job
- Praktische Softwaretests - Neues KOSTENLOSES eBook (Download)
- Was ist Ausdauertest beim Testen von Software (Beispiele)
- Alpha-Tests und Beta-Tests (eine vollständige Anleitung)
- Beim Testen von Software über den Tellerrand hinaus denken!