грязная посуда

ГЛЕБ ДЕЙКАЛО

Спецвыпуск: Хакер, номер #073, стр. 073-020-1

(GLEB_DEYKALO@MAIL.RU)

БАГ ТЕСТИНГ

ПРИНЦИПЫ РАБОТЫ РАЗЛИЧНЫХ СТУДИЙ ВЕБ-ДИЗАЙНА МОГУТ КАРДИНАЛЬНО ОТЛИЧАТЬСЯ. ОТЛИЧАЮТСЯ ПРИОРИТЕТЫ, ОТЛИЧАЮТСЯ ПОДХОДЫ. НО ВСЕ СВОДИТСЯ К ОДНОМУ: БАГИ ЕСТЬ У ВСЕХ И С НИМИ НУЖНО БОРОТЬСЯ

«ТЕСТИРОВЩИК – ЭТО ПОСЛЕДНЯЯ ИНСТАНЦИЯ.

ЕСЛИ ТЫ НЕ НАЙДЕШЬ БАГ,

ТО ЕГО УЖЕ НИКТО НЕ НАЙДЕТ», -

ПЕРВОЕ НАСТАВЛЕНИЕ ТЕХНИЧЕСКОГО ДИРЕКТОРА

терминология

1 WEB-СИСТЕМА – СОВОКУПНОСТЬ ДВУХ ОСНОВНЫХ ЧАСТЕЙ ЛЮБОГО СЕРЬЕЗНОГО САЙТА: «FRONT» (ТА ЧАСТЬ САЙТА, КОТОРУЮ ВИДИТ РЯДОВОЙ ПОЛЬЗОВАТЕЛЬ) И CMS (CONTENT MANAGEMENT SYSTEM – СИСТЕМА УПРАВЛЕНИЯ КОНТЕНТОМ, ТО ЕСТЬ АДМИНСКАЯ ЧАСТЬ, КОТОРАЯ УПРАВЛЯЕТ ВСЕМ, ЧТО ВЫВОДИТСЯ ВО «FRONT»). ИНЫМИ СЛОВАМИ, WEB-СИСТЕМА – ЭТО ДВЕ ПРОГРАММЫ, ОДНА ИЗ КОТОРЫХ СОЗДАЕТ ДАННЫЕ (CMS), А ДРУГАЯ ВЫВОДИТ ИХ В СВЕТ («FRONT»).

2 ТЗ (ТЕХНИЧЕСКОЕ ЗАДАНИЕ) – ОСНОВНОЙ ДОКУМЕНТ, ОПИСЫВАЮЩИЙ, КАК ДОЛЖНА РАБОТАТЬ WEB-СИСТЕМА С ТОЧНОСТЬЮ ДО КАЖДОЙ ЗАПЯТОЙ, ДО КАЖДОЙ БУКВЫ.

3 КОНТЕНТ – СОДЕРЖИМОЕ СТРАНИЦ САЙТА (НОВОСТИ, БАННЕРЫ, ТЕКСТЫ СТРАНИЦ И ТОМУ ПОДОБНОЕ). КОНТЕНТ БЫВАЕТ СТАТИЧЕСКИМ (НАПРИМЕР, НАДПИСЬ ВНИЗУ СТРАНИЦЫ «MADE IN DEFA GRUPPE») И ДИНАМИЧЕСКИМ (НАПРИМЕР, НОВОСТИ). СТАТИЧЕСКИЙ КОНТЕНТ ЗАДАЕТСЯ НА ЭТАПЕ РАЗРАБОТКИ САЙТА И БОЛЬШЕ НЕ МЕНЯЕТСЯ, А ДИНАМИЧЕСКИМ КОНТЕНТОМ МОЖНО УПРАВЛЯТЬ ИЗ CMS.

4 СУЩНОСТЬ – ЕДИНИЦА ИЗМЕРЕНИЯ КОНТЕНТА (ОДНА НОВОСТЬ, ОДИН БАННЕР...).

5 СТАНДАРТЫ КАЧЕСТВА (ИЛИ ПРОСТО «СТАНДАРТЫ») – НАБОР ПРАВИЛ, КОТОРЫМ ДОЛЖНА СООТВЕТСТВОВАТЬ WEB-СИСТЕМА. НАПРИМЕР, TITLE СТРАНИЦЫ (ЗАГОЛОВОК, КОТОРЫЙ ОТОБРАЖАЕТСЯ БРАУЗЕРОМ) ДОЛЖЕН ИМЕТЬ ВИД: «НАЗВАНИЕ САЙТА :: НАЗВАНИЕ РАЗДЕЛА :: НАЗВАНИЕ ПОДРАЗДЕЛА».

6 ДИЗАЙН-МАКЕТЫ – МАКЕТЫ САЙТА, «ОТРИСОВАННЫЕ» ДИЗАЙНЕРАМИ. ОБЫЧНО ПРЕДСТАВЛЯЮТ СОБОЙ PSD-ФАЙЛЫ[А1], КОТОРЫМИ ПОЛЬЗУЮТСЯ ВЕРСТАЛЬЩИКИ. ПО СУТИ, ДИЗАЙН-МАКЕТ – ЭТО «ФОТОГРАФИЯ» БУДУЩЕГО САЙТА, ЕСТЕСТВЕННО, БЕЗ КАКОЙ-ЛИБО ФУНКЦИОНАЛЬНОСТИ.

7 БАГ – ЭТО БАГ. ОЧЕНЬ ЕМКИЙ И, В ТОЖЕ ВРЕМЯ, ОЧЕНЬ РАСПЛЫВЧАТЫЙ ТЕРМИН. В СФЕРЕ WEB-РАЗРАБОТЧИКОВ ПОПУЛЯРЕН ТАКОЙ АФОРИЗМ: «БАГ – ЭТО НЕДОКУМЕНТИРОВАННАЯ ВОЗМОЖНОСТЬ WEB-СИСТЕМЫ». БАГОМ ЯВЛЯЕТСЯ КАК ОШИБКА PHP, КОТОРАЯ НЕ ПОЗВОЛЯЕТ ЗАГРУЗИТЬСЯ СТРАНИЦЕ, ТАК И ОТОБРАЖЕНИЕ СПИСКА НОВОСТЕЙ НА СТРАНИЦЕ «НОВОСТИ» (ЕСЛИ, НАПРИМЕР, ПО ТЗ ИХ ТАМ НЕ ДОЛЖНО БЫТЬ). ОБОБЩЕННО И УПРОЩЕННО, БАГ – ЭТО НЕСООТВЕТСТВИЕ РЕАЛЬНОЙ РАБОТЫ WEB-СИСТЕМЫ (ИЛИ ЕЕ ОТОБРАЖЕНИЯ) ТОМУ, ЧТО ОПИСАНО В ТЗ, ВНУТРИКОРПОРАТИВНЫХ «СТАНДАРТАХ КАЧЕСТВА», ДИЗАЙН-МАКЕТАХ ИЛИ ПРОТИВОРЕЧИТ ЗДРАВОМУ СМЫСЛУ.

И вот web-система готова. Тестировщик приступает к поиску багов. Тестирование сайта можно разбить на три этапа: тестирование на соответствие ТЗ и Стандартам, тестирование верстки и попытки поломать web-систему.

[тестирование на соответствие ТЗ и Стандартам.]

Это основной этап тестирования. Первая проблема, которая встает перед тестировщиком – разобраться в ТЗ. Вот фрагмент ТЗ, описывающий календарь событий на сайте www.5chka.com (сайт сети магазинов «Пятерочка»):

«Сущности «Событие» на сайте соответствует подраздел «IR Events Calendar» в разделе «Investor Relations». Его индексная страница является списочной, на ней размещаются: календарь событий на текущий месяц и список кратких описаний событий.

Содержание  Вперед на стр. 073-020-2
ttfb: 19.995927810669 ms