Тестирование наукоёмких SDK
description
Transcript of Тестирование наукоёмких SDK
Тестирование наукоёмких SDK
Виктория Манукянц и Вадим ЩемелининЦентр Речевых Технологий
www.speechpro.ru
Где это используется?
Озвучивание книг
Голосовое самообслуживание
Системы шумоочистки
Криминалистическая экспертиза
Немного о тестировании в ЦРТ
SDK (software development kit) — комплект средств разработки,
который позволяет специалистам по программному обеспечению
создавать приложения для определённого пакета программ,
программного обеспечения базовых средств разработки, аппаратной
платформы, компьютерной системы, игровых консолей,
операционных систем и прочих платформ.
Что мы тестируем?
Подводные камни,
● подход к тестированию;
● требования к обёртке для SDK;
● скрытый функционал и Unit Testing;
● кроссплатформенность тестов;
● поддержка тестов;
● оценка качества алгоритмов и расчёт метрик;
● устаревание тестовых выборок;
● требовательность тестов к ресурсам;
● и т.д….
или на чём можно споткнуться
Тестирование SDK
Белый? Чёрный?
Юзабилити, когда интерфейса не видно
1. Интерфейсы есть всегда.2. Интерфейсы SDK можно
увидеть, написав приложение.
3. Тестировщики пишут дорогие приложения.
Документация
Счастье — это...
Новенький SDK
Пример использования
+
xUnit
+
Что такое тест качества?
Это способ оценки надежности работы алгоритма после внесения изменений, выраженный в численном эквиваленте
Оценка наукоёмких алгоритмов
Где их взять?
Метрики оценки качества алгоритмов
«Простой» пример
ГОСТ Р ИСО МЭК 1975-1-2007
False Alarm = Вероятность Ложного Совпадения (ВЛС)Доля сравнений самозванца со степенью схожести не ниже порога принятия решения.
Miss Probability = Вероятность Ложного Несовпадения (ВЛНС)Доля сравнений пользователя со степенью схожести больше порога принятия решения.
Оценка алгоритма верификации диктора
Detection Error Tradeoff (DET) graph
илиКривая Компромиссионного Определения ошибки (ККОО)
Правильный выбор метрики
Клиента интересует результат, и метрика должна его отражать
Неавтоматизируемые метрики
ГОСТ Р 50840-95 “Передача речи по трактам связи. Методы
оценки качества, разборчивости и узнаваемости”
Ошибки в расчётах метрик
Реализована разработчиком
Реализована тестировщиком
+ Время реализации– Мы должны «верить» цифре
Ошибка не останется без вниманияОшибка не повлияет на результатМы «понимаем» цифруВремя реализации
+
+
+–
Тестовая выборка
Требования и SDK
Разные заказчики — разные требования:
Пользователь не сотрудничает с системой распознавания речи
Пользователь сотрудничает с системой распознавания речи
В результате:● увеличение количества тестовых выборок;● увеличение времени прохождения всех тестов;● увеличение аппаратных ресурсов для проведения тестов.
К практической реализации тестирования SDK
Генератор тестов
Распределённый запуск
Получившаяся система
Результаты
● Выбрали свой подход к тестированию SDK
○ Нашли интерфейс
○ Сформировали требования к тестам
● Разобрались в оценке качества алгоритмов
○ Рассмотрели основные “подводные камни” метрик
○ Победили увеличивающийся объём тестовых данных
Подведем итоги
Тестировать SDK интересно!
Спасибо за внимание!