Kompatibilitätstests sind ein wesentlicher Bestandteil vieler Qualitätssicherungsstrategien, mit denen Unternehmen feststellen können, ob ihre Software auf verschiedenen Plattformen korrekt funktioniert. Selbst bei einem Programm, das ausschließlich für den Desktop gedacht ist, müssen mehrere wichtige Betriebssysteme und Hunderte, wenn nicht Tausende von Hardwareunterschieden berücksichtigt werden, die die Stabilität beeinträchtigen können. Das Verständnis des Kompatibilitätstestprozesses und seiner üblichen Vorteile kann dazu beitragen, eine effektive Produkteinführung zu gewährleisten, die in der Lage ist, die größtmögliche Zielgruppe von Nutzern zu erreichen.
Obwohl Kompatibilitätstests eine Reihe von Vorteilen bieten, gibt es auch zahlreiche bedeutende Herausforderungen, die ein Softwaretestteam bewältigen muss, um das Potenzial dieser Technik zu maximieren. Es gibt auch bestimmte Praktiken, die diese Abteilungen anwenden sollten, um die besten Ergebnisse zu erzielen – und um eine umfassende Testabdeckung zu gewährleisten.
In diesem Artikel befassen wir uns eingehend mit Kompatibilitätstests, einschließlich der wesentlichen Schritte, die Teams befolgen müssen, sowie der nützlichsten derzeit verfügbaren Testtools.
Was sind Kompatibilitätstests in
Software-Tests und -Entwicklung?
Bei Kompatibilitätstests wird Software auf verschiedenen Geräten, Hardware und Firmware geprüft, um sicherzustellen, dass sie den Erwartungen des Teams entspricht. Da jeder Nutzer sein Programm möglicherweise auf einem neuen Gerät nutzt, muss das Unternehmen sicherstellen, dass alle Nutzer ein ähnliches Erlebnis haben. Bei Kompatibilitätstests wird zum Beispiel jede Funktion einer Anwendung überprüft, um sicherzustellen, dass sie auf allen wichtigen Betriebssystemen funktioniert.
Ohne gründliche Kompatibilitätstests ist es durchaus möglich, dass ein Unternehmen eine Anwendung herausbringt, die auf bestimmten gängigen Geräten nicht funktioniert. Diese Überprüfungen müssen umfassend sein, da ein Problem auf verschiedene Weise auftreten kann, z. B. wenn die Anwendung mit einer ganz bestimmten Grafikkarte nicht funktioniert. In Verbindung mit anderen Formen des Softwaretests können Qualitätssicherungs-Teams sicherstellen, dass ihr Programm für die Veröffentlichung bereit ist.
1. Wann und warum müssen Sie Kompatibilitätstests für mobile Anwendungen, Websites, Systeme und Cross-Browser durchführen?
Unternehmen führen Kompatibilitätstests in ihrer Software-Testphase durch, insbesondere wenn sie eine „stabile“ Version des Programms haben, die genau widerspiegelt, wie es sich für die Kunden verhalten wird. Dies setzt sich nach Alpha-, Akzeptanz- und den anderen Formen von Tests fort, bei denen häufig allgemeine Stabilitäts- und funktionsbezogene Probleme untersucht werden. Wenn eine Anwendung während der Kompatibilitätsprüfungsphase auf Probleme stößt, so sind diese in der Regel auf spezifische Kompatibilitätsprobleme zurückzuführen. Wenn diese Prüfungen zu früh durchgeführt werden, können sie überflüssig werden, da kleine Änderungen im späteren Entwicklungszyklus des Programms die Kompatibilität radikal beeinflussen können.
Kompatibilitätstests für Browser und Software sind wichtig, denn sie helfen den Unternehmen, eine Anwendung herauszubringen, von der sie wissen, dass sie auf praktisch allen möglichen Geräten ordnungsgemäß funktioniert. So tragen insbesondere Cross-Browser-Kompatibilitätstests dazu bei, dass die Nutzer von Opera die gleiche Erfahrung machen wie die Nutzer von Firefox und anderen gängigen Browsern. Das Team testet in der Regel so viele Hardware-/Softwarevarianten, wie es die Zeit und das Budget erlauben. Das bedeutet, dass sie auf intelligente Weise Systemen oder Browsern den Vorrang geben müssen, die von ihren Kunden mit größerer Wahrscheinlichkeit verwendet werden, damit sie eine breite Testabdeckung und ein lebensfähiges Produkt garantieren können.
2. Wenn Sie keine Software-Kompatibilitätstests durchführen müssen
Unternehmen könnten eine maßgeschneiderte Anwendung für ein bestimmtes Betriebssystem oder Modell entwickeln, was die Zahl der erforderlichen Kontrollen stark einschränkt. Cross-Browser-Kompatibilitätstests bei Softwaretests könnten überflüssig sein, wenn dieses Programm beispielsweise keinen Browser benötigt. Auch der Zeitfaktor könnte für ein Unternehmen bei der Durchführung dieser Tests eine große Rolle spielen. Dennoch sollten die Testteams darauf achten, dass die wichtigsten Systeme und Browser mit der Software kompatibel sind. Es gibt auch Projekte, bei denen grundlegende Kompatibilitätstests nicht ausreichen.
3. Wer ist an der Kompatibilitätsprüfung beteiligt?
Hier sind die wichtigsten Personen, die Kompatibilitätstests bei Softwaretests durchführen:
1. Entwickler
Das Entwicklungsteam prüft die Leistung der Anwendung während der Entwicklung auf einer Plattform, und dies kann sogar das einzige Gerät sein, auf dem das Unternehmen das Programm veröffentlichen will.
2. Prüfer
Qualitätssicherungs-Teams, entweder innerhalb des Unternehmens oder extern beauftragt, prüfen in der Phase der Kompatibilitätstests der Anwendung viele mögliche Konfigurationen, darunter alle wichtigen Betriebssysteme und Browser.
3. Kunden
Die Kunden des Unternehmens verfügen möglicherweise über Hardware oder Konfigurationen, die das Team nicht gründlich testen konnte, so dass ihre Benutzererfahrung möglicherweise die erste wirkliche Prüfung dieser spezifischen Konfiguration ist.
Vorteile von Kompatibilitätstests
Zu den üblichen Vorteilen von Software-Kompatibilitätstests gehören:
1. Breiteres Publikum
Je gründlicher ein Team seine Software testet, desto mehr Geräte kann es getrost dafür freigeben und sicherstellen, dass ein breites Publikum auf vielen Plattformen in den Genuss seiner Anwendung kommt. Dies ermöglicht es den Unternehmen, mehr Produktverkäufe über das Programm zu erzielen, und kann auch die Anzahl der positiven Bewertungen verbessern, die diese Software von den Nutzern erhält.
2. Verbessert die Stabilität
Kompatibilitätstests bei Softwaretests sind wichtig, um Stabilitäts- und Leistungsprobleme aufzuzeigen, die auf verschiedenen Geräten oft stärker ausgeprägt sein können – insbesondere, wenn die Entwickler die Anwendung nur für eine Plattform konzipiert haben. Ein Systemkompatibilitätstest zeigt dem Unternehmen, was die Nutzer (auf einer breiten Palette von Geräten) von der Gesamtleistung der Software erwarten können.
3. Verfeinert die Entwicklung
Diese Tests haben auch erhebliche langfristige Auswirkungen auf ein Entwicklungsteam. So können beispielsweise Tests zur mobilen Kompatibilität wertvolle Informationen über die Entwicklung von Apps liefern, die Unternehmen bei der Erstellung zusätzlicher Programme berücksichtigen können. Dadurch können die Kosten für Kompatibilitätstests bei künftigen Projekten erheblich gesenkt werden, da sie die aus diesem Prozess gewonnenen Erkenntnisse wiederverwenden können.
4. Überprüft andere Tests
Die meisten bisherigen Tests sind in ihrem Umfang begrenzt und testen nicht alle möglichen Hardware- oder Softwarekombinationen – mit diesen Tests könnten diese Ergebnisse effektiv überprüft werden. Cross-Browser-Kompatibilitätstests beispielsweise validieren die bereits bestehenden Qualitätssicherungsstufen, indem sie zeigen, dass die Ergebnisse gleich sind, wenn der Benutzer einen anderen Browser verwendet.
5. Reduziert die Kosten
Kompatibilitätstests können auch die Kosten für das laufende Programm senken, da sie den Teams helfen, Probleme zu erkennen, bevor eine App veröffentlicht wird – zu diesem Zeitpunkt wird die Fehlerbehebung teurer. Je vielfältiger die Tests eines Teams sind (und je höher die Testabdeckungsrate), desto billiger ist es, Fehler zu beseitigen, sobald sie auftreten.
Herausforderungen der Kompatibilitätsprüfung
Im Folgenden werden die allgemeinen Herausforderungen beschrieben, mit denen Unternehmen konfrontiert werden können, wenn sie Kompatibilitätstests bei Softwaretests durchführen:
1. Begrenzte Zeit
Automatisierungstools und andere Lösungen können Kompatibilitätstests zwar erheblich beschleunigen, indem sie eine Reihe von Geräten simulieren, doch muss dieser Prozess immer noch mit dem Entwicklungszeitplan des Unternehmens übereinstimmen. Das bedeutet, dass das Testteam den häufigsten Geräten und Browsern Vorrang einräumen muss, um zu gewährleisten, dass sie ein möglichst breites (und bevölkerungsreiches) Publikum erreichen.
2. Mangel an echten Geräten
Bei diesen Prüfungen werden in der Regel virtuelle Maschinen eingesetzt, die die Komponenten und Bedingungen realer Geräte simulieren; dies ist wesentlich billiger (und schneller) als die eigenständige Beschaffung der entsprechenden Teile und Plattformen. Dies kann jedoch die Genauigkeit dieser Ergebnisse beeinträchtigen, zumal die Leistung oft davon abhängt, wie die Benutzer ein reales Gerät bedienen.
3. Schwierig, zukunftssicher zu sein
Kompatibilitätstests können sich nur auf bereits existierende Plattformen beziehen; das bedeutet, dass sie nicht garantieren können, dass die Anwendung auf zukünftigen Versionen von Windows und Google Chrome wie erwartet läuft. Die Unternehmen können dies erst nach der Einführung beheben, was oft teurer ist, und die Anwendung könnte dadurch schließlich veraltet sein.
4. Instandhaltung der Infrastruktur
Wenn ein Team beschließt, eine große Anzahl von Plattformen intern zu prüfen, kann dies zu hohen Infrastrukturkosten führen. Kompatibilitätstests für mobile Anwendungen könnten beispielsweise die Beschaffung einer Reihe echter mobiler Geräte beinhalten. Dies ist zwar genauer als simulierte Hardwarekompatibilitätstests, aber teuer und erfordert in der Regel regelmäßige Wartung.
5. Hohe Anzahl von Kombinationen
Bei der Kompatibilitätsprüfung werden viele sich überschneidende Faktoren berücksichtigt, wie z. B. Betriebssystem, Browser, Hardware, Firmware und sogar die Bildschirmauflösung. Selbst wenn das Testteam viel Zeit hat, wäre es praktisch unmöglich, jede einzelne Möglichkeit zu berücksichtigen. Bei den Konfigurations- und Kompatibilitätstests müssen wiederum die wahrscheinlichsten Gerätekombinationen priorisiert werden.
Merkmale der Kompatibilitätsprüfung
Zu den wichtigsten Merkmalen von Kompatibilitätstests gehören:
1. Gründlich
Diese Prüfungen müssen in der Lage sein, mögliche Kompatibilitätsprobleme zwischen Geräten zu isolieren – sonst könnte das Team am Ende ein fehlerhaftes Programm herausbringen. Diese Prüfungen müssen beispielsweise sicherstellen, dass jede einzelne Funktion der Anwendung wie erwartet dargestellt wird, unabhängig von der Bildschirmauflösung des Benutzers.
2. Ausgedehnt
Die Tests sollten ein ausgewogenes Verhältnis zwischen Tiefe und Breite aufweisen und den Teams helfen, eine Reihe von Problemen bei vielen Gerätekonfigurationen zu untersuchen. Beim Cross-Browser-Kompatibilitätstest wird eine breite Palette von Betriebssystem- und Browserkombinationen untersucht, um einen hohen Abdeckungsgrad zu gewährleisten – manchmal mit Hilfe einer automatisierten Lösung.
3. Bidirektional
Dieser Prozess umfasst sowohl Rückwärts- als auch Vorwärtskompatibilitätstests. Ersterer ermöglicht es dem Team zu sehen, wie ihre App auf älterer Hardware funktioniert. Letzteres ermöglicht dem Team den Zugang zu hochmodernen Plattformen, die eine erfolgreiche langfristige Leistung garantieren, auch wenn ihre Zukunftssicherheit nur begrenzt gegeben ist.
4. Wiederholbar
Die bei diesen Prüfungen aufgedeckten Probleme müssen von anderen Testern und Abteilungen leicht wiederholt werden können, um zu zeigen, dass sie Fehler widerspiegeln, auf die die Benutzer wahrscheinlich stoßen werden. Wenn ein Website-Kompatibilitätstest zeigt, dass bestimmte Funktionen in einem bestimmten Browser nicht funktionieren, hilft die Wiederholbarkeit den Entwicklern, das Problem zu beheben.
Arten von Kompatibilitätstests
Die wichtigsten Arten von Kompatibilitätstests sind die folgenden:
1. Prüfung der Abwärtskompatibilität
Bei den Abwärtskompatibilitätstests wird die Anwendung mit älteren Versionen aktueller Hardware geprüft – dies ist unerlässlich, da die Beschränkung dieser Tests auf moderne Geräte die Zahl der Nutzer erheblich einschränken kann. Viele Menschen nutzen noch ältere Betriebssysteme, wie z. B. Windows 8.
2. Prüfung der Vorwärtskompatibilität
Die Prüfung der Vorwärtskompatibilität ist ähnlich, befasst sich jedoch mit modernen oder aufkommenden Technologien, um festzustellen, ob die Anwendung trotz Weiterentwicklungen und Aktualisierungen noch jahrelang funktionieren wird. Ohne diese Tests könnte die Software z. B. mit dem nächsten Browser-Update nicht mehr funktionieren.
3. Prüfung der Browser-Kompatibilität
Website-Browser-Kompatibilitätstests stellen sicher, dass eine Webanwendung oder Website auf verschiedenen Browsern funktioniert; dies ist unerlässlich, da diese unterschiedliche Layout-Engines verwenden. Qualitätssicherungs-Teams testen sogar die Cross-Browser-Kompatibilität, d. h. sie überprüfen, ob jeder Browser die Anwendung auf verschiedenen Betriebssystemen verarbeiten kann.
4. Mobile Kompatibilitätstests
Das Testen mobiler Anwendungen ist ein ähnlicher Prozess wie die Prüfung von Desktop- und Webanwendungen, zumal auch das Betriebssystem des Telefons eine wichtige Rolle spielt. Android- und iOS-Apps haben zum Beispiel völlig unterschiedliche Formate und erfordern einen völlig separaten Entwicklungs- und Testprozess, um beiden gerecht zu werden.
5. Prüfung der Hardware-Kompatibilität
Bei diesen Prüfungen werden die spezifischen Komponenten des Geräts und ihre möglichen Auswirkungen auf ein Programm untersucht; dies ist für praktisch jede Art von Gerät entscheidend. Ein Computer kann zum Beispiel eine Grafikkarte haben, die die Oberfläche einer Webanwendung nicht erfolgreich darstellen kann.
6. Prüfung der Gerätekompatibilität
Einige Anwendungen verbinden sich mit externen Geräten über Bluetooth, Breitband oder eine Kabelverbindung. Eine App muss zum Beispiel mit einem Drucker verbunden werden. Diese Tests sollen sicherstellen, dass das Programm mit den plattformeigenen Verbindungen und allen Geräten, auf die es zugreifen kann, zusammenarbeitet.
7. Prüfung der Netzwerkkompatibilität
Wenn eine Anwendung Netzwerkfunktionen benötigt, um ausgeführt werden zu können – z. B. durch Verbindung mit einer Online-Datenbank über den Server des Unternehmens -, sind zahlreiche Kompatibilitätsprüfungen erforderlich. Dadurch wird sichergestellt, dass das Programm mit einer angemessenen Geschwindigkeit über eine Wi-Fi-, 4G- oder 3G-Netzwerkverbindung ausgeführt werden kann.
Was testen wir in Kompatibilitätstests?
Die Kompatibilitätstester prüfen in der Regel Folgendes:
1. Leistung
Einer der Hauptzwecke von Kompatibilitätstests ist die Gewährleistung der Stabilität, da einige Aspekte der Anwendung mit gängigen Plattformen völlig inkompatibel sein können. Indem das Testteam die allgemeine Reaktionsfähigkeit des Programms prüft, stellt es sicher, dass es auf bestimmten Geräten nicht zu schwerwiegenden Abstürzen kommt.
2. Funktionsweise
Bei Kompatibilitätstests werden auch die allgemeinen Merkmale und Funktionen einer Anwendung geprüft, um sicherzustellen, dass die Software die richtigen Ergebnisse liefert. So kann ein System zur Verwaltung von Kundenbeziehungen beispielsweise keine Verkaufsdaten oder allgemeine Analysen für Benutzer mit einem veralteten Betriebssystem bereitstellen.
3. Grafiken
Manche Browser oder Geräte haben aus verschiedenen Gründen Probleme mit der Darstellung bestimmter grafischer Elemente – und Kompatibilitätsprüfungen können hier Abhilfe schaffen. Ein Programm kann möglicherweise nur bei bestimmten Bildschirmauflösungen funktionieren, es sei denn, die Entwickler ändern die Art und Weise, wie das Programm seinen Inhalt anzeigt.
4. Konnektivität
Bei den Kompatibilitätstests wird auch geprüft, wie das Programm sowohl mit dem Gerät des Benutzers als auch mit der eigenen Datenbank zusammenarbeitet, damit es Geräte wie Drucker erkennen kann. Diese Überprüfungen können zum Beispiel ergeben, dass die App nicht in der Lage ist, eine Verbindung mit ihrer eigenen Datenbank in 3G-Netzen herzustellen.
5. Vielseitigkeit
Diese Prüfungen stellen sicher, dass die Anwendung des Unternehmens vielseitig genug ist, um auf alten und neuen Versionen desselben Betriebssystems zu funktionieren, und zwar durch Rückwärts- und Vorwärtskompatibilitätstests. So wird sichergestellt, dass die Nutzer nicht vom Programm ausgeschlossen werden, wenn ihre Software ein paar Jahre veraltet ist.
Arten von Ergebnissen von Kompatibilitätstests
Die drei wichtigsten Ergebnisse der Kompatibilitätstests sind:
1. Testergebnisse
Die häufigste Ausgabe für diese Prüfungen sind die Ergebnisse selbst, die viele Formen annehmen können. So können Browser-Kompatibilitätstests beispielsweise ergeben, dass eine Webanwendung bei Microsoft Edge zu einem Speicherleck führt, während dieselbe Anwendung bei Chrome-basierten Browsern keine negativen Auswirkungen hat. Alternativ könnte die Anwendung auf den entsprechenden Plattformen genau so funktionieren, wie es das Team erwartet.
2. Testprotokolle
Die Testergebnisse werden auch in Form von Anwendungsprotokollen angezeigt, in denen etwaige Softwareprobleme durch Fehlermeldungen hervorgehoben werden. Diese Protokolle können sogar den spezifischen Teil eines Programms identifizieren, der diesen Fehler verursacht. Insbesondere bei Kompatibilitätstests müssen die Tester wissen, wie sich diese Protokolle auf den verschiedenen Plattformen manifestieren und wie diese Probleme dargestellt werden.
3. Testfälle
In den Kompatibilitätstestfällen wird festgelegt, welche Tests das Team durchführen wird, und es wird ein Feld für die Aufzeichnung der Ergebnisse in einem einfachen Format angeboten. Die Tester sollten ihre Kenntnisse über die Software in Verbindung mit den Ergebnissen und Protokollen nutzen, um die Ursache eines Problems zu ermitteln. Je mehr Informationen sie liefern, desto schneller können die Entwickler mit der Fehlerbehebung beginnen.
Arten der festgestellten Mängel
durch Kompatibilitätstests
Hier sind die häufigsten Fehler, die durch Kompatibilitätstests ermittelt werden können:
1. Layout-Skalierung
Ein Website-Kompatibilitätstest kann zeigen, ob die Elemente, aus denen eine Webanwendung oder sogar Webseiten bestehen, an das Gerät des Nutzers angepasst sind, insbesondere an die Auflösung und Größe des Bildschirms. Daher können einige Grafiken auf bestimmten Browsern schwer zu erkennen sein.
2. Software-Abstürze
Mit Kompatibilitätstests lässt sich leichter feststellen, ob eine Anwendung auf bestimmten Plattformen überhaupt lauffähig ist. So könnte beispielsweise ein Spieleentwickler die Mindestsystemanforderungen für sein Produkt ermitteln, indem er prüft, welche Geräte aufgrund unzureichenden Arbeitsspeichers und unzureichender Prozessorgeschwindigkeit abstürzen, wenn die Tester das Spiel starten.
3. HTML/CSS-Validierungsprobleme
Verschiedene Browser und Geräte lesen den Code auf unterschiedliche Weise – einige korrigieren automatisch einfache Tippfehler, z. B. wenn ein HTML-Tag nicht richtig geschlossen wird. Beim Testen der Browserkompatibilität können Instanzen von ungültigem CSS identifiziert werden, die verhindern, dass die App ihren Inhalt und sogar grundlegende Funktionen generieren kann.
4. Fehler bei der Videowiedergabe
Viele moderne Videoplayer nutzen HTML5, um Videos online zu streamen, was ein wichtiger Bestandteil der Webanwendung eines Unternehmens sein kann. Teams, die die Browserkompatibilität der Website prüfen, könnten jedoch feststellen, dass die Videofunktionen ihrer App mit veralteten Browsern nicht kompatibel sind.
5. Dateisicherheit
Kompatibilitätstests in der Softwareentwicklung können auch Probleme mit der Dateisicherheit und deren Unterschiede zwischen den Geräten aufdecken. Neuere Versionen von Windows verfügen beispielsweise über eine robustere Eingabe-/Ausgabesicherheit. Dies kann dazu führen, dass die Anwendung (z. B. eine Antiviren-Software) Schwierigkeiten hat, auf die Dateien des Geräts zuzugreifen.
Prozess der Kompatibilitätsprüfung
Die üblichen Schritte der Kompatibilitätsprüfung sind:
1. Erstellen eines Testplans
Für die Kompatibilitätsprüfung ist ein umfassender Prüfplan von entscheidender Bedeutung, auf den sich das Qualitätssicherungsteam bei seinen Prüfungen nach Bedarf beziehen kann. Darin werden zum Beispiel die zu prüfenden Geräte und die Kriterien für das Bestehen oder Nichtbestehen festgelegt.
2. Testfälle konfigurieren
Testfälle sind ebenfalls wichtig, da sie die spezifischen Kompatibilitätsprüfungen, die die Teams durchführen, und die spezifischen Geräte, mit denen sie arbeiten, näher beschreiben. Dieser enthält auch die genauen Schritte, die die Tester durchführen werden, sowie ausreichend Platz, um die Ergebnisse und alle Informationen festzuhalten, die den Entwicklern bei der Durchsetzung der Kompatibilität helfen.
3. Einrichten der Testumgebung
Eine isolierte und unabhängige Testumgebung, die frei von äußeren Einflüssen ist, ist notwendig, um genaue Tests zu gewährleisten und dem Qualitätssicherungs-Team die Möglichkeit zu geben, die Ursachen für die aufgedeckten Probleme zu ermitteln. Darüber hinaus können die Tester ihre Prüfungen an der Anwendung durchführen, ohne die „echte“ Version in irgendeiner Weise zu beeinträchtigen.
4. Führen Sie die Tests durch
Wenn die Testfälle und die Umgebung vollständig vorbereitet sind, kann das Team mit den Kompatibilitätstests beginnen – selbst bei einer automatisierten Lösung steht nur eine begrenzte Zeit zur Verfügung. Um dies zu berücksichtigen, müssen die Tester die gängigsten Betriebssysteme und Gerätekonfigurationen priorisieren und trotz dieser Einschränkungen eine breite Testabdeckung sicherstellen.
5. Erneuter Test
Sobald die Tests abgeschlossen sind und die Entwickler die Testfälle erhalten haben, werden sie die Anwendung so ändern, dass ihre Kompatibilität verbessert wird, auch wenn dies nicht für alle Geräte möglich ist. Anschließend überprüfen die Tester die Anwendung erneut und stellen sicher, dass die zuvor entdeckten Probleme nicht mehr vorhanden sind und keine neuen schwerwiegenden Fehler auftreten.
Gemeinsame Metriken für Kompatibilitätstests
Im Folgenden finden Sie einige gängige Messgrößen für Kompatibilitätstests:
1. Bandbreite
Bei den Netzkompatibilitätstests wird gemessen, wie die Anwendung mit verschiedenen Netzen, einschließlich Breitband- und mobilen Datennetzen, zusammenarbeitet. Die Mindestbandbreite, die das Programm benötigt, um seine üblichen Aufgaben zu erfüllen und sich mit der Datenbank des Unternehmens zu verbinden, könnte beispielsweise zu hoch für eine durchschnittliche 3G-Verbindung sein.
2. CPU-Nutzung
Eine Möglichkeit, wie sich Leistungsprobleme bemerkbar machen, ist eine unverhältnismäßig hohe CPU-Auslastung – dies kann bedeuten, dass das Gerät einfach nicht die Mindestanforderungen des Programms erfüllt. CPU-Probleme können sich auch auf die Reaktionszeit der Anwendung auswirken, ihre Funktionalität einschränken und so viel Verzögerung verursachen, dass die Benutzer abgeschreckt werden.
3. Skala zur Systembenutzbarkeit
Die System Usability Scale ist eine gängige Methode zur Messung subjektiver Details eines Programms und umfasst zehn grundlegende Fragen zur Benutzerfreundlichkeit einer App. Die sich daraus ergebende SUS-Punktzahl ist ein Wert von 100 und kann aufgrund von Grafikfehlern von einer Plattform zur anderen abweichen.
4. Gesamtzahl der Mängel
Diese Kennzahl ist bei den meisten Testarten konstant und gibt den Testern Aufschluss über den aktuellen Zustand des Programms. Außerdem kann das Team die Fehlersummen zwischen verschiedenen Plattformen vergleichen. Auf diese Weise können die Tester die Fehler aufzeigen, die auf Inkompatibilität zurückzuführen sind.
5. SUPRQ-Ergebnis
Ähnlich wie der SUS-Score einer Anwendung ist der Standardized User Experience Percentile Rank Questionnaire eine Möglichkeit für Tester, eine Anwendung nach mehreren Schlüsselfaktoren zu bewerten, darunter Benutzerfreundlichkeit und Aussehen. Auf diese Weise können sie feststellen, wie schwer sich die Kunden mit der Nutzung der Anwendung auf bestimmten Geräten tun könnten.
7 Fehler und Fallstricke bei der Durchführung von Kompatibilitätstests
Im Folgenden finden Sie sieben wichtige Fehler, die Sie bei der Durchführung von Kompatibilitätstests vermeiden sollten:
1. Mangel an echten Geräten
Auch wenn es unmöglich ist, alle möglichen Gerätekombinationen zu testen, kann ein Testteam dennoch davon profitieren, so viele echte Geräte wie möglich zu verwenden. Verschiedene Plattformen bieten über Cloud-Lösungen „echte“ Geräte an, um browserübergreifende Kompatibilitätstests in einer Weise zu ermöglichen, die die native Leistung widerspiegeln kann.
2. Ältere Geräte meiden
Viele Nutzer greifen immer noch mit älteren Versionen von Windows oder iOS auf ihre Anwendungen zu; eine ausschließliche Konzentration auf neue Versionen beliebter Geräte und Betriebssysteme könnte die Reichweite eines Produkts einschränken. Wenn das Team seine Tests nicht auf „veraltete“ Geräte ausweitet, könnte ein großer Teil des Publikums Schwierigkeiten haben, das Programm zu nutzen.
3. Falsches Zeitmanagement
Oft gibt es eine große Anzahl von Geräten und Konfigurationen, die einen Kompatibilitätstest erfordern, was bedeutet, dass das Team seine Zeit so einteilen muss, dass es so viele wie möglich überprüft. Dies ist wichtig, da die Tests in der Regel gegen Ende der Entwicklung noch nicht abgeschlossen sind; ein Missmanagement könnte die Anzahl der Prüfungen massiv einschränken.
4. Falsche Zeitplanung
Ebenso wichtig ist es, dass die Teams diese Tests in einem angemessenen Stadium der Programmentwicklung durchführen, vorzugsweise nach den Alpha-Tests und den meisten Formen der funktionalen Tests. Auf diese Weise lässt sich leichter feststellen, ob es sich bei einem Problem um einen allgemeinen Defekt handelt oder um ein spezifisches Problem bei den Geräten, mit denen sich das Team befasst.
5. Keine Berücksichtigung der Bildschirmauflösung
Die Bildschirmauflösung kann ein weitaus größerer Faktor für die Kompatibilität sein, als vielen Testteams bewusst ist – zumal sie anpassbar ist und sich darauf auswirkt, wie ein Gerät grafische Elemente anzeigt. Auch wenn die Frist für Kompatibilitätstests immer näher rückt, ist es wichtig, dass die Testteams dies in ihrer Strategie berücksichtigen.
Mangel an Fachwissen
Die Tester müssen hochqualifiziert sein, um die Kompatibilität von Websites, Browsern und Software zu prüfen, neben den vielen anderen Formen, die diese Tests annehmen können. Wenn ein Testleiter eines seiner Teammitglieder mit der Durchführung von Kompatibilitätsprüfungen beauftragt und dieses nicht über ausreichende Erfahrung verfügt, kann dies die Tests verlangsamen und ihre Genauigkeit einschränken.
6. Keine vorherige Diskussion
Da Kompatibilitätstests oft zeitaufwändig sind (und möglicherweise eine große Anzahl von Geräten erfordern), müssen die Teams den Umfang ihrer Prüfungen bereits in der Qualitätssicherungsphase vollständig festlegen. Sie müssen zum Beispiel eine klare Vorstellung davon haben, welche spezifischen Geräte oder Konfigurationen sie zu testen beabsichtigen, bevor sie mit ihren Prüfungen beginnen.
Bewährte Praktiken für Kompatibilitätstests
Zu den besten Möglichkeiten, qualitativ hochwertige Kompatibilitätstests durchzuführen, gehören:
1. Test während der gesamten Entwicklung
Da sich die Software von Woche zu Woche stark verändert, kann sich dies auf die Kompatibilität des Programms mit den vorgesehenen Geräten auswirken. Die Teams müssen wiederholt Software- und Cross-Browser-Kompatibilitätstests durchführen, um sicherzustellen, dass die Anwendung auch nach Entwicklungsänderungen auf diesen Plattformen gut funktioniert.
2. Echte Geräte verwenden
Einige Kompatibilitätstools bieten Zugang zu „echten“, simulierten Geräten, die der Nutzererfahrung für die jeweilige Plattform sehr nahe kommen können. Auf diese Weise können Sie die Kompatibilität mit mehr Geräten sicherstellen und gleichzeitig ein hohes Maß an Genauigkeit beibehalten, das bei bestimmten automatisierten Lösungen nicht gegeben ist.
3. Prioritäten für die Tests setzen
Da nur wenig Zeit für die Durchführung dieser Prüfungen zur Verfügung steht, müssen die Kompatibilitätstester möglicherweise die gängigsten Geräte, Browser und Betriebssysteme priorisieren. Ebenso sollte das Testteam zuerst die kritischsten Funktionen der Software prüfen, um die grundlegende Funktionalität auf diesen Geräten zu gewährleisten.
4. Integrieren Sie agile Techniken
Einige Unternehmen entscheiden sich für einen sprintbasierten Ansatz für ihre Kompatibilitätstests, der es ihnen ermöglicht, Testmeilensteine – wie die Überprüfung einer bestimmten Anzahl von Geräten – leicht zu erreichen. Agiles Vorgehen fördert die abteilungsübergreifende Kommunikation und bietet gleichzeitig eine feste Teststruktur, die eine konsistente, schnelle Verbesserung garantiert.
5. Begrenzung des Testumfangs
Qualitätssicherungs-Teams müssen wissen, wann sie ihre Tests beenden und sogar eine Inkompatibilität in Kauf nehmen müssen. In diesem Fall könnte der Entwickler die Software nicht ändern und stattdessen die Mindestanforderungen ändern, wenn es zu schwierig wäre, dies durch Fehlerbehebungen zu umgehen.
Beispiele für Kompatibilitätstestfälle und -szenarien
In den Kompatibilitätstestfällen werden die Eingaben des Testteams, die Teststrategie und die erwarteten Ergebnisse festgelegt, wobei letztere mit den tatsächlichen Ergebnissen verglichen werden. Da die Prüfungen viele Geräte und Konfigurationen umfassen, ist dies oft ein umfangreicher Prozess.
Diese Fälle umfassen in der Regel:
– Testen Sie, ob das HTML der Webanwendung richtig angezeigt wird.
– Prüfen Sie, ob der JavaScript-Code der Software verwendbar ist.
– Prüfen Sie, ob die Anwendung in verschiedenen Auflösungen funktioniert.
– Testen Sie, ob das Programm auf das Dateiverzeichnis zugreifen kann.
– Vergewissern Sie sich, dass die App mit allen geeigneten Netzen verbunden ist.
Hier sind spezifische Beispiele für Kompatibilitätstests bei Softwaretests für verschiedene Programme:
1. App zur sozialen Vernetzung
Soziale Netzwerke werden in der Regel in Form von Webanwendungen auf Browsern und mobilen Anwendungen für entsprechende Geräte angeboten; beide Arten erfordern gleichermaßen gründliche Tests. So muss diese mobile App mindestens auf iOS- und Android-Geräten voll funktionsfähig sein – wobei das Team alte und neue Geräte unter jedem Betriebssystem überprüft. Wenn ein bestimmtes iPhone-Modell beispielsweise keine animierten GIF-Dateien rendern kann, muss das Team die Ursache dafür ermitteln, um ein einheitliches Nutzererlebnis zu gewährleisten.
2. Videospiel
Videospiele bieten in der Regel anpassbare grafische Optionen, die der Benutzer an seinen Rechner anpassen kann. Dazu gehört auch die Steuerung der Bildschirmauflösung und die Gewährleistung einer angemessenen Skalierung der Benutzeroberfläche. Je nach der spezifischen Hardware des Spielers können bestimmte Probleme auftreten – Antialiasing-Fehler führen zu körniger Grafik. Dies könnte auf eine gängige Grafikkarte zurückzuführen sein, die nicht mit dem Textur-Rendering des Unternehmens kompatibel ist. Je nach dem genauen Problem kann dies sogar zu einem Systemabsturz führen, wenn bestimmte Geräte das Spiel starten.
3. CRM-Cloud-System
Lösungen für das Kundenbeziehungsmanagement nutzen Datenbanken, um Informationen über Transaktionen, Lieferanten und andere wichtige Aspekte des Geschäfts abzurufen, hauptsächlich mit Hilfe von Cloud-Speicher. Die Tester sollten sicherstellen, dass diese Datenbank und ihre Cloud-Dienste in verschiedenen Netzen funktionieren, einschließlich 3G und 4G, wenn ein Nutzer ohne Internetverbindung darauf zugreifen muss. Das Team muss auch eine breite Palette von Betriebssystemen prüfen, da bestimmte Fehler beispielsweise nur auf Linux-Geräten auftreten können.
Manuelle oder automatische Kompatibilitätstests?
Die Automatisierung kann bei Kompatibilitätstests sehr hilfreich sein, da die Teams eine große Anzahl von Geräten viel schneller prüfen können als bei einem manuellen Ansatz. Manuelle Tests können jedoch besser geeignet sein, wenn nur eine begrenzte Anzahl von Browsern und Geräten geprüft werden soll – zum Beispiel bei einem Videospiel, das nur auf zwei Plattformen verfügbar ist. Die Benutzerfreundlichkeit der Software ist oft ein zentraler Faktor bei Kompatibilitätstests und erfordert in der Regel eine menschliche Perspektive, die grafische Darstellungsprobleme besser erkennen kann. Die Automatisierung robotergestützter Prozesse kann hier helfen, indem Software-Roboter implementiert werden, die die Vorgehensweise eines menschlichen Benutzers bei Kompatibilitätstests leichter nachahmen können.
Bei Programmen, die für eine Vielzahl von Geräten entwickelt wurden, wie z. B. mobile und Webanwendungen, ermöglicht die Automatisierung dem Team eine breitere Testabdeckung. Sie könnten sogar Hyperautomatisierung einsetzen, um diese Prüfungen auf intelligente Weise auszulagern, so dass menschliche Tester diese Plattformen immer noch auf benutzerspezifische Funktionen prüfen können. Kompatibilitätstests im Rahmen manueller Tests sind für einige Aufgaben nach wie vor obligatorisch, z. B. um zu prüfen, ob die Benutzeroberfläche auf allen Geräten korrekt angezeigt wird. Das bedeutet, dass der beste Ansatz eine gemischte Strategie sein könnte, bei der durch Automatisierung insgesamt mehr Geräte getestet werden können, wobei das Tempo erhöht und gleichzeitig die Bedeutung der Benutzerfreundlichkeit berücksichtigt wird.
Was brauchen Sie, um mit Kompatibilitätstests zu beginnen?
Zu den wichtigsten Voraussetzungen für Kompatibilitätstests gehören:
1. Qualifiziertes Prüfpersonal
Kompatibilitätstester haben in der Regel höhere Qualifikationsanforderungen als andere Formen der Qualitätssicherung, da sie ein breiteres Spektrum von Geräten prüfen und häufig auf mehr Fehler stoßen. Dazu gehören beispielsweise Problemlösung, Kommunikation und Aufmerksamkeit für Details. Teamleiter sollten Tester einsetzen, die Erfahrung mit der Prüfung derselben Anwendung auf vielen Plattformen haben.
2. Starke Geräteemulation
Es kann schwierig sein, jedes physische Gerät innerhalb der Reichweite des Teams zu beschaffen und zu testen, weshalb die Emulation unerlässlich ist, um zu sehen, wie verschiedene Plattformen auf dasselbe Programm reagieren. Dieser Prozess ist selten perfekt, und die Tester müssen sich die vielen verfügbaren Emulatoren und automatisierten Testtools ansehen, um herauszufinden, welches die größte Genauigkeit bietet.
3. Klarer Prüfumfang
Das Team sollte sich vor Beginn der Kontrollen über seinen Aufgabenbereich im Klaren sein, zumal dies das Arbeitstempo bestimmen könnte. Auch wenn das Programm darauf abzielt, viele Plattformen abzudecken, sollten die Prüfer einen geeigneten Grenzwert festlegen. So kann beispielsweise das Testen von Betriebssystemen, die vor Windows 7 veröffentlicht wurden, zu einer Verringerung des Nutzens führen.
4. Zeitmanagement
Kompatibilitätstests können zu jedem Zeitpunkt der Qualitätssicherungsphase durchgeführt werden, werden aber in der Regel für das Ende der Entwicklung aufgespart – wenn das Programm stabil und mit allen Funktionen ausgestattet ist. Die Tester sollten sich jedoch schon lange vorher Gedanken über die Kompatibilität machen, da dies oft sehr zeitaufwändig ist. Durch eine solide Planung im Voraus kann das Team sicherstellen, dass es genügend Zeit für jede Kontrolle hat.
Kompatibilitätstests
Checkliste, Tipps & Tricks
Im Folgenden finden Sie weitere Tipps, die Qualitätssicherungs-Teams bei der Durchführung von Kompatibilitätstests beachten müssen:
1. Keine absolute Reichweite anstreben
Obwohl jede Teststrategie darauf abzielt, die Testabdeckung zu maximieren, wird in der Regel vor dem Erreichen von 100 % aufgehört, da der Nutzen abnimmt und nur geringe Verbesserungen für sehr wenige Benutzer erzielt werden. Im Zusammenhang mit der Kompatibilität sollten sich die Teams darüber im Klaren sein, wann zu wenige ihrer Kunden ein Gerät benutzen würden, als dass sich diese Prüfungen lohnen würden.
2. Cross-Browser-Kombinationen bevorzugen
Beim Cross-Browser-Kompatibilitätstest wird jeder Browser auf verschiedenen Betriebssystemen getestet. Die Tester müssen umfassende Analysen über ihr Publikum verwenden, um zu ermitteln, welches der beiden Produkte am beliebtesten ist, und dies als Richtschnur für ihre Vorgehensweise nutzen. Sie könnten sogar eine Browser-Kompatibilitätsmatrix entwickeln, die den Umfang dieser Prüfungen und ihre verschiedenen Konfigurationen festlegt.
3. Layout überprüfen
Die Sicherstellung einer konsistenten Erfahrung ist das Herzstück der Kompatibilitätstests, und diese Prüfungen müssen tiefer gehen als nur zu ermitteln, ob die Programmfunktionen auf verschiedenen Geräten funktionieren. Die Teams sollten auch das Gesamtlayout der Software, einschließlich der Ausrichtung von Formularen oder Tabellen, sowie die Integrität von CSS und HTML des Programms überprüfen.
4. APIs prüfen
Anwendungsprogrammierschnittstellen sind eine Kernkomponente der Art und Weise, wie Browser Anwendungen lesen, was sie für die browserübergreifenden Kompatibilitätstests eines Teams unerlässlich macht. Verschiedene Webbrowser haben ihre eigenen API-Aufrufe, deren Aktualisierungen im Laufe der Zeit die Kompatibilität beeinträchtigen können. Die Prüfer müssen diese regelmäßig überprüfen, auch wenn das Unternehmen für jedes Programm eine ähnliche API verwendet.
5. Prüfen Sie das SSL-Zertifikat
SSL-Zertifikate erhöhen die Sicherheit eines Browsers – sie verschlüsseln den Webverkehr und ermöglichen es den Nutzern, von HTTPS-Protokollen zu profitieren. Eine Website oder Webanwendung könnte ein Zertifikat haben, das mit bestimmten Browsern nicht kompatibel ist. Das bedeutet, dass die Prüfer das Zertifikat auf allen wichtigen Plattformen validieren sollten, um sicherzustellen, dass sich die Nutzer auf ihrer Website sicher fühlen.
6. Videoplayer validieren
Programme, die Videos anzeigen, wie z. B. Streaming-Dienste oder werbefinanzierte Freemium-Mobilspiele, sollten getestet werden, um sicherzustellen, dass diese Videos auf allen vorgesehenen Geräten angezeigt werden. Bei vielen Anwendungen werden diese Prüfungen sowohl für Desktop- als auch für Mobilgeräte durchgeführt und könnten die Qualität, die Geschwindigkeit und die Bildrate des Videos betreffen.
Die 5 besten Tools und Software für Kompatibilitätstests
Zu den effektivsten kostenlosen und kostenpflichtigen Tools für Kompatibilitätstests gehören:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST bietet sowohl in der Free- als auch in der Enterprise-Edition (kostenpflichtig) eine hervorragende Funktionalität, die Unternehmen jeder Größe (oder jedes Budgets) bei ihren Kompatibilitätsprüfungen unterstützt. Unternehmen, die sich für die Enterprise-Version von ZAPTEST entscheiden, können sogar eine Rendite erzielen, die bis zum 10-fachen ihrer ursprünglichen Investitionen beträgt. Die 1SCRIPT-Funktion der Lösung ist speziell auf die Bedürfnisse von Kompatibilitätstestern abgestimmt und ermöglicht es ihnen, exakt dieselben Tests auf mehreren Plattformen durchzuführen, ohne den Code entsprechend zu ändern. Fügen Sie modernste RPA-Funktionen ohne zusätzliche Kosten hinzu, und Sie erhalten eine Automatisierungslösung für jede Aufgabe aus einer Hand.
2. LambdaTest
LambdaTest verwendet einen Cloud-basierten Ansatz zur Bereitstellung von 3.000 automatisierten Geräten – allerdings mit einem deutlichen Schwerpunkt auf Webbrowsern, was die Effektivität dieser Lösung für bestimmte Programme einschränken könnte. Die Plattform ist auf kontinuierliche Tests spezialisiert und bindet den Qualitätssicherungsprozess enger in die Entwicklung ein. Bei den Prüfungen dieser Anwendung können die Benutzer auch ihre Auflösung einstellen, was die Prüfung der Kompatibilität zwischen verschiedenen Browsern erheblich erleichtert. Diese Lösung bietet ein Freemium-Modell, das allerdings nur begrenzte Tests ohne Upgrades und keine echten Geräte umfasst.
3. BrowserStack
Ähnlich wie LambdaTest bietet BrowserStack Zugang zu 3.000 realen Geräten; der Katalog umfasst auch Legacy- und Beta-Optionen für Browser. Obwohl es wahrscheinlicher ist, dass Menschen ihren Browser aktualisieren als ihr Betriebssystem, gibt es immer noch viele Menschen, die ältere Versionen verwenden – BrowserStack trägt dem Rechnung. Benutzer können auch Geolokalisierungstests durchführen, um zu sehen, wie Websites und Webanwendungen in verschiedenen Ländern aussehen. Es gibt jedoch keine kostenlosen oder Freemium-Optionen, und das Testen echter Geräte kann langsam sein.
4. TestGrid
TestGrid ermöglicht parallele Tests, so dass Teams mehrere Kombinationen gleichzeitig prüfen können, um den Prozess zu beschleunigen. Diese Lösung lässt sich auch gut in den Test- und Entwicklungs-Workflow integrieren und erleichtert möglicherweise einen agilen Ansatz, indem sie ein wichtiger Bestandteil der Sprints der Abteilung ist. Allerdings hat TestGrid manchmal Probleme mit der Verbindung zu Cloud-Geräten und -Browsern. Darüber hinaus ist das Programm in Bezug auf Lasttests, Dokumentation und das Hinzufügen neuer Geräte zur Einrichtung des Unternehmens recht begrenzt.
5. Browsera
Browsera testet hauptsächlich Websites, um sicherzustellen, dass sie auf verschiedenen Geräten, Browsern und Betriebssystemen richtig angezeigt werden. Da es sich um einen Cloud-basierten Ansatz handelt, müssen Qualitätssicherungs-Teams dieses virtuelle Testlabor nicht auf ihren Geräten installieren. Browsera kann auch Ausgaben vergleichen, um auf intelligente Weise Layout-Probleme und JavaScript-Fehler zu erkennen, die selbst einem menschlichen Tester entgehen könnten. Browsera unterstützt jedoch mehrere gängige Browser, darunter Opera, nicht und bietet kostenlos nur grundlegende Testfunktionen.
Schlussfolgerung
Kompatibilitätstests sind für eine erfolgreiche Qualitätssicherungsstrategie von entscheidender Bedeutung, da sie es den Teams ermöglichen, ihre Anwendungen auf einer Vielzahl von Geräten zu validieren. Ohne diese Technik sind sich Unternehmen möglicherweise nicht bewusst, dass ihre Software für einen Großteil ihrer Zielgruppe erst nach der Markteinführung funktionieren wird. Dies kostet viel Zeit und Geld im Vergleich zu Tests vor der Freigabe und Anwendungen wie ZAPTEST können diesen Prozess noch weiter rationalisieren. Mit 1SCRIPT und vielen anderen kostenlosen Funktionen, wie z. B. dem parallelen Testen, kann die Wahl von ZAPTEST als Testtool jedes Projekt verändern und den Teams volles Vertrauen in ihre Anwendung geben.