Тестирование IP видео на примере библиотеки Skype

Post on 06-Jul-2015

778 views 2 download

description

Доклад Оксаны Деменцовой на конференции SQA Days-12, 30 ноября-1 декабря, Минск

Transcript of Тестирование IP видео на примере библиотеки Skype

Тестирование IP видео на примере библиотеки Skype

2012 © Skype Internal Data.

SQA days 2012

Оксана Деменцова

• Software development engineer in test, Skype division. Microsoft. Tallinn office

• Почти 5 лет в тестировании

• Все проекты связаны с видео

oksana.dementsova

Slide 22012 © Skype Internal Data.

Сегодня

Видео библиотека Skype

Качество видео

Объективные оценки

Субъективные оценки

Выводы

2012 © Skype Internal Data.

Видео библиотека Skype

2012 © Skype Internal Data.

Slide 5

Видео – в массы!

200 млн онлайн пользователей в месяц

40 млн одновременно онлайн

Более 40% звонков – видео звонки

300 млн минут видео в день

2012 © Skype Internal Data.

Видео библиотека Skype

Независимый компонент

Slide 62012 © Skype Internal Data.

Обеспечения качества

Как и любой другой програмный продукт, Skype тестируется разными способами

• Unit testing, code coverage, и всякие другие инструменты

Однако, видео довольно уникальная часть

• И это то, о чем мы поговори

А начнем с одного большого вопроса…

Slide 72012 © Skype Internal Data.

На сколько хорошо выглядит

наше видео?

2012 © Skype Internal Data.

А если детальнее…

2012 © Skype Internal Data. Slide 9

Оно вообще

работает?

А со старыми

версиями?

Между

платформами

работает?

Предыдущие

версии хуже?

Видео и аудио

синхронны?

Какой компромис

между аудио, видео и

жизнью батареи?

Все непростоИзмерение качества видео – сложная задача, так как включает в себя:

1. понимание того, как работает воспрятие человека (глаза + мозг)

2. преобразование этих знаний в алгоритмы и эксперименты

2012 © Skype Internal Data. Slide 10

Субъективное vs. объективное

Объективное: измеримые характеристики видео

Субъективное: то, что имеет значение для конечного пользователя

2012 © Skype Internal Data. Slide 11

Спектр метрик

2012 © Skype Internal Data. Slide 12

Полностью

объективные Объективные Смешанные

Скорее

субъективные

Полностью

субъективные

Частота кадров Цвет Артефакты ЧеткостьМнение

пользователей

Разрешение Замирания Скрытия ГладкостьОбщее

впечатление

Соотношение

сторон

СинхронностьПодергивание

Задержка Мерцание

Объективные метрики

Расрешение: 160x120, 720p, full HD…

Частота кадров: 30 fps

• Базовые метрики. Но, не дают полного представления о качестве

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

• Сложнее определить и измерить

2012 © Skype Internal Data. Slide 13

Кодек

2012 © Skype Internal Data. Slide 14

VC-1 H264 VP6

Цвет

Slide 152012 © Skype Internal Data.

Артефакты

Slide 162012 © Skype Internal Data.

Порядок кадров

Slide 172012 © Skype Internal Data.

Объективное

тестирование

2012 © Skype Internal Data.

e2e тестирование

UI уровень тестирования видео библиотеки + интеграция

Используем Automatic Calling System для распределения тестов

ACS включает:

• Агент, который контролирует UI либо браузер

• Логирование

• Опционально: лог парсеры, отчеты

2012 © Skype Internal Data.

Релиз тестирование

Тысячи звонков для проверки стабильности

• Тестирование новых версий видео библиотеки

• Тестирование новых функций: кодек, ключи настройки

Информация про производительность билдов:

• Логи

• Bugsense, Watson, HockeyApp

Slide 202012 © Skype Internal Data.

Карта ACS клиентов

Slide 212012 © Skype Internal Data.

Local loopback тестированиеТестовые приложения

2012 © Skype Internal Data.

CI система

Что это значит?

• каждые 10 минут, скрипт проверяет наличие новых коммитов.

• запускаются короткие тесты (в среднем тест – 30 сек).

• отчет генерируется в базе и отображается на веб странице

Ночью запускаются длинные тесты.

2012 © Skype Internal Data. Slide 23

Build

Deploy

RunAnalyze

Report

CI систама

2012 © Skype Internal Data. Slide 24

Наглядно

CI длительные тесты

Slide 25

8ми часовой звонок!

2012 © Skype Internal Data.

Ежедневное тестирование регрессии

Slide 26

Быстрые проверки Функционал Качество

Видео старт/стоп HD видеоРазрешение, частота

кадров

Совместимость

платформРасшаривание экрана

Реакция на изменения

качества сети

Переключение

устройствГруповой звонок

Реакция на

загруженость

процессора

2012 © Skype Internal Data.

Проверим сами?

2012 © Skype Internal Data. Slide 27

Нефункциональные требования

Функциональные vs. Нефункциональные

видео работает = мы что-то видим

vs.

качество видео хорошее = нам нравится наш видео звонок

2012 © Skype Internal Data. Slide 28

NFR – Pass/Failed vs баллы

Slide 29

Индикатор Функциональное

Pass / Fail

Нефункциональное

0% → 100%

разрешение ≠ 0x0 max = VGA

частота кадров ≠ 0 max = 15fps

битрейт 350kpbs ± 10%

качество кадра кадр существует PSNR илиSSIM значение

2012 © Skype Internal Data.

Баллы

2012 © Skype Internal Data. Slide 30

Субъективное

тестирование

2012 © Skype Internal Data.

Эксперименты в видео лаборатории

Для разработки нового функционала

Пример: стоит ли применять скрытие ошибок?

Для настройки функций

Пример: какой компромисс между качеством видео и аудио на мобильных

устройствах?

2012 © Skype Internal Data. Slide 32

SAMVIQ методологияSAMVIQ (subjective assessment methodology for video quality ITU-R BT.700).

2012 © Skype Internal Data. Slide 33

Разделение для анализа результатов

Содержание:

• Сцены: статический бэкграунд, голова и плечи, динамичные сцены.

• Источник: веб камера в помещении, камера мобильного устройства.

Опыт испытателя:

• Не эксперт, аудио эксперт, видео эксперт, эксперт в аудио и видео

2012 © Skype Internal Data. Slide 34

Результаты?

2012 © Skype Internal Data. Slide 35

Обратная связь «реального мира»

2012 © Skype Internal Data. Slide 36

• Mean Opinion Score (MOS):

оценка обычного пользователя

(шкала от 1 до 5)

• Статистика звонка,

тип сети, логи звонка

Что мы с этим делаем?

Аудио – широкополосный аудио кодек SILK дает звонки длиннее и с лучшими баллами

2012 © Skype Internal Data. Slide 37

Сравнение субъективных тестов

Тестирование в лаборатории Обратная связь пользователей

Контролируемая среда Неконтролируемая среда

Функции в разработке Только выпущеный клиент

Быстрый оборотМедленное развертывание новых

конфигураций

Изолируемые функции Оценивается весь звонок

Абстрактная среда Оценка от конечного пользователя

Ограниченое количество тестов Миллионы испытателей

2012 © Skype Internal Data. Slide 38

Выводы

2012 © Skype Internal Data.

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

Метрики видео програмного обеспечения сложны и разнообразны

• Баланса параметров сложно достичь

• Тестирование происходит на многих уровнях

Объктивные оценки: автоматизируем

• e2e уровень интеграции: сценарии конечного пользователя

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

Slide 402012 © Skype Internal Data.

Применение качества видео

Субъективные оценки: что действительно важно для пользователей

• Лабораторные экспериметны: настройки функций, контролируемые условия

• Обратная связь: живое впечатление, масштабно

Видео тестировщик ответственен за

• внедрение, интерпретацию результатов, их обобщение с результатами других команд

• … помощь в обеспечении качества видеозвонка завтрашнего дня

Slide 412012 © Skype Internal Data.

Q&A

2012 © Skype Internal Data.