Конференция Test the Web Forward (Тестирование для развития Интернета)
Качество и аккуратность работы модулей обработки HTML5 в разных браузерах различны. С целью обеспечения взаимозаменяемости и единообразия разметки мы продолжаем участвовать в создании наборов тестов, которые разрабатываются в W3C. Мы отправили в сумме 7573 теста, которые также доступны в центре тестирования Internet Explorer. Поскольку поддержка единообразной разметки улучшается в разных браузерах для получения одинаковых результатов, все мы осознаем перспективы HTML5.
Название этой статьи связано с конференцией, проводившейся компанией Adobe в пятницу 15 и субботу 16 июня в офисе компании в Сан-Франциско. Десятки добровольцев присоединились к экспертам W3C и сотрудникам компаний Adobe, Google, Mozilla, Apple, HP и Майкрософт, чтобы узнать о тестировании веб-стандартов, способах написания тестов CSS и SVG, способах регистрации ошибок, а также о доступных средствах управления наборами тестов.
Затем конференция превратилась в хакатон, участники которого подкрепляли силы бесплатными едой и напитками в течение дня. Добровольцы провели почти всю субботу за написанием новых тестовых случаев для CSS OM, преобразований, фоновых рисунков и границ, исключений, SVG и других модулей. Затем участники были номинированы на получение наград в нескольких категориях.
Тестирование веб-стандартов
Алан Стирнс (Alan Stearns) из компании Adobe ознакомил участников с основными принципами тестирования веб-стандартов W3C и ролью тестирования в продвижении спецификаций. В частности, наборы тестов разрабатываются консорциумом W3C не для того, чтобы установить индивидуальные показатели для браузеров в отношении некоторой спецификации. Чтобы спецификация получила статус рекомендации W3C, рабочая группа должна доказать, что эта спецификация может быть реализована. На практике это означает следующее:
- Создание тестового случая для каждого требования спецификации (они называются нормативными инструкциями)
- Проверка того, что по меньшей мере две отдельные реализации проходят каждый тест
Обратите внимание на отличие между требованиями "по меньшей мере два браузера должны пройти весь набор тестов" и "по меньшей мере два браузера должны пройти каждый тест из набора тестов". Тест-инженеры браузеров обычно описывают этот этап как "тестирование спецификации".
Однако важным побочным эффектом этого процесса тестирования является формирование общего базового уровня взаимодействия, на который можно опираться при разработке и тестировании всех браузеров. Наборы тестов помогают найти ошибки во всех браузерах и иногда позволяют обнаружить проблемы в спецификации.
Написание тестов CSS и SVG
Существует три различных вида тестов:
- Автономные тесты обычно связаны с визуальной проверкой: если возникает состояние сбоя, отображается контент красного цвета.
- Эталонные тесты сравнивают тест с визуальным эталоном, который не зависит от тестируемого компонента. Обратите внимание, что этот тест содержит ссылку на эталонный тест, с которым он сравнивается.
- Тесты объектной модели CSS зависят от окружения теста JavaScript; они проверяют, что объектная модель отражает то, что задается статическими таблицами стилей. Например, просмотрите этот тест запроса носителя CSS.
Дуг Шеперс (Doug Schepers) из W3C рассказал о тестировании SVG, а Ребекка Хоук (Rebecca Hauck) и Джейкоб Голдстейн (Jacob Goldstein) из Adobe представили руководство по написанию тестов. Питер Линс (Peter Linss), сопредседатель рабочей группы по CSS, подробно рассказал о среде тестирования CSS, в том числе о системе создания наборов тестов и средствах управления, таких как Shepherd.
Регистрация ошибок
Затем Элика Этемад (Elika Etemad) из компании Mozilla посоветовала участникам, каким должен быть правильный отчет об ошибках в браузере:
- Проблема является специфической и воспроизводимой
- Определены построение и платформа
- Выполнен поиск повторений
- Отчет содержит описание действий для воспроизведения проблемы
- Описаны ожидаемые и фактические результаты
- Проблема по возможности редуцирована, то есть весь код HTML, JavaScript и CSS, не требующийся для воспроизведения данной проблемы, удален со страницы проблемы, а оставшийся код приложен к описанию ошибки.
Создание набора тестов
Создание набора тестов требует значительных инвестиций. Одной из причин, по которой потребовалось много времени для перехода спецификации CSS2.1 на стадию рекомендации, был размер спецификации и количество требований, которые следовало протестировать. Новейшая версия соответствующего набора тестов содержит 9422 теста.
В корпорации Майкрософт было создано более 7000 тестов, и мы продолжаем создавать тесты для других спецификаций стандартов.
В Internet Explorer 10 мы добавили поддержку длинного списка новых компонентов стандартов для CSS, HTML, SVG и модели DOM. Мы опубликовали несколько наших тестовых случаев для этих новых компонентов в центре тестирования Internet Explorer. Мы будем отправлять новые тестовые случаи, связанные, в частности, с теми компонентами, которые недавно стали поддерживаться в Internet Explorer 10 Release Preview в беспрефиксной форме.
Вы можете помочь нам
Мы рады быть частью сообщества, стремящегося к созданию Интернета с более высоким уровнем взаимодействия. Если вы хотите помочь развитию Интернета, то можете также внести вклад в повышение уровня взаимодействия. Вы можете узнать, как создавать тесты, или просмотреть имеющиеся тесты. Дополнительную информацию можно найти на вики-сайте рабочей группы по CSS, а также на странице конференции.
Мы будем держать вас в курсе событий.
— Сильвен Галино (Sylvain Galineau), руководитель программы, Internet Explorer и
—Джон Дженсен (John Jansen), ведущий тест-инженер, Internet Explorer