Strategien zum Testen von IE auf verschiedenen Plattformen

Sie glauben vielleicht, dass Webentwickler, die Windows als primäres Betriebssystem verwenden, es beim Testen von Internet Explorer einfach haben. Klicken Sie einfach auf das blaue "E" und gehen Sie in die Stadt. Das könnte wahr sein, wenn sie sich nur um die IE-Version auf ihrem PC kümmern müssten, aber wir alle wissen, dass dies nicht der Fall ist. Je nach den Anforderungen Ihres Projekts müssen Sie möglicherweise die Kompatibilität zwischen IE6 und IE10 sicherstellen, was sicherlich einige Herausforderungen mit sich bringt. Wie gehen wir damit um??

Wenn Sie unter Windows arbeiten, haben Sie definitiv ein Bein, weil Sie zumindest eine bestimmte Version des IE nativ testen können, aber es ist ein völlig anderes Spiel, wenn Sie sich auf einem Mac oder Linux-Rechner befinden.

Ich möchte die verschiedenen Möglichkeiten zum Testen von Internet Explorer auf gängigen Plattformen erkunden und Vorschläge geben, wie Sie die Reibung beim Testen für mehrere Versionen des Browsers verringern können.


Versionen, Versionen, Versionen…

Wir alle wissen, dass das Testen hart ist.

In Internet Explorer werden mehrere Versionen verwendet, die jeweils eigene Macken und Funktionsunterstützung haben. Es wäre zwar toll, wenn wir nur auf IE10 abzielen müssten, in Wirklichkeit haben viele Benutzer und Unternehmen ihre Browser oder Betriebssysteme einfach nicht aktualisiert. Dies bedeutet, dass Ihre Testmatrix je nach Aufbau bis zu fünf verschiedene IE-Versionen enthalten muss. Ich kann jetzt das Stöhnen hören.

Zum Glück haben IE9 und IE10 starke Unterstützung für Standards, und IE6 beginnt den Weg des Dodo-Vogels (wenn auch langsam) zu gehen. Tatsächlich haben viele Top-Sites die Unterstützung für IE6 und IE7 vollständig eingestellt - ein großer Schritt nach vorne, vor allem im Vergleich zu denen, in denen wir noch vor zwei Jahren waren. Mit der öffentlichen Behauptung von Microsoft, dass IE10 zu Windows 7 kommen wird, hoffe ich, dass IE10 + dazu beitragen wird, die Anzahl der unterstützten Versionen in naher Zukunft zu minimieren.

Trotzdem stellen diese Versionen immer noch ein Testproblem dar, da Sie nicht mehrere Versionen von Internet Explorer auf demselben PC ausführen können. Dies bedeutet, dass wir nach alternativen Lösungen suchen müssen, wie zum Beispiel:

  • Virtuelle Maschinen
  • Virtualisierte Browsersitzungen

Ich werde auf jeden einzelnen eingehen und mögliche Lösungen besprechen.


Mein erstes Goto-Tool zum Testen

Wenn ich eine Site in Internet Explorer testen muss, ist mein erstes Werkzeug das F12 Developer Tools in IE10. In das Toolset integriert ist die Möglichkeit, den Browser- und den Dokumentmodus zu wechseln, um IE7 bis IE10 zu emulieren.

Im Grunde gibt es eine umfassende Testabdeckung für die am häufigsten verwendeten Versionen von Internet Explorer in einem einzigen Browser. Es ist einfach, meinen Browsermodus auszuwählen, sodass ich mit der Unterstützung bestimmter Funktionen arbeiten kann und dann den Rendermodus für meine Seite auswählen kann.

Der Grund, warum ich sage, dass dies meine erste Testlinie ist, ist, dass ich dadurch viele häufig auftretende Probleme finden kann. Es ist ein hervorragendes Werkzeug zum Erkennen und interaktiven Testen von Problemen, z. B. fehlenden Herstellerpräfixen oder zum Rendern einer Seite in Macken anstelle von Standards. Und ich werde sagen, dass ich die umfangreichen Probleme gelöst habe und mir dabei geholfen habe, eine Reihe von Site-Problemen zu lösen, ohne eine virtuelle Maschine laden oder einen anderen PC verwenden zu müssen.

Es ist jedoch definitiv kein Ersatz für das Testen in einer aktuellen Version von Internet Explorer.

Das IE-Engineering-Team tut sein Bestes, um die Funktionalität des Port zu unterstützen, aber dies ist ein ziemlich großer Aufwand und nicht immer narrensicher. Um zuverlässige Tests zu ermöglichen, müssen Sie entweder mehrere PCs (physisch oder virtuell) mit unterschiedlichen Versionen von Windows / IE verwenden. Wenn Sie kein Geld in die Tasche stecken, denke ich, dass die VM-Route wahrscheinlich die beste Wahl ist.


Virtuelle Maschinen

Ich nutze virtuelle Maschinen sehr gerne, weil ich damit die Möglichkeit habe, nicht nur Browser, sondern auch verschiedene Betriebssysteme von meinem eigenen PC aus zu testen. So sehr ich auch gerne eine Menge Geräte zum Testen und Spielen hätte, denke ich, dass meine Frau vielleicht nicht glücklich sein wird, sobald die Stromrechnung eingeht. Ich hatte irgendwann VMs für jede größere Version von Windows und Ubuntu . Es wäre großartig, OSX ausführen zu können, aber ich verstehe, dass dabei technische und lizenztechnische Probleme bestehen.

Es gibt zwei Möglichkeiten, Windows zu Testzwecken in eine VM einzubinden. Die erste besteht darin, für jede zu testende Windows-Version eine Lizenz zu erwerben. Ich habe tatsächlich Kopien von Windows XP, Windows 7 und Windows 8 lizenziert, die ich für meine persönlichen Tests erworben habe. Die langfristigen Kosten waren gering, und ich hielt es für eine Investition als professioneller Webentwickler. So kann ich das Betriebssystem installieren und aktivieren, ohne sich um die berüchtigte Zeitbombe von Microsoft sorgen zu müssen. Ich kann alle Updates erhalten und es gibt mir im Grunde eine echte funktionierende Version von Windows.

Ich weiß, dass nicht jeder gleich denkt und nicht alle von Ihnen die Investition tätigen wollen.

Für diejenigen, die es etwas sparsamer sind, bietet Microsoft die VPC-Images für die Anwendungskompatibilität von Internet Explorer an, die eine vorinstallierte Version von Windows mit einer bestimmten Browserversion bereitstellt. Mit diesen Bildern können Sie nahezu unbegrenzt mit den Internet Explorer-Versionen 6 bis 9 arbeiten, jedoch mit erheblichen Einschränkungen. Folgendes fasst es zusammen:

Mein allererstes Werkzeug sind die F12 Developer Tools in IE10.

Sie können bis zu zwei "Wiederherstellungen" (Typ slmgr -rearm an der Eingabeaufforderung) aktivieren, wodurch die Testversion jedes Mal um weitere 30 Tage verlängert wird, oder einfach das VPC-Image herunterfahren und die Änderungen rückgängig machen, die Sie von den Rückgängig-Datenträgern vorgenommen haben Bild zurück in den Ausgangszustand. Wenn Sie eine dieser Methoden verwenden, können Sie technisch über ein Basisimage verfügen, das niemals abläuft, obwohl Sie Änderungen niemals länger als 90 Tage dauerhaft speichern können.

Sie sollten also in der Lage sein, alle VPC-Bilder auf unbestimmte Zeit zu verwenden. Nach 90 Tagen werden jedoch alle im Image gespeicherten Konfigurationseinstellungen gelöscht. Ich betrachte dies als einen kleinen Preis, den ich zahlen muss, um ein kostenloses Bild zum Testen zu haben. Ich weiß, dass ich, wenn ich sie verwendet habe, explizit den IE getestet habe, also nur minimale, wenn überhaupt, Konfigurationsänderungen verloren gingen. Das einzige Bild, das sich anders verhält, ist das WinXP / IE6-Bild. Es wird zu einem bestimmten Datum vollständig heruntergefahren. Zum jetzigen Zeitpunkt wäre dies der 14. Februar 2013, also geben Sie Ihrer besonderen Person zum Valentinstag kein Geschenk.

Wenn Sie Windows 7 verwenden, müssen Sie sich eine Kopie von Virtual PC besorgen, mit der Sie VMs erstellen und vorhandene virtuelle Festplatten ausführen können. Windows 8 Pro enthält den Hyper-V-Manager für virtuelle Maschinen. Sie ist standardmäßig nicht aktiviert. Sie müssen also "Systemsteuerung-> Programme-> Windows-Funktionen ein- oder ausschalten" wählen, um sie zu aktivieren:

Nach der Installation sollten Sie die von der Microsoft-Site heruntergeladenen VPC-Images ausführen können. Ich habe das WinXP / IE6-Image heruntergeladen. Es kommt in Form einer selbstextrahierenden .exe-Datei, die die .vhd-Datei ausgibt, die Sie verwenden können. Die .vhd-Datei ist Ihre virtuelle Festplatte.

Sie melden sich bei Virtual PC an und wählen "Virtuelle Maschine erstellen". Daraufhin erscheint ein Dialogfeld, in dem Sie die Dinge starten können:

Geben Sie als Nächstes an, wie viel Speicher Sie für die VM bereitstellen möchten, und wählen Sie vor allem aus, dass Sie eine vorhandene virtuelle Festplatte verwenden möchten, damit Sie die heruntergeladene VPC verwenden können:

Die VM wird nun erstellt und in Virtual PC angezeigt. Ein Doppelklick darauf startet die VM und gibt Ihnen Zugriff auf Windows XP. Sie werden aufgefordert, sie zu aktivieren, aber stornieren Sie einfach diese Anfrage:


OSX und Linux

Wenn Sie nicht unter Windows sind, können Sie die VPC-Images weiterhin verwenden, die Schritte werden jedoch etwas aufwendiger sein. Unter OSX verwende ich VMWare Fusion. Ich denke, es ist die beste VM-Software für diese Plattform, und sie bietet großartige Benutzerunterstützung. Ein Beispiel ist die Tatsache, dass sie über ein Tool namens VMWare vCenter Converter verfügen, mit dem Sie VM-Formattypen in eine kompatible Version mit VMWare-Produkten ändern können. Da die IE-VPC-Images nicht kompatibel sind, musste ich sie konvertieren, und vCenter Converter machte es unglaublich schmerzlos (obwohl es nur Windows ist). Die Schritte waren einfach. Ich habe die App installiert:

Nach der Installation habe ich es ausgeführt und den Konvertierungsprozess gestartet. Als Erstes musste ich die zu konvertierende Quelldatei angeben. Der Konverter hat "Windows XP.vmc" gefunden:

Als Nächstes habe ich das Ziel angegeben, an dem die VMWare-kompatiblen Dateien erstellt werden sollen:

Das Konvertieren des Microsoft VPC-Images dauerte drei Minuten. Ich kopierte diese Dateien auf einen USB-Stick und brachte sie auf meinen Mac. Ich habe VMWare Fusion gestartet und eine neue VM erstellt, die auf einem vorhandenen Image basiert, auf das gerade erstellte Image verweist und eine lokale Kopie des Images auf meiner Festplatte erstellt hat:

Ich wurde dann aufgefordert, auf das neueste Format zu aktualisieren. TUN SIE ES NICHT. In diesem Fall funktioniert Ihre VM nicht. Ich weiß nicht warum, aber ich erzähle Ihnen dies aus Erfahrung.

VMWare Fusion führt den Importvorgang durch und ermöglicht Ihnen dann die Konfiguration Ihrer VM-Einstellungen. Sie müssen Einstellungen wie Speicher- und Videooptionen an die Fähigkeiten Ihres Geräts anpassen. Ich lief dann die VM und wurde mit dem Windows XP-Login vorgestellt.

Beim Anmelden wurde ich von der Standardbarriere neuer Hardware-Nachrichten begrüßt. Ignorieren Sie diese einfach zusammen mit der Aktivierungsaufforderung, und Sie sollten das Betriebssystem verwenden können:


Was ist mit Parallels und VirtualBox??

Sowohl Parallels als auch VirtualBox sind ausgezeichnete VM-Lösungen. Bei VirtualBox handelt es sich insbesondere um Open Source-Software, die unter einer GPL-Lizenz erhältlich ist. Ich habe keine Parallels verwendet, also habe ich keine Schritte, denen ich folgen kann, die ich gut empfehle. Wenn Sie jedoch VirtualBox verwenden, hat Jon Thorton eine großartige Arbeit geleistet, indem Sie Schritt für Schritt erklären, wie Sie die VPC-Images mit VirtualBox verwenden. Es ist ein bisschen involviert, aber es funktioniert. Ich habe auch gehört, dass viele Entwickler von den ievms-Skripts schwärmen. Damit können Sie die VPC-Images herunterladen und in ein Format konvertieren, das von VirtualBox akzeptiert wird. Der Prozess ist ziemlich automatisiert und scheint eine bessere Alternative zu sein.


BrowserStack.com

Die neueste Methode, die ich mit viel Erregung empfohlen habe, ist ein Browser-basierter Dienst namens BrowserStack. Sie können Ihre Website mithilfe von virtuellen Browsersitzungen testen - alles in Ihrem bevorzugten Browser. Es verwendet Flash, um die virtualisierte Sitzung bereitzustellen, und Sie können aus einer beliebigen Anzahl von Betriebssystem- und Browserversionen auswählen. Wenn ich zum Beispiel verschiedene Browser in Windows XP testen wollte, ist es genauso einfach, dieses Betriebssystem auszuwählen und den Zielbrowser auszuwählen:

Der Schlüssel ist, dass es sich nicht um einen Screenshot Ihrer Website handelt. Es ist ein voll funktionsfähiger Browser, mit dem Sie interagieren können.

Wenn Sie im Bild feststellen, habe ich auf das Dropdown-Menü für die Registerkarte "Sicherheit" geklickt. Im folgenden Bild verwende ich die Internet Explorer F12-Entwicklertools zum Debuggen.

Dies ist ein sehr leistungsfähiges System, weil:

  • Der Service ist günstig (20 $ / Monat)
  • Lassen Sie uns alle wichtigen Versionen jedes Browsers auf jedem größeren Betriebssystem testen
  • Lassen Sie uns verschiedene Bildschirmgrößen angeben
  • Stellt Tunnelunterstützung für lokale Tests bereit

Der letzte Punkt ist wichtig, da Ihr Entwicklungscode normalerweise nicht auf einem öffentlich zugänglichen Webserver abgelegt wird (es sei denn, Sie sind natürlich ein Programmiercowboy und dev === Produktion). Das lokale Tunneln verwendet Java, um die Verbindung herzustellen, und die Einrichtung ist sehr einfach. Das Team von BrowserStack hat gute Arbeit geleistet, um zu erklären, wie man die Dinge einrichten kann.

In diesem Artikel geht es um das Testen von IE. Was ich an BrowserStack sehr schätze, ist die Breite der Browser- und Betriebssystemunterstützung, die sie anbieten, bis hin zu den Entwicklertools. Auch wenn die Browser virtualisiert sind, bedeutet dies nicht, dass sie keine entsprechenden Entwicklertools enthalten.


Testen ist schwer

Die neueste Methode, die ich empfohlen habe, ist ein Browser-basierter Dienst namens BrowserStack.

Wir alle wissen, dass das Testen schwierig ist, und wenn Sie sich um mehrere Versionen des IE kümmern müssen, wird es schwieriger. Es wäre großartig, wenn wir an einen Punkt gelangen würden, an dem wir uns ausschließlich auf die neueste Version von IE konzentrieren können. Derzeit neigen Kunden- und Projektanforderungen dazu, zu bestimmen, welche IE-Versionen wir unterstützen müssen. Zum Glück haben wir Lösungen, mit denen wir zu minimalen Kosten und in einigen Fällen wie BrowserStack testen können, ohne dass dies Auswirkungen auf die Hardware hat.

IE zu testen ist wichtig. Es ist einer der am weitesten verbreiteten Browser der Welt und die neuesten Versionen bieten hervorragende Unterstützung für stabile Standards. Aber OldIE ist immer noch da draußen und es ist wichtig, sicherzustellen, dass die Benutzer eine großartige Erfahrung haben.

Ich hoffe, dass Ihnen die von mir vorgestellten Optionen helfen. Für mich verwende ich BrowserStack für die Fälle, in denen ich in die Vergangenheit zurückkehren muss.