Тестирование верстки
Ныне чтобы протестировать верстку, нужно учесть ряд деталей. А самое главное не забыть о них. Чтобы этого не допустить составили чеклист тестирования верстки. Само тестирование разбито на несколько подэтапов.
Этап 1. Визуальная часть.
Тестируем в каком-то адекватном браузере (например, в Firefox).
- нет ли заметных глазу косяков: поломанные блоки, не состыковки цвета и т.п.;
- точность соответствия макета: делаем накладку в photoshop или используем pixel perfect;
- проверяем сетку (вертикальные/горизонтальные выравнивания). Часто это упускается в формах. Если сетка кривая, но верстка соответствует дизайну, это вопрос можно обсудить с дизайнером/заказчиком;
- проверяем в разных разрешениях:
- не должно ничего ломаться;
- не должна появляться горизонтальная прокрутка для оговоренных в ТЗ разрешениях;
- не должны резко обрываться фоны при больших разрешениях.
Можно переводить экран в разные разрешения или можно использовать инструменты тестирования (например, в Firefox Меню -> Инструменты -> Веб-разработка -> Адаптивный дизайн; - уменьшаем размер окна меньше минимального по ТЗ - не должно ничего ломаться, фоны не должны "плыть";
- проверяем масштабирование страницы. В разумных масштабах (мы ограничиваемся диапазоном 75-150%) страница должна выглядеть без визуальных косяков;
- ресайз textarea не должен ломать вёрстку;
- нормально ли подсвечиваются поля в фокусе;
- нормально ли подсвечиваются поля с ошибками.
Этап 2. Доступность.
Продолжаем в том же браузере.
- выделяется ли текст в текстовых блоках;
- кликаются ли кликабильные элементы (ссылки/кнопки);
- устанавливается ли фокус в поля форм;
- кликабильные элементы должны иметь указатель "курсор", перетаскивающиеся - "лапка" или "ресайз", активные/недоступные - курсор default;
- в идеале все активные элементы должны реагировать на наведение, не доступные/неактивные - не должны;
- клик по label должен переводить фокус в связанное поле;
- кликабильные элементы, назначение которых не очевидно должны быть снабжены подсказками (title);
- лого на главной ссылкой быть не должно, на всех внутренних должно;
- проверка печати страницы (если было в ТЗ).
Этап 3. Расширяемость.
Продолжаем в том же браузере.
- увеличиваем/уменьшаем к-во контента для блоков где это может произойти (текстовые блоки, меню, списки чего-либо и т.п.);
- вбиваем реальный контент с тегами в блоки, где такое может быть (проверка контента по шаблону);
Этап 4. Соответствие стандартам.
Для проверки надежней использовать валидаторы на W3C (HTML и CSS).
- HTML не должен содержать ошибок/предупреждений. В качестве исключений можно оставить обоснованные ошибки (например, target=_blank);
- в CSS обращаем внимание только на синтаксические ошибки;
- в CSS не должны присутствовать правила и хаки для IE (такие должны быть вынесены в отдельные стилевые файлы);
- микроразметка должна быть корректной (проверяем в Rich Snippets Testing Tool от Google и ). В Google должны срабатывать rich snippets (для поддерживаемых схем).
Этап 5. 404-е запросы.
Нет ли в верстке 404-х запросов (firebug).
Этап 6. Javascript.
- не содержит ли Javascript ошибок (firebug);
- работает ли Javascript функционал согласно ТЗ;
- не остались ли в коде console.log().
Этап 6. Код.
- кодировка должна совпадать с указанной в ТЗ;
- не должно остаться закомментированных участков в HTML, CSS, Javascript.
Этап 7. Кроссплатформенность/кроссбраузерность.
До этого этапа мы проверяли только в одном браузере на одной платформе. Т.к. перечень браузеров может быть достаточно большим, особенно с учетом разных платформ, проходить полный список в каждом из них особого смысла нет (бюджет и сроки проекта). Достаточно ограничится такими поверками:
- визуальная часть;
- доступность;
- функциональность.
Для линейки IE дополнительно:
- масштаб страницы;
- расширяемость;
- рамки у элементов в фокусе;
- не должно быть Javascript ошибок (левый нижний угол).
Для планшетников дополнительно:
- портретный/альбомный режимы;
- особое внимание доступности и функциональности.
Заметка
Это базовое тестирование, которое может быть расширено техническим заданием (например, тут не учтено удобство работы с клавиатуры, или тестирование с отключенными картинками и/или скриптами).