GTAC 2014: Презентации

Все видеозаписи и слайды GTAC 2014 находятся в открытом доступе. Вы можете посмотреть их в плейлисте GTAC 2014 на YouTube или просмотреть доклады ниже:

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

Сонал Шах (Google)

Вступительный доклад - Двигайтесь быстро и не ломайте вещи

Анкит Мехта (Google)

Ссылки: видео , слайды

Автоматизация для лучшего Интернета

Джеймс Грэм (Mozilla)

Интернет является самой популярной в мире платформой для приложений, однако плохая совместимость браузеров является слишком частой причиной беспокойства и разочарования среди веб-разработчиков. Чтобы попытаться исправить эту ситуацию, W3C содействовал усилиям сообщества по созданию постоянно обновляемого кросс-браузерного набора тестов для открытой сети; веб-платформа-тесты. В этом выступлении Джеймс представит тесты веб-платформы и расскажет об инструментах, которые мы создали для автоматизации тестирования в различных настольных браузерах и на мобильных устройствах под управлением Firefox OS. Он покажет, как это программное обеспечение было разработано для решения задач запуска часто обновляемого набора тестов из внешних источников на сотнях коммитов в день в системе непрерывной интеграции Mozilla.

Ссылки: видео , слайды

Сделайте Chrome лучшим мобильным браузером

Карин Лундберг (Google)

Одной из причин успеха Chrome были его основные принципы скорости, стабильности, простоты и безопасности (4 S). Когда мы выпустили Chrome для Android и iOS, мы не только применили 4 S к самому браузеру, но и к тому, как мы проводим автоматическое тестирование, и к типам тестов, которые мы проводим:

  • Скорость предназначена для тестирования производительности и быстрых тестов.
  • Стабильность предназначена для тестирования стабильности и стабильных тестов.
  • Простота предназначена для проверки того, что Chrome имеет простой пользовательский интерфейс, а также для упрощения добавления и запуска тестов.
  • Безопасность предназначена для тестирования безопасности.

Ссылки: видео , слайды

Язык автоматизации тестирования для поведенческих моделей

Нан Ли (Medidata Solutions)

Тестировщики на основе моделей разрабатывают абстрактные тесты с точки зрения моделей, таких как пути на графах. Затем абстрактные тесты необходимо преобразовать в конкретные тесты, которые определяются с точки зрения реализации. Переход от абстрактных тестов к конкретным тестам должен быть автоматизирован. Существующие методы тестирования поведенческих моделей на основе моделей используют множество дополнительных диаграмм, таких как диаграммы классов и диаграммы вариантов использования, для преобразования и генерации тестов. Их очень сложно использовать на практике, потому что тестировщики должны постоянно согласовывать все связанные диаграммы, даже когда требования часто меняются.

В этом докладе представлен язык автоматизации тестирования, позволяющий тестировщикам создавать тесты, используя только одну поведенческую модель, такую ​​как диаграмма конечного автомата. Будут рассмотрены три вопроса: (1) создание сопоставлений моделей с исполняемым тестовым кодом и генерация тестовых значений, (2) преобразование графов и использование критериев покрытия для создания путей тестирования и (3) устранение ограничений и создание конкретных тестов.

Ссылки: видео , слайды

Тестовое покрытие в Google

Андрей Кирила (Google)

Вы когда-нибудь задумывались, как выглядит тестирование в Google? Какие инструменты мы используем, чтобы помочь нам, и как мы измеряем тестовое покрытие и действуем на него? Мы кратко опишем процесс разработки в Google, а затем сосредоточимся на использовании измерения покрытия кода и на том, как мы используем покрытие кода для улучшения качества кода и производительности разработки. В конце мы представим огромное количество данных о покрытии, охватывающих более 100 000 коммитов, которые мы собрали, и некоторые более широко применимые выводы, к которым мы пришли.

Ссылки: видео , слайды

CATJS: приложения, которые сами себя тестируют

Ран Снир (HP) и Лиор Реувен (HP)

В последние годы мы видели много аномалий, которые изменили наше представление о мире компьютеров. Есть 3D-принтеры, которые печатают 3D-принтеры, роботы, которые думают сами по себе, а еще есть catjs.

catjs — это фреймворк с открытым исходным кодом, который позволяет мобильным веб-приложениям тестировать себя. Простые аннотации в вашем коде HTML5 будут переведены во встроенные тестовые сценарии в течение жизненного цикла приложения. Эти мобильные веб-тесты можно запускать на любом устройстве, в любой операционной системе и браузере. catjs — это быстрый и простой способ позаботиться о процессе тестирования вашего приложения.

Ссылки: видео , слайды

Масштабируемая непрерывная интеграция — использование открытого исходного кода

Вишал Арора (Dropbox)

Многие инструменты с открытым исходным кодом доступны для непрерывной интеграции (CI). Лишь немногие хорошо работают в больших масштабах. И почти ни один из них не предназначен для масштабирования в распределенной среде. Приходите и узнайте о сложностях внедрения CI в масштабе и об одном из способов объединения компонентов с открытым исходным кодом для быстрого создания собственной распределенной масштабируемой системы CI.

Ссылки: видео , слайды

Я не часто тестирую... Но когда я это делаю, я тестирую в продакшене

Гарет Боулз (Netflix)

Каждый день у Netflix появляется все больше клиентов, потребляющих больше контента на все большем количестве клиентских устройств. Мы также постоянно внедряем инновации, чтобы улучшить качество обслуживания наших клиентов. Тестирование в такой быстро меняющейся среде — огромная проблема, и мы пришли к выводу, что запуск тестов в нашей производственной среде часто может быть наиболее эффективным способом проверки этих изменений. В этом докладе будут рассмотрены три метода тестирования, которые мы используем в продакшене: моделирование всех видов сбоев с помощью Simian Army, поиск регрессий с помощью канареек и измерение эффективности тестирования с помощью анализа покрытия кода в продакшене.

Ссылки: видео , слайды

Важность автоматизированного тестирования на реальных и виртуальных мобильных устройствах

Джей Шринивасан (Google) и Маниш Лачвани (Google)

По сравнению с веб-миром мобильное тестирование — это минное поле. Для разных устройств, операционных систем, сетей и местоположений существует бесконечное количество переменных, которые разработчики должны учитывать. На этом образовательном занятии мы обсудим некоторые уникальные проблемы, связанные с оптимизацией производительности и качества мобильных приложений, а также стратегии их решения, включая необходимость автоматизации, реальных устройств и реальных пользовательских условий.

Ссылки: видео , слайды

Бесплатные тесты лучше, чем бесплатные бананы: использование интеллектуального анализа данных и машинного обучения для автоматизации мониторинга производства в реальном времени

Джелал Зифтчи (Google)

Растет интерес к использованию методов интеллектуального анализа данных и машинного обучения при анализе, обслуживании и тестировании программных систем. В этом выступлении Селал расскажет, как мы используем такие методы для автоматического анализа системных инвариантов, используем эти инварианты для мониторинга наших систем в режиме реального времени и предупреждаем инженеров о любых потенциальных производственных проблемах в течение нескольких минут.

Доклад будет состоять из двух инструментов, которые мы используем внутри компании, и того, как мы комбинируем их, чтобы почти бесплатно обеспечить мониторинг производства в реальном времени для инженеров:

  1. Инструмент, который может добывать системные инварианты.
  2. Инструмент, который отслеживает производственные системы и использует первый инструмент для автоматического создания части логики, используемой для выявления потенциальных проблем в режиме реального времени.

Ссылки: видео , слайды

Автоматизация тестирования на инфракрасной приставке

Оливье Этьен (оранжевый)

В этом выступлении будет объяснено, что такое контекст ТВ-приложения и с какими проблемами мы можем столкнуться при попытке автоматизировать процесс. Оливье пройдёт через предыдущие неудачи, их подход и то, что было ключевыми моментами для создания автоматического инструмента тестирования. Если позволит время, он углубится в детали реализации.

Приходите послушать, как несколько припоев и несколько строк кода открыли богатый мир веб-тестирования для телевизионной приставки.

Ссылки: видео , слайды

Проблема честного сравнения облачных провайдеров и того, что мы с этим делаем

Энтони Воэллм (Google)

В этом докладе будет рассказано об истории бенчмаркинга от мэйнфреймов до облачных вычислений. Цель состоит в том, чтобы заложить фундамент вокруг того, с чего начались эталонные тесты и как они оказались там, где они есть. Будут изложены идеи для будущего бенчмаркинга облака и того, как мы можем это сделать на практике.

Ссылки: видео , слайды

Никогда не посылайте человека выполнять работу машины: как Facebook использует ботов для управления тестами

Рой Уильямс (Facebook)

У Facebook нет тестовой организации, разработчики владеют всем, от написания своего кода до его тестирования и запуска в производство. Это не значит, что мы не тестируем! Мы создали эту шкалу за счет автоматизации жизненного цикла тестов, чтобы поддерживать высокий уровень сигнала и низкий уровень шума. Новые тесты считаются ненадежными, и ненадежность быстро удаляется из дерева. Мы поговорим о том, что сработало, а что нет, чтобы построить доверие к тестам.

Ссылки: видео , слайды

Эспрессо, ложка, Wiremock, о боже! (или как я перестал волноваться и полюбил Android-тестирование)

Майкл Бейли (American Express)

Узнайте о создании и выполнении быстрых и надежных автоматических тестов пользовательского интерфейса Android. Инструменты будут включать Espresso, Spoon, Wiremock и Jenkins. Предполагается базовое знание разработки под Android и Java.

Ссылки: видео , слайды

Аналитика Google BigQuery

Брайан Вэнс (Google)

BigQuery — интерактивный сервис больших данных Google Cloud. Пользователи могут анализировать терабайты данных за считанные секунды с помощью SQL-подобных запросов. Он построен на основе Dremel, который тестировщики Google используют внутри компании уже много лет. Мы рассмотрим пару примеров и покажем, как начать работу с BigQuery.

Ссылки: видео , слайды

Selendroid - Селен для Android

Доминик Дари (Adobe)

Selendroid — это среда автоматизации тестирования с открытым исходным кодом, которая использует пользовательский интерфейс собственных и гибридных приложений Android и мобильного Интернета. Тесты пишутся с использованием клиентского API Selenium 2. Для тестирования не требуется модификации тестируемого приложения для его автоматизации.

Эта презентация демонстрирует аудитории, насколько легко автоматизировать мобильное тестирование. Он показывает, как Selendroid можно использовать для тестирования нативных и гибридных приложений Android и как Selenium Grid можно использовать для параллельного тестирования на нескольких устройствах. Также будут затронуты такие темы, как расширение самого Selendroid во время выполнения и выполнение кросс-платформенных тестов.

Ссылки: видео , слайды

Поддержание здравомыслия в мире гипермедиа

Амит Исоу (комкаст)

По мере того, как Comcast превращалась из кабельной компании в лидера в области средств массовой информации и технологий, команды инженеров также становились умнее. Когда Амит присоединился к Comcast Interactive Media (CIM) в 2006 году, они занимались ручным тестированием. После того, как они выпустили свой первый веб-сайт в 2007 году, он начал создавать прототипы автоматизированной инфраструктуры тестирования пользовательского интерфейса. Он познакомился с Selenium на GTAC 2008, а затем вернулся в Comcast, чтобы создать инфраструктуру автоматизированного тестирования с помощью Selenium Grid, Hudson и Subversion. Сегодня он работает над тестированием API с развертыванием в рабочей среде каждый будний день. Это стало возможным благодаря Python, Git, Gerrit и Anthill.

Ссылки: видео , слайды

Зажигайте раньше и быстрее с MSL!

Брайан Роббинс (FINRA) и Даниэль Ку (FINRA)

Быстрая доставка программного обеспечения без ущерба для качества — нетривиальная задача. Мы все хотим двигаться быстрее, разрабатывая тесты на ранней стадии и выполняя тесты быстрее, с минимальными затратами на обслуживание. В FINRA мы разработали MSL (произносится как «Missile»), чтобы Agile-команды, использующие многоуровневые архитектуры, такие как MVC, могли быстрее и быстрее тестировать свой код пользовательского интерфейса в изоляции.

MSL поддерживает интеграционное тестирование кода пользовательского интерфейса (например, Javascript, HTML, CSS) путем локального развертывания на сервере Node.js и настройки фиктивных HTTP-ответов из тестового кода с использованием одного из наших клиентов (Java, Javascript или Node.js). В этом докладе будут представлены основные функции MSL с несколькими примерами.

Ссылки: видео , слайды

Пользовательский опыт тестирования

Алекс Игл (Google)

Продукты Google выпускаются часто, и это требует значительного автоматизированного тестирования и «сборки-копирования». Сейчас мы работаем над тем, чтобы предложить нашу тестовую инфраструктуру как часть Google Cloud Platform. В этом докладе мы обсудим некоторые методологии, которые мы используем, чтобы наши сборки оставались экологичными, а наши продукты — бездефектными, а также дадим предварительный обзор того, как мы демонстрируем это миру.

Ссылки: видео , слайды

Круглый стол 1 — Мобильное кроссплатформенное тестирование

Ссылки: видео , слайды

Круглый стол 2 — Освещение автоматизации документооборота

Ссылки: видео , слайды

Влияние структуры сообщества на производительность SAT Solver

Зак Ньюшем (Университет Ватерлоо)

Современные решатели CDCL SAT регулярно решают очень большие промышленные экземпляры SAT за относительно короткие периоды времени. Понятно, что эти решатели каким-то образом используют структуру реальных экземпляров. Однако на сегодняшний день имеется мало результатов, точно характеризующих эту структуру. В этой статье мы приводим доказательства того, что структура сообщества реальных экземпляров SAT коррелирует со временем работы решателей CDCL SAT. Уже некоторое время известно, что экземпляры SAT реального мира, рассматриваемые как графы, имеют в себе естественные сообщества. Сообщество — это подграф графа экземпляра SAT, такой, что этот подграф имеет больше внутренних ребер, чем исходящих к остальной части графа. Структура сообщества графа часто характеризуется показателем качества, называемым Q. Интуитивно понятно, что граф с качественной структурой сообщества (высокий Q) легко разделяется на более мелкие сообщества, а граф с низким Q — нет. Мы приводим три результата, основанных на эмпирических данных, которые показывают, что структура сообщества реальных промышленных экземпляров является лучшим предсказателем времени работы решателей CDCL, чем другие обычно учитываемые факторы, такие как переменные и предложения. Во-первых, мы показываем, что существует сильная корреляция между значением Q и метрикой Literal Block Distance качества конфликтных предложений, используемых в политиках удаления предложений в решателях, подобных Glucose. Во-вторых, используя регрессионный анализ, мы показываем, что количество сообществ и значение Q графика реальных экземпляров SAT лучше предсказывают время работы решателей CDCL, чем традиционные показатели, такие как количество переменных или предложений. Наконец, мы показываем, что случайно сгенерированные экземпляры SAT с 0,05 ≤ Q ≤ 0,13 гораздо сложнее решить для решателей CDCL, чем в противном случае.

Ссылки: видео , слайды

Помимо охвата: что скрывается в наборах тестов?

Патрик Лэм (Университет Ватерлоо)

Нам всем нужны «лучшие» наборы тестов. Но что делает хороший набор тестов? Конечно, наборы тестов должны стремиться к хорошему покрытию, по крайней мере, на уровне покрытия операторов. Чтобы быть полезными, наборы тестов должны работать достаточно быстро, чтобы обеспечить своевременную обратную связь.

В этом докладе будет рассмотрен ряд других аспектов, по которым можно оценивать наборы тестов. В докладе утверждается, что лучшие наборы тестов более удобны в сопровождении, более удобны в использовании (например, потому что они работают быстрее или используют меньше ресурсов) и имеют меньше необоснованных сбоев. В этом докладе я представлю и обобщу факты о 10 наборах тестов с открытым исходным кодом (от 8 000 до 246 000 строк кода) и оценю, как они работают.

Ссылки: видео , слайды

Going Green: очистка токсичной мобильной среды

Томас Кныч (Google), Стефан Рамзауэр (Google), Валера Захаров (Google) и Вишал Сетиа (Google)

Мы представим инструменты и методы для создания быстрых, стабильных, герметичных тестовых сред для выполнения тестов Android как в интерактивном режиме разработки, так и в режиме непрерывной интеграции. Это основано на разговоре более высокого уровня, который мы представили на последнем GTAC.

Ссылки: видео , слайды