Die Veranstaltung „Test the Web Forward“
Nach wie vor gibt es beträchtliche Unterschiede bei Qualität und Fehlerquote der HTML5-Module in verschiedenen Browsern. Wir beteiligen uns weiterhin an der Entwicklung der Testsuites des W3C. Das Ziel der Interoperabilität von Webplattformen und der einheitlichen Umsetzung von Markup rückt also näher. Insgesamt haben wir 7573 neue Tests eingereicht, die Sie im IE Test Center einsehen können. Sobald in allen Browser die einheitliche Umsetzung desselben Markups verbessert wird, lässt sich das Versprechen von HTML5 einlösen.
Der Titel dieses Beitrags bezieht sich auf die Wochenendveranstaltung von Adobe am 15. und 16. Juni in San Francisco. Dutzende Freiwillige trafen mit Experten des W3C und Mitarbeitern von Adobe, Google, Mozilla, Apple, HP und Microsoft zusammen, um mehr über das Testen von Webstandards, das Erstellen von CSS- und SVG-Tests, die ordnungsgemäße Dokumentation von Fehlern sowie die verfügbaren Tools für die Verwaltung von Testsuites zu erfahren.
Das Treffen wurde – auch dank der kostenlosen Versorgung – ein richtiger „Test-Hack-a-thon“. Die Freiwilligen verbrachten den größten Teils des Samstags mit dem Erstellen neuer Testfälle für das CSS-Objektmodell, Transformationen, Hintergründe und Ränder, Ausschlüsse, SVG und weitere Module. Anschließend wurden die Teilnehmer für mehrere Preise nominiert.
Testen von Webstandards
Alan Stearns von Adobe erläuterte den Teilnehmern die allgemeinen Grundlagen der W3C-Testverfahren sowie die Rolle von Tests bei der Weiterentwicklung von Spezifikationen. Hierbei ist besonders hervorzuheben, dass die Etablierung einer browserspezifischen Erfolgsquote für eine bestimmte Spezifikation nicht Ziel der W3C-Testsuites ist. Um eine Spezifikation in eine Empfehlung des W3C zu überführen, muss die Arbeitsgruppe beweisen, dass sich die Spezifikation implementieren lässt. In der Praxis bedeutet dies:
- Erstellen eines Testfalls für jede Anforderung der Spezifikation (diese werden als normative Aussagen bezeichnet)
- Sicherstellen, dass mindestens zwei unabhängige Implementierungen jeden Test bestehen
Beachten Sie den Unterschied zwischen den Aussagen „mindestens zwei Browser müssen die gesamte Testsuite bestehen“ und „mindestens zwei Browser müssen alle Tests in der Testsuite bestehen“. Browsertester bezeichnen diese Phase in der Regel als Spezifikationstest.
Ein wichtiger Nebeneffekt dieses Testverfahrens ist jedoch, eine gemeinsame interoperable Grundlage zu schaffen, die für alle Browser genutzt und getestet werden kann. Testsuites dienen dazu, Fehler in sämtlichen Browsern aufzuspüren, und können auch dazu beitragen, Probleme mit einer Spezifikation zu ermitteln.
Erstellen von CSS- und SVG-Tests
Es gibt drei unterschiedliche Arten von Tests:
- Einzeltests erfolgen in der Regel anhand einer visuellen Überprüfung: Wenn ein Fehler auftritt, werden Inhalte in Rot dargestellt.
- Bei Referenztests wird ein Test mit einer visuellen Referenz abgeglichen, die nicht von der getesteten Funktion abhängig ist. Beachten Sie, dass der Test einen Link zu der Referenz enthält, mit der der Abgleich erfolgt.
- Bei CSS-Objektmodelltests wird eine JavaScript-Testumgebung verwendet. Bei diesen Tests wird überprüft, ob das Objektmodell den Angaben statischer Stylesheets entsprechen. Ein Beispiel hierfür ist dieser CSS-Medienabfragetest.
Doug Schepers vom W3C behandelte das Testen von SVG, während Rebecca Hauck und Jacob Goldstein von Adobe ein Tutorial zum Erstellen von Tests vorstellten. Peter Linss, der stellvertretende Vorsitzende der CSS-Arbeitsgruppe, lieferte einen umfassenden Einblick in das Framework zum Testen von CSS, einschließlich des Systems zum Erstellen von Testsuites sowie Verwaltungstools wie Shepherd.
Ordnungsgemäße Dokumentation von Fehlern
Elika Etemad von Mozilla beriet die Teilnehmer in Hinsicht auf die Merkmale von nützlichen Browserfehlerberichten:
- Das Problem ist spezifisch und reproduzierbar.
- Build und Plattform werden angegeben.
- Es wurde auf Duplikate geprüft.
- Der Bericht enthält Schritte, mit denen sich das Problem reproduzieren lässt.
- Die erwarteten und tatsächlichen Ergebnisse werden beschrieben.
- Wenn möglich, wurde der Fehler freigestellt, d h. sämtliches HTML, JavaScript und CSS, das zur Reproduktion des Problems nicht erforderlich ist, wurde von der Problemseite entfernt und nur der übrige Code bildet die Anlage zum Fehler.
Erstellen einer Testsuite
Das Erstellen einer Testsuite stellt einen erheblichen Aufwand dar. Einer der Gründe, weshalb es so lange gedauert hat, bis CSS2.1 den Status einer Empfehlung erhielt, war die Größe der Spezifikation und die zugrunde liegende Anzahl der zu testenden Anforderungen. Die aktuelle Version der Testsuite enthält 9.422 Tests.
Microsoft hat mehr als 7.000 dieser Tests bereitgestellt. Derzeit stellen wir weitere Tests für andere Standardspezifikationen zur Verfügung.
IE10 unterstützt zahlreiche neuer Standardfunktionen in CSS, HTML, SVG und dem DOM. Einige der Testfälle für diese neuen Funktionen haben wir im IE Test Center veröffentlicht. Weitere werden folgen, insbesondere zu den Funktionen, die in der IE10 Release Preview seit neuestem ohne Präfix umgesetzt werden.
So können Sie einen Beitrag leisten
Wir freuen uns, Teil der Community zu sein, die Webstandards bereitstellt. Auch Sie können einen Beitrag zur Weiterentwicklung des Webs und der Interoperabilität leisten. Informieren Sie sich darüber, wie Sie Tests einreichen oder vorhandene Tests auswerten können. Weitere Informationen finden Sie außerdem im Wiki der CSS-Arbeitsgruppe sowie auf der Seite zur Veranstaltung.
Wir informieren Sie selbstverständlich über künftige Veranstaltungen.
– Sylvain Galineau, Program Manager, Internet Explorer und
– John Jansen, Test Lead, Internet Explorer