Как тестируют в Google - Джеймс Уиттакер
Шрифт:
Интервал:
Закладка:
Тур предпринимателя
Описание: одни путешествуют для развлечения, другие — по делам бизнеса. Этот тур выяснит, насколько легко заниматься бизнесом в стране визита. Есть ли подходящие местные поставщики? С какими бюрократическими тонкостями связано начало работы?
В программных продуктах этот тур проверяет, легко ли пользователь может разрабатывать контент, используя тестируемый продукт. Пользователь проверяет, сколько полезных инструментов дает программный продукт, насколько легко выполняется импорт и экспорт.
Применение: в Chrome есть обширный инструментарий для разработчиков на JavaScript и веб-разработчиков, которые запускают и тестируют свои веб-приложения. Тур нужен для проверки инструментария, генерации примеров скриптов и тестирования онлайн-контента.
Инструменты в Chrome
В тур предпринимателя для Chrome входят:
— Инструменты разработчика: просмотр элементов страницы, ресурсов и сценариев, включение отслеживания ресурсов.
— Консоль JavaScript: правильно ли выполняется код JavaScript?
— Просмотр исходного кода: легко ли читается код с цветовым (или другим) выделением, легко ли перейти к нужному разделу?
— Менеджер задач: правильно ли отображаются процессы, легко ли определить, сколько ресурсов потребляет веб-страница?
Тур неблагополучных районов
Описание: в каждом городе есть неблагополучные районы и места, которых туристу лучше избегать. В программных продуктах тоже есть свои опасные места — секции кода, в которых полно багов.
Применение: главная цель разработчиков Chrome — сделать просмотр веб-страниц быстрым и простым. При этом насыщенный контент может страдать. В первых версиях Chrome у пользователей возникали проблемы даже с просмотром роликов на YouTube. Хотя многие проблемы в этом направлении уже решены, с функционально насыщенным контентом до сих пор бывают трудности.
Неблагополучные районы в Chrome OS
В тур неблагополучных районов в Chrome входят:
— Онлайн-видео: Hulu, YouTube, ABC, NBC, полноэкранный режим, высокое разрешение.
— Flash-контент: игры, реклама и презентации.
— Расширения: расширения, требующие усложненного тестирования.
— Апплеты Java: проверка успешного запуска апплетов Java (например, игр Yahoo!)
— Технология O3D: проверка контента, написанного с использованием технологии Google O3D (например, в видеосвязи Gmail).
— Множественный запуск: попытка открыть несколько экземпляров с «тяжелым» контентом в разных вкладках и окнах.
Тур персонализации
Описание: тур показывает путешественникам, как они могут персонифицировать свою поездку, подогнать ее под свои предпочтения. В тур все включено — от покупки новой пары солнцезащитных очков до аренды машины, найма личного экскурсовода и посещения магазинов. В тестировании наших приложений этот тур позволяет пользователям попробовать по-разному настроить свою работу с продуктом и персонализировать продукт на свой вкус.
Применение: исследование различных способов настройки Chrome для предпочтений конкретного пользователя с помощью тем оформления, расширений, закладок, настроек, ярлыков и профилей.
Способы настройки Chrome
В тур персонализации Chrome входят:
— Темы: использование тем для настройки внешнего вида Chrome OS.
— Расширения: загрузка и установка расширений Chrome OS для модификации функциональности и оформления.
— Настройки Chrome: настройка взаимодействия пользователя с Chrome с помощью изменения конфигурации.
— Разделение профилей: проверка того, что настройки одного пользовательского профиля не будут распространяться на другие учетные записи.
Приложение В. Посты из блога об инструментах и коде
В этом приложении приведено несколько постов из Google Testing Blog.
Охотимся на баги и потерянное время вместе с BITE
Среда, 12 октября 2011 г. 9:21
http://googletesting.blogspot.com/2011/10/take-bite-out-of-bugs-and-redundant.html
Джо Аллан Мухарски
Хотя веб становится все более удобным и легким в работе, регистрация багов на сайтах — все еще ручной и утомительный труд. Найди дефект. Переключись на окно багтрекинговой системы. Заполни поля описания ошибки. Зайди обратно в браузер, сделай скриншот экрана и присоедини его к сообщению о баге. Не забудь добавить комментарий. Во время всего процесса приходится постоянно прыгать с одного контекста на другой. Внимание тестировщика постоянно отвлекается от приложения, которое он тестирует.
BITE (Browser Integrated Testing Environment) — расширение Chrome с открытым кодом (http://code.google.com/chrome/extensions/index.html), которое помогает упростить ручное веб-тестирование (рис. В.1). Чтобы расширение заработало, нужно связать его с сервером, на который он будет отправлять информацию о багах и тестах вашей системы. Тогда через BITE можно будет регистрировать баги в контексте веб-сайта, используя подходящие шаблоны.
Рис. В.1. Меню расширения BITE в браузере Chrome
Когда вы регистрируете баг, BITE автоматически делает скриншот экрана, копирует ссылки и проблемные элементы интерфейса, а потом присоединяет их к описанию бага, как показано на рис. В.2. Теперь у разработчика, который анализирует или исправляет баг, будет достаточно информации, чтобы воспроизвести условия и найти причину нестандартного поведения.
Обычно тестировщикам приходится запоминать и дотошно фиксировать свои действия, чтобы баг можно было воспроизвести. Используя BITE, инженер может быть уверен, что все его ходы записаны в коде JavaScript и их можно посмотреть позже. Теперь можно быстро определить, воспроизводится ли баг в конкретной среде или решилась ли проблема при изменении кода.
Чтобы записывать действия при ручном тестировании и потом воспроизводить их при автоматизированном, в BITE есть консоль Record Playback Framework (RPF). Она автоматически генерирует код JavaScript, который потом можно использовать для воспроизведения выполненных шагов. Механизм записи и воспроизведения BITE устойчив к ошибкам: автоматизированные тесты пользовательского интерфейса иногда могут не проходить, причем проблема часто в самом тесте, а не в продукте. При сбое воспроизведения BITE тестировщик может просто перезаписать свои действия на странице. Не нужно редактировать код или сообщать о сбое теста — если сценарий не может найти кнопку, которую нужно нажать, просто нажмите на нее сами, и сценарий исправится. Если все же без правки кода совсем не обойтись, мы используем редактор Ace (http://ace.ajax.org/), чтобы изменять код JavaScript в реальном времени.
Страница проекта BITE находится по адресу http://code.google.com/p/bite-project. Все вопросы и предложения присылайте по адресу [email protected].
Отправлено Джо Алланом Мухарски из команды технологий веб-тестирования (продукт был создан участниками команды Джейсоном Стредвиком, Джулией Ральф, По Ху и Ричардом Бустаманте).
Рис. В.2. Интерфейс регистрации багов расширения BITE
QualityBots идет в атаку
Вторник, 06 октября 2011 г. 13:52
http://googletesting.blogspot.com/2011/10/unleash-qualitybots.html
Ричард Бустаманте
Вы разрабатываете веб-сайт и хотите знать, не сломают ли его работу обновления Chrome из дорелизных каналов? Вы хотите простой инструмент для сравнения работоспособности вашего сайта во всех каналах выпуска Chrome? Такой инструмент есть!
QualityBots (http://code.google.com/p/qualitybots/) — это новый инструмент с открытым кодом, который создала команда веб-тестирования Google для веб-разработчиков. Он сравнивает веб-страницы в версиях разных каналов Chrome с помощью попиксельного DOM-анализа. Когда появляется новая версия Chrome, QualityBots помогает нам рано находить сбои. Кроме того, QualtityBots помогает разработчикам быстро и легко представить, как их страницы будут себя вести в версиях разных каналов Chrome.
Фронтенд-часть QualityBots построена на базе Google AppEngine (http://code.google.com/appengine/), а бэкенд, который обходит веб-страницы, работает на базе EC2. Чтобы использовать QualityBots, у вас должна быть учетная запись в Amazon EC2. Тогда вы сможете запускать виртуальные машины, которые будут обходить веб-страницы с разными версиями Chrome. У инструмента есть веб-интерфейс, в котором пользователи входят в систему, вводят URL-адреса страниц для обхода, просматривают результаты последнего запуска на информационной панели и подробно анализируют информацию о проблемных элементах страницы (как показано на рис. В.3).