SlideShare ist ein Scribd-Unternehmen logo
1 von 41
И спользование Встроенных или Подключаемых Средств Браузеров для Тестирования  Web  Приложений ,[object Object]
Основные понятия ,[object Object],[object Object],[object Object]
Особенности с овременны х   Web приложени й ,[object Object],[object Object],[object Object],[object Object],[object Object]
Классы браузеров ,[object Object],[object Object],[object Object],[object Object]
Распределение браузеров  в сети Источник: WikiPedia
Как тестировать такие приложения? ,[object Object],[object Object],[object Object],[object Object]
Основные цели использования инструментов ,[object Object],[object Object],[object Object],[object Object],[object Object]
Основные  средства ,[object Object],[object Object],[object Object],[object Object],[object Object]
Сравнение возможностей современных браузеров   (комплект после установки) Консоль ошибок Отладчик Статистика ресурсов Просмотр  DOM  модели Профилирование Аудит Валидация Локальные ресурсы Браузер  Firefox  исторически имеет все основные инструменты в виде подключаемых модулей Browser Возможности Internet Explorer 8.0 Opera WebKit browsers FireFox
Сравнение возможностей современных браузеров ( c  установленными  plug-ins ) Консоль ошибок Отладчик Статистика ресурсов Просмотр  DOM  модели Профилирование Аудит Валидация Локальные ресурсы Browser Возможности Internet Explorer 8.0 Opera WebKit browsers FireFox
Основные  средства ,[object Object]
Консоль ошибок и отладчик Консоль ошибок Точка останова Стек и переменные
Основные  средства ,[object Object]
Статистика запросов Общее время запроса Время ожидания ответа Время ответа
Сводка ресурсов Ресурсы страниц Локальные ресурсы Базы данных
DOM viewer DOM элементы, редактор CSS
Основные  средства ,[object Object]
Профилирование
Профилирование-2
Основные  средства ,[object Object]
Аудит
Основные  средства ,[object Object]
Валидация
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Рекомендуемые инструменты
Пример
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Начальные данные
[object Object],Задача
Сбита разметка страницы При анализе ресурсов, выяснилось, что изображение, необходимое для разметки страницы, не найдено .
Долгая обработка запросов При анализе ресурсов, выяснилось, что время ответа сервера составляет 10 секунд. Проблема  -  на серверной стороне .
Нажатия на кнопки не работают При запуске отладчика ,  в консоли были обнаружены фатальные ошибки.
Страница не завершает загрузку Обнаружены постоянные длительные  XHR  запросы, которые в определенный момент времени приводят к ошибке на сервере.
Медленное отображение Интерпретатор  JavaScript  постоянно работал. Отрисовка также занимала чрезмерное время. Требуется доп. исследование  DOM  модели Выявлено, что потребление памяти на страницу около 20 Mb.  Необходимо сравнить эту цифру с другими страницами.
Неверный стиль элементов При помощи инструмента «лупа» был найден файл  CSS  элемента. Размер шрифта явно больше чем ожидаемого.
Локальные данные В  Cookie Credentials  записана пара «пользователь- пароль». Это небезопасно.
Вопросы
Основные средства в браузере  FireFox (Firebug)
Консоль ошибок
Отладчик
Просмотр  DOM  модели
Статистика ресурсов
Заголовки  HTTP

Weitere ähnliche Inhalte

Was ist angesagt?

Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 
Разработка ПО в распределенной команде
Разработка ПО в распределенной командеРазработка ПО в распределенной команде
Разработка ПО в распределенной командеEvgeny Savitsky
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестированииISsoft
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложенийZestranec
 
Автоматизированное тестирование клиентской производительности
Автоматизированное тестирование клиентской производительностиАвтоматизированное тестирование клиентской производительности
Автоматизированное тестирование клиентской производительностиSQALab
 
А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!SQALab
 

Was ist angesagt? (9)

Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
REST
RESTREST
REST
 
Разработка ПО в распределенной команде
Разработка ПО в распределенной командеРазработка ПО в распределенной команде
Разработка ПО в распределенной команде
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестировании
 
тестирование защищенности веб приложений
тестирование защищенности веб приложенийтестирование защищенности веб приложений
тестирование защищенности веб приложений
 
Автоматизированное тестирование клиентской производительности
Автоматизированное тестирование клиентской производительностиАвтоматизированное тестирование клиентской производительности
Автоматизированное тестирование клиентской производительности
 
Jsfwdays 2013-2
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2
 
А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!
 

Ähnlich wie Использование встроенных или подключаемых средств браузеров для тестирования web приложений

Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Ontico
 
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"ITGinGer
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийYaroslav Tkachenko
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakAmasty
 
Developer tools - подробное руководство разработчика
Developer tools - подробное руководство разработчикаDeveloper tools - подробное руководство разработчика
Developer tools - подробное руководство разработчикаAleksandr Boichenko
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesArtur Baranok
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Изоморфный JavaScript — будущее уже здесь
Изоморфный JavaScript — будущее уже здесьИзоморфный JavaScript — будущее уже здесь
Изоморфный JavaScript — будущее уже здесьCodeFest
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииYevhen Kotelnytskyi
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxssyaevents
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.Igor Shkulipa
 
Проектирование пользовательских интерфейсов в компании EPAM Systems
Проектирование пользовательских интерфейсов в компании EPAM SystemsПроектирование пользовательских интерфейсов в компании EPAM Systems
Проектирование пользовательских интерфейсов в компании EPAM SystemsSQALab
 
Введение во фронтенд-разработку
Введение во фронтенд-разработкуВведение во фронтенд-разработку
Введение во фронтенд-разработкуDenis Latushkin
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RUcDima
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureAlexander Feschenko
 

Ähnlich wie Использование встроенных или подключаемых средств браузеров для тестирования web приложений (20)

Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
 
MS TFS 2010 - Обзор и архитектура
MS TFS 2010 - Обзор и архитектураMS TFS 2010 - Обзор и архитектура
MS TFS 2010 - Обзор и архитектура
 
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"
MPD2011 | Олег Донцов "Введение в разработку bada Flash & Web приложений"
 
Быстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложений
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
Developer tools - подробное руководство разработчика
Developer tools - подробное руководство разработчикаDeveloper tools - подробное руководство разработчика
Developer tools - подробное руководство разработчика
 
Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Изоморфный JavaScript — будущее уже здесь
Изоморфный JavaScript — будущее уже здесьИзоморфный JavaScript — будущее уже здесь
Изоморфный JavaScript — будущее уже здесь
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
C# Web. Занятие 01.
C# Web. Занятие 01.C# Web. Занятие 01.
C# Web. Занятие 01.
 
Проектирование пользовательских интерфейсов в компании EPAM Systems
Проектирование пользовательских интерфейсов в компании EPAM SystemsПроектирование пользовательских интерфейсов в компании EPAM Systems
Проектирование пользовательских интерфейсов в компании EPAM Systems
 
Введение во фронтенд-разработку
Введение во фронтенд-разработкуВведение во фронтенд-разработку
Введение во фронтенд-разработку
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RU
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows Azure
 

Mehr von SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Использование встроенных или подключаемых средств браузеров для тестирования web приложений

Hinweis der Redaktion

  1. Проблема тестирования Web приложений актуальна, практически, для всех современных многомодульных и многофункциональных программных комплексов. Учитывая, что подавляющее большинство современных программ, включает в себя Web компоненты, встает задача изучения средств, позволяющих не только тестировать HTML / Java Script код в различных браузерах, но и измерять многочисленные дополнительные параметры, влияющие на восприятие пользователя при работе с системой. Современный инженер по качеству или специалист поддержки просто обязан иметь у себя в активе ряд специализированных инструментов и средств для параметрической оценки производительности, скорости отклика и т.д. распределенной системы. На практике мы имеем довольно обширный инструментарий, который невозможно реализовать при помощи единственного браузера или модуля, расширяющего его возможности.
  2. AJAX / XHR запросы – web 2.0 технология, которая позволяет после загрузки страницы путем использования Java скриптов организовывать дополнительные запросы к серверу без перезагрузки (!) страницы. Чаще всего, такие скрипты добавляют или заменяют часть текущей страницы. DOM (Document Object Module ) – система вложенных сущностей, с помощью которой можно представить весь HTML документ. С понятием DOM модели связано понятие CSS (Cascading Style Sheet ) – каскадная таблица стилей, указывает (отделяет) стили элементов от самих элементов. CSS загружается браузером отдельно и прикладывается к элементам страницы, CSS описывает форматирование элементов страницы. По сути, способ описания элементов, «текст», сформированный по определенным правилам. Обрабатывается непосредственно самим браузером. Пример: «Все текстовые поля содержат шрифт 30»
  3. 1) Сложные Java скрипты – скрипты, которые завязаны друг на друге, содержат компрессию, обфускацию и т.д. Обфускация - приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции . Это приводит к уменьшению размеров файлов. 2) Большое количество кода – скрипты, HTML разметка 3) Многочисленные AJAX запросы 4) Сложная структура модели DOM 5) К сожалению, в современном мире степень поддержки браузерами стандартов w3c сильно разнятся. Поэтому возникает необходимость поддержки нескольких браузеров.
  4. 1) Firefox и производные (движок Ge cko) – прародитель N et scape Navigator 2) IE – пр а родитель программы Mosaic 3) WebKit (представители Safari , Chrome и прочие, включая некоторые мобильные) – прародитель KHTML 4) Семейство браузеров Opera В докладе мы не рассматриваем мобильные браузеры, не входящие в семейство WebKit, т.к. они почти не содержат интересующие нас средства. W3C ( World Wide Web Consortium ) разрабатывает для Интернета единые принципы и стандарты (называемые «рекомендациями», англ.   W 3 C Recommendations ), которые затем внедряются производителями программ и оборудования. Таким образом достигается совместимость между программными продуктами и аппаратурой различных компаний, что делает Всемирную сеть более совершенной, универсальной и удобной. (википедия) 1) Internet Explorer критикуют за недостаточную поддержку веб-стандартов, устанавливаемых W3C . Это означает, что браузер отображает не то, что должен отобразить согласно стандарту W3C и поэтому может создавать проблемы веб-мастерам. В частности, в браузере сравнительно поздно появилась встроенная поддержка SVG , он имеет недостатки в обработке CSS (википедия) SVG ( Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки масштабируемой векторной графики 2) При разработке Firefox особое внимание уделялось поддержке стандартов W3C . (википедия) 3) WibKit на данный момент осуществляет наиболее полную поддержку HTML в соответствии с рекомендациями W3C . (википедия) 4) Браузер Opera не только часто не соответствует стандартам, но и иногда не оправдывает заявленную поддержку тех или иных стандартов. Например, Opera обещала поддерживать W 3 C DOM I , но, по признанию разработчиков, у нее еще "не дошли руки", а поддерживать Netscape DOM или Microsoft DOM она (компания) не собирается) ( http://www.myopera.net/descraibe.htm )
  5. 1) Найти причину задержки в загрузке сайта. Изучить, на чьей стороне проблема – на серверной или клиентской (на стороне клиента и сервера: средства статистики запросов, на стороне клиента: средства профилирования). 2) Найти причину медленной работы сайта. Задержки могут быть связаны с: - задержками ответа сервера (средства статистики запросов); - c ложностью модели DOM ( DOM Viewer , средства профилирования и аудита); - сложностью java scripts (отладчик, средства профилирования, косвенно – средства сводки ресурсов (размер java scripts)); - излишними AJAX запросами (отладчик, средства сводки ресурсов); - излишними элементами стилей (средства аудита); - неиспользуемым java script кодом (средства аудита); - неиспользуемыми секциями HTML (средства аудита). 3) Найти ответ на вопрос, почему сайт выглядит по-разному под разными браузерами. Для этого используются средства валидатора и аудита (частично - DOM Viewer , средства аудита; средства валидации). 4) Найти причину того, что web приложение работает с ошибками (отображает ошибки при загрузке, выполнении скриптов и т.д.). Для этого используются средства консоли и отладчика (отладчик и консоль ошибок). 5) Определить суммарный объем всех данных загружаемой страницы и распределение ресурсов внутри страницы (средства статистики запросов и аудита).
  6. 1) Отладчик – компонент браузера, который является дополнительной или встроенной программой браузера. В нем отображается исходный код java скрипта и контролируется его выполнение. Отладчик: - позволяет контролировать и анализировать критические ошибки java скрипта; - точно указывает место ошибки; - может выполнять java скрипт по шагам; - контролирует содержимое переменных 2) Контроль ресурсов – включает в себя: - проверку того, что браузер загрузил все ресурсы успешно; - контроль общего размера загруженных ресурсов; - контроль времени, необходимого для загрузки этих ресурсов и порядка загрузки ресурсов 3) Профилирование – процесс сбора данных из работающей программы с целью выяснения чаще всего используемых событий и для выявления тех событий, которые длятся максимального долго. Задержки в работе современных web приложений могут возникать из-за скриптов и из-за сложной модели DOM. 4) Аудит страниц – включает в себя запуск процесса аудита для выяснения размера куков, размеров изображений, порядка стилей и скриптов, неиспользуемых правил CSS и т.д. с целью оптимизации страницы. 5) Валидация HTML - проверка HTML кода страницы на соответствие мировым стандартам. Это нужно для того, чтобы HTML код страницы корректно отображался в разных браузерах.
  7. Консоль ошибок и отладчик в современных браузерах могут быть внедрены, как непосредственно в страницу (под страницей открывается дополнительная область, где пишутся ошибки и идет отладка), так и, что более удобно, могут быть выполнены в виде отдельного окна.
  8. Консоль ошибок является основным инструментом для поверхностной проверки web приложения на наличие критических ошибок. Современные браузеры также позволяют выполнять в консоли java scripts. Сообщения об ошибках могут быть отфильтрованы по классам : ! Клик – подсвечивается элемент критические ошибки ( errors ), предупреждения (warnings) и информационные сообщения ( information ). При тестировании QA инженер должен их различать. Отладчик непосредственно не является инструментом QA инженера, однако, ему необходимо им пользоваться в минимальном объеме для исследования ошибок. Основными инструментами отладчика для QA инженера являются: ! Клик – подсвечивается элемент - глобальный переключатель switch on / switch off отладки (на слайде – элемент ); ! Клик – подсвечивается элемент - разнообразные модификаторы останова программы при наличии в ней ошибки (на слайде – элемент ). В последнее время необходимость приобрела функция “ pretty print ” (на слайде – элемент ). ! Клик – подсвечивается элемент Это связано с тем, что java script при компрессии сжимается в одну строку без пробелов и форматирования. Отлаживать такие строки и находить ошибки практически невозможно. Поэтому, предлагается использовать функцию “ pretty print ”, которая автоматически расставляет пробелы и форматирует текст, что облегчает возможность анализа кода для QA инженеров. При запросе разработчика потенциально ему может потребоваться содержимое стэков и переменных. Такая возможность есть в отладчике программы. Большинство отладчиков показывает эти данные на передней панели. Если нужно, пояснить: Стэк вызовов – цепочка вызванных функций. Например: Функция A вызывает функцию B, функция B вызывает функцию C. Тогда стэк вызовов: ABC Точка останова (если спросят) – строка, которая задается пользователем. В этой строке останавливается программа для дальнейшего её анализа. Обычно строки останова передаются разаботчиками.
  9. Почти все современные браузеры позволяют показывать статистику запроса http страницы. В статистику входят полный цикл запроса страницы от основной страницы до последнего ресурса. Средство визуализации web inspector позволяет отображать оценки производительности сайтов: ! Клик – подсвечивается элемент - размер переданных данных (на слайде – колонка Size); ! Клик – подсвечивается элемент - задержку web сервера между посылкой запроса и полученным ответом (на слайде – колонка Time / Latency ) На слайде изображается, так называемая, временная шкала с отметками. При помощи шкалы можно быстро оценить время изначального отображения сайта (синяя вертикальная черта), и момент, когда сайт был полностью загружен (красная вертикальная черта). В нижней части окна расположены управляющие элементы (Documents, StyleSheets и т.д.), ! Клик – подсвечивается элемент которые позволяют отсортировать загруженные ресурсы по их типу (документы, CSS и т.д.). Рядом с каждым ресурсом, который кодируется цветом, приведена диаграмма загрузки и задержки, которая показывает: ! Клик – появляется укрепненная диаграмма загрузки - в какой момент временной отметки запрос начался; - когда был получен ответ на запрос; - сколько этот запрос занял времени. При двойном щелчке на имя ресурса (на слайде – колонка Name Path ) открывается окно, ! Клик – открывается информация о запросе в котором отображается информация о запросе (заголовок запроса и заголовок ответа).
  10. Страница сводки ресурса позволяет быстро оценить, какие ресурсы приложение оставило на локальной машине пользователя. Это нужно для того, чтобы помочь инженерам по безопасности оценить, какие параметры сессии, cookies, БД и пр. были задействованы при работе приложения. Кроме того, QA инженер может специализированно менять их с целью выявления ошибок в приложении.
  11. Современные средства мониторинга DOM-модели позволяют просматривать DOM-модель в виде списка/дерева (на слайде – левая часть окна), смотреть значения, стили и атрибуты любого тэга (на слайде – правая часть окна). Также достаточно популярен элемент «лупа» (на слайде – элемент ), ! Клик – подсвечивается элемент который нужен для того, чтобы в сложных структурах сайта определить измеряемые параметры. Элемент также нужен для навигации по странице сайта. «Лупа» работает следующим образом: выбираем этот элемент, ходим по сайту, в окне DOM V iewer отображаются элементы DOM модели, соответствующие элементам сайта. При этом, элементы в DOM модели подсвечиваются. Средства web inspector , firebug , opera и т.д. позволяют не только просматривать DOM модель, но и интерактивно её редактировать.
  12. Профилированием называется процесс сбора информации о потребляемых ресурсах во время выполнения скриптов сайта с последующим анализом и выявлением «узких мест». Интерпретирует данные поверхностно – QA, глубоко – разработчик.
  13. В средствах семейства WebKit за профилирование отвечают закладки Profiles и Timeline. Закладка Profiles : Пользователь должен включить процесс профилирования, поработать с сайтом, выполнить различные функции и остановить процесс. В результате получаем статистику, в которой указывается: ! Клик – подсвечивается элемент - сколько раз была вызвана та или иная функция (на слайде – колонка C all s ); ! Клик – подсвечивается элемент - сколько времени от общего количества было потрачено на выполнение функции (на слайде – колонка Self от колонки Total). Напротив каждой функции можно увидеть стэк вызовов и точку (строку), из которой она была вызвана.
  14. Закладка Timeline : Информация собирается таким же образом, как в закладке Profiles . При этом собирается информация не только о загрузке ЦПУ, но и информация о потребляемой памяти (на слайде – секция Memory ), событиях, которые произошли в момент работы с программой (на слайде – левая часть окна: Paint , Sent Request и т.д.). При этом, затраченные ресурсы представлены графически, в закладку встроена консоль ошибок (на слайде количество ошибок представлено в нижнем правом углу). Различным цветом выделены: ! Клик – подсвечивается элемент - события загрузки (на слайде – синие полоски ), ! Клик – подсвечивается элемент - работы интерпретатора языка java script (на слайде – оранжевая полоски ), ! Клик – подсвечивается элемент - время, затраченное на отрисовку HTML страницы (на слайде – сиреневые полоски ). Потребляемая память отображается также графически. ! Клик – появляется укрепненная диаграмма загрузки памяти
  15. Служба аудитов позволяет при загрузке страницы анализировать все элементы и давать практические рекомендации по улучшению производительности данного web приложения.
  16. Все рекомендации делятся по критичности (на слайде : красные - более критичные, оранжевые - менее критичные), применению к ресурсам (на слайде перечислены ресурсы, к которым их нужно применить) и приоритету (на слайде – сначала расположены более приоритетные, потом – менее, сверху вниз). Типичными результатами аудита являются рекомендации по: - склеиванию файлов java scripts; - включению компрессии; - корректному кэшированию р езультатов; - минимизации размеров куков; - специфическим HTML улучшениям (например, в какой-то строке кода не указан размер картинки); - оптимизации порядка стилей и скриптов; - расположению CSS; - статистике по неиспользуемым CSS ; - статистике по некорректному HTML коду.
  17. Средство из Validator Firefiox (plug-in)
  18. Валидатор HTML осуществляет: - проверку HTML кода страницы на валидность (верхняя часть окна), ! Клик – подсвечивается элемент - вывод количества ошибок, подсветку строк с ошибками, ! Клик – подсвечивается элемент - дает пояснения и рекомендации к их устранению. При этом Html Validator использует оба алгоритма HTML Tidy и SGML Parser , которые созданы W 3 C для проверки валидности страниц. Результат проверки отображается в строке состояния, в ее правом нижнем углу в виде небольшой картинки. ! Клик – подсвечивается элемент Кружок с галочкой показывает, что документ валидный, желтый треугольник с восклицательным знаком — по коду имеются замечания, которые могут быть исправлены автоматически. А красный кружок с крестиком предупреждает, что есть серьезные ошибки.
  19. Firebug   — расширение для браузера Firefox , являющееся консолью , отладчиком , и DOM -инспектором JavaScript , DHTML , CSS , XMLHttpRequest . Firebug показывает в консоли вызвавшую ошибку функцию, стек вызовов функций, вызвавших эту ошибку. Он предупреждает, что CSS-правило или JavaScript-метод/свойство, которое вы пытаетесь использовать, не существует. (википедия) Так как он модульный, то для него разработано еще несколько plug-ins, приведенные ниже. Developer Tools ( Safari ) – рассматривали в докладе Developer Tools ( IE ) - является компонентом Internet Explorer, который участвует в разработке и отладке веб-страниц. Компонент был введен как панель инструментов для Internet Explorer 6 и Internet Explorer 7. В Internet Explorer 8 и Internet Explorer 9 эта панель уже встроена . Компонент позволяет проводить проверку CSS, HTML, предварительно просматривать макет страницы при различных разрешениях, а также предлагает правила размещения элементов на странице. Venkman (Firefox) - является и графическим и консольным отладчиком. Содержит функции управления остановом, просмотра стек вызовов и т.д. Консоль также поддерживает интерактивное выполнение произвольного кода JavaScript.
  20. ! Клик – подсвечивается элемент (в нижнем правом углу) Элемент для быстрой активации/деактивации функций Firebug -а находится в правом нижнем углу ! Клик – подсвечивается элемент (выпадающие списки Console, HTML , CSS , Script , DOM , Net ) У Figebug-а есть следующие управляющие закладки (режимы Figebug-а): режим консоли ( Console ), HTML , CSS и т.д. ! Клик – подсвечивается элемент (в верхнем левом углу) В левом верхнем углу находится основное управляющее меню, в котором можно настроить опции Figebug-а (например, профилирование)
  21. ! Клик – подсвечивается элемент (закладка Scripts ) Отладчик расположен на закладке Scripts ! Клик – подсвечивается элемент (панель инструментов в виде различных стрелок) Панель инструментов в виде различных стрелок позволяет выполнять основные функции отладки (запустить отладку, остановить, выполнить отладку по шагам и т.д.) ! Клик – подсвечивается элемент (закладки Watch, Stack, Breakpoint ) В отличие от инструмента Development Tools ( S afari) у инструмента Firebug нет возможности смотреть все данные сразу. Данные разнесены на три закладки: контроль значений переменных (Watch), стек функций ( Stack ), точки останова ( Breakpoint ).
  22. ! Клик – подсвечивается элемент (закладка HTML) Просмоторщик DOM модели находится на закладке HTML ! Клик – подсвечивается элемент (элемент в верхнем левом углу) Он также содержит элемент «лупа», который находится в левом нижнем углу ! Клик – подсвечивается элемент (выпадающие списки Style , Computed , Layout , DOM ) Просмоторщик позволяет анализировать различные аспекты DOM модели: стили ( Style ), эффективные стили ( Computed ), расположение элементов ( Layout ), DOM (пояснить)
  23. ! Клик – подсвечивается элемент (закладка Net ) Инструмент анализа статистики ресурсов находится на закладке Net. ! Клик – подсвечивается элемент (нижняя часть окна: список ошибок) При анализе статистики и загрузке ресурсов возникающие ошибки отображаются в нижней части окна. ! Клик – подсвечивается элемент (список пояснений к временным диаграммам) Временные диаграммы (аналогичные временным диаграммам Safari).
  24. ! Клик – подсвечивается элемент (закладки Headers, Response , Cache ) При клике на ресурс открываются заголовки http запроса, которые содержат информацию о самих заголовках ( H eaders), об ответе ( Response ), кэшировании запроса ( Cache ). ! Клик – подсвечивается элемент (секция Request Headers ) Ответ отображается следующим образом.