GTAC 2013: презентации, день 1

Вступительное слово

Тони Воэллм (Google)

Вступительный доклад - Эволюция от обеспечения качества к тестированию

Ари Шамаш (Google)

Вы создали приложение. Вы его запустили. Вы полагали, что получите это там, нарастите объем, получите финансирование, выбросите все это, а затем начнете с нуля, чтобы вы могли «сделать это правильно». Но требования к новым функциям невероятно высоки, теперь вас просят продвигаться к беспрецедентному масштабу с неслыханной скоростью. Ой! Что теперь?

Вы не можете выбросить его и начать с нуля, вам просто нужно развивать то, что у вас есть, продолжая добавлять высококачественные функции с захватывающей дух скоростью. Кроме того, вам нужно убедиться, что то, что уже есть, не сломается. Как ты делаешь это? К счастью, в индустрии разработки программного обеспечения формируется новая область, которая занимается этим распространенным сценарием: в Google мы называем это «инженерией тестирования».

В этом докладе основное внимание будет уделено тому, что такое разработка тестов, как она развилась из системы обеспечения качества и как индустрия в целом внедрила разработку тестов (с конкретными примерами того, как это реализовано в Google).

Тестирование систем в масштабе @Twitter

Джеймс Уолдроп (Твиттер)

Джеймс расскажет об инструментах, процессах и философии тестирования производительности в Twitter. Особое внимание будет уделено библиотеке нагрузочного тестирования с открытым исходным кодом Iago, которую он написал, чтобы инженеры Twitter могли выполнять нагрузочные тесты перед развертыванием кода в рабочей среде. В докладе будут подробно рассмотрены детали реализации некоторых из этих тестов (включая исходный код) и способы управления усложняющими факторами, такими как OAuth и произвольные протоколы Thrift.

Как вы тестируете мобильную ОС?

Дэвид Бернс (Mozilla) и Малини Дас (Mozilla)

Это проблема, с которой столкнулась Mozilla, когда мы решили окунуться в мир FirefoxOS. С чего начать и как это сделать предстояло доказать интересную задачу. Приходите послушать, как мы решили эту проблему и как создали новый фреймворк.

Мобильная автоматизация в конвейере непрерывной доставки

Игорь Доровских (Expedia) и Каустубх Гаванде (Expedia)

Expedia начала инвестировать в мобильные веб-приложения и приложения для iOS/Android в начале 2012 года. В то же время инженеры по тестированию начали разрабатывать решения для автоматизации тестирования, чтобы с самого начала обеспечить качество и тестируемость продуктов. В этом выступлении мы поделимся нашим опытом и знаниями об использовании инструментов с открытым исходным кодом для создания автоматизированного тестирования в гибкой среде Expedia для разработки и непрерывной доставки. Мы поговорим о Test Pyramid и более подробно расскажем о конкретных инструментах с открытым исходным кодом, которые хорошо сработали для нас. Некоторые из инструментов с открытым исходным кодом, которые мы используем, — это инструменты BDD, такие как Cucumber, инструмент веб-автоматизации Selenium-WebDriver, инструмент автоматизации iOS Frank, инструменты автоматизации Android Robotium и Calabash, а также система непрерывной интеграции Jenkins. Кроме того, мы поделимся некоторыми принципами доставки Agile, которые мы стремимся внедрить, такими как TDD, парное программирование, сборка и тестирование радиаторов. Наконец, мы расскажем о некоторых преимуществах, которые мы получили от наших инвестиций в Agile и автоматизацию тестирования, и о том, как это приводит нас к нашим целям непрерывной доставки.

Автоматизированное тестирование телевизионных приставок с помощью GStreamer и OpenCV

Дэвид Ротлисбергер (YouView)

Мы создадим систему распознавания изображений для захвата видео за 3 минуты, используя инструменты командной строки GStreamer и OpenCV. (GStreamer — это платформа для обработки мультимедиа с открытым исходным кодом; OpenCV — «Open Computer Vision» — библиотека для обработки изображений с открытым исходным кодом.)

Ярким примером такой системы является http://stb-tester.com, инструмент с открытым исходным кодом, разработанный YouView для автоматизации тестирования пользовательского интерфейса наших телевизионных приставок. Мы опишем stb-tester, гибкость, которую предлагает его основа GStreamer, некоторые возможности, которые он открывает, и предстоящие задачи.

Веб-драйвер для Chrome

Кен Каниа (Google)

С момента своего появления в качестве браузера только для Windows Chrome расширился до Mac, Linux, ChromeOS, а совсем недавно — до Android и iOS. Тестирование веб-приложений на этих платформах на уровне пользователя было сложным и требовало различных подходов к автоматизации. В этом докладе будет рассказано о работе, которую команда Chrome делает, чтобы сделать WebDriver доступным для Chrome на всех платформах. Это будет включать в себя технический взгляд на базовый подход, но основное внимание будет уделено тому, как разработчики могут использовать новый ChromeDriver для написания тестов для различных платформ Chrome. Также будет освещено текущее состояние проекта и дорожная карта на его будущее.

Karma — средство запуска тестов для JavaScript

Войта Джина (Google)

Введение в Karma — средство запуска тестов, которое делает тестирование приложений JavaScript в реальных браузерах легким и приятным.

Тестирование не является обязательным, когда вы создаете приложение JavaScript, которое должно работать во многих браузерах и на многих устройствах. Однако выполнять тесты во всех этих различных средах сложно. Карма превращает эту обычно кропотливую задачу в кусок пирога. Это позволяет вам выполнять тесты JavaScript в реальных браузерах или устройствах, таких как ваш телефон или планшет, прямо из вашего терминала или вашей любимой IDE.

Автоматические измерения качества видео

Патрик Хеглунд (Google)

Да, можно автоматически тестировать сложные субъективные измерения, такие как качество видео! В этом докладе будет показано, как мы создали непрерывный автоматизированный сквозной тест видеозвонка WebRTC. Мы рассмотрим цепочку инструментов на высоком уровне и с какими проблемами мы столкнулись при ее создании. Это идеально, если вам нужно вдохновение для того, чтобы вывести тестирование медиа на новый уровень.

Когда плохие вещи случаются с хорошими приложениями...

Минал Мишра (Netflix)

Бум мобильных и планшетных компьютеров наводнил индустрию программного обеспечения платформами для разработки приложений. Разработка потребительских приложений на вычислительных платформах приносит конечным пользователям особый волшебный опыт. Компании-разработчики программного обеспечения, ориентированные на потребителя, всегда стараются сделать все возможное, когда разрабатывают приложения для этих платформ. Однако самая большая проблема в разработке приложений начинается только после того, как компании выпустят первую версию приложения. Потребители и компании-разработчики программного обеспечения хотят, чтобы новейшие функции и функциональные возможности были выведены из разработки как можно скорее с высочайшим качеством. Это приводит к постоянному обновлению кода на каждом уровне стека. Мы, инженеры по автоматизации пользовательского интерфейса, создаем различные системы обнаружения, чтобы обнаруживать проблемы с приложениями раньше, чем позже. В этом докладе я расскажу о некоторых наших проблемах и успехах, связанных с одной такой системой обнаружения, которая помогла найти проблемы за пределами прикладного уровня, но все же негативно повлияла на взаимодействие с пользователем.

Тестирование для образовательных игр и Образовательные игры для тестирования

Тао Се (Университет штата Северная Каролина)

В этом докладе рассказывается о Pex4Fun ( http://www.pexforfun.com/ ), который использует автоматическую генерацию тестов для поддержки автоматической оценки в онлайн-системе программирования, которая может масштабироваться до сотен тысяч пользователей. Он предоставляет игровой опыт, ориентированный на программирование, за пределами классной комнаты, обучая пользователей различным навыкам программирования и разработки программного обеспечения, включая навыки тестирования, такие как написание параметризованных модульных тестов. Pex4Fun вносит значительный вклад в решение известной проблемы оценивания заданий, а также предоставляет увлекательный опыт обучения на основе интерактивных игр. Pex4Fun завоевывает большую популярность в сообществе: с тех пор, как он был выпущен для публики в июне 2010 года, количество кликов на кнопку «Спроси Pex!» Кнопка (указывающая на попытки пользователей решать игры в Pex4Fun) достигла более миллиона на начало 2013 года.

Заключительный доклад: как Facebook тестирует Facebook на Android

Саймон Стюарт (Facebook)

Facebook — одно из самых популярных приложений для Android. В этом выступлении вы узнаете, что делает Facebook, чтобы каждый выпуск был максимально качественным. Мы рассмотрим все, от того, как мы управляем нашим кодом, через наши подходы к тестированию и вплоть до тестирования.