Тестирование наукоёмких sdk
DESCRIPTION
Презентация Вадима Щемелинина и Виктории Манукянц на SQA Days-16 14-15 ноября 2014, Санкт-Петербург, Россия www.sqadays.comTRANSCRIPT
![Page 1: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/1.jpg)
Тестирование наукоёмких SDK
Виктория Манукянц и Вадим ЩемелининЦентр Речевых Технологий
![Page 2: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/2.jpg)
www.speechpro.ru
![Page 3: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/3.jpg)
Где это используется?
Озвучивание книг
Голосовое самообслуживание
Системы шумоочистки
Криминалистическая экспертиза
![Page 4: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/4.jpg)
Немного о тестировании в ЦРТ
![Page 5: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/5.jpg)
SDK (software development kit) — комплект средств разработки,
который позволяет специалистам по программному обеспечению
создавать приложения для определённого пакета программ,
программного обеспечения базовых средств разработки, аппаратной
платформы, компьютерной системы, игровых консолей,
операционных систем и прочих платформ.
Что мы тестируем?
![Page 6: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/6.jpg)
Подводные камни,
● подход к тестированию;
● требования к обёртке для SDK;
● скрытый функционал и Unit Testing;
● кроссплатформенность тестов;
● поддержка тестов;
● оценка качества алгоритмов и расчёт метрик;
● устаревание тестовых выборок;
● требовательность тестов к ресурсам;
● и т.д….
или на чём можно споткнуться
![Page 7: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/7.jpg)
Тестирование SDK
Белый? Чёрный?
![Page 8: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/8.jpg)
Юзабилити, когда интерфейса не видно
1. Интерфейсы есть всегда.2. Интерфейсы SDK можно
увидеть, написав приложение.
3. Тестировщики пишут дорогие приложения.
Документация
![Page 9: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/9.jpg)
Счастье — это...
Новенький SDK
Пример использования
+
xUnit
+
![Page 10: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/10.jpg)
Что такое тест качества?
Это способ оценки надежности работы алгоритма после внесения изменений, выраженный в численном эквиваленте
Оценка наукоёмких алгоритмов
![Page 11: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/11.jpg)
Где их взять?
Метрики оценки качества алгоритмов
![Page 12: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/12.jpg)
«Простой» пример
ГОСТ Р ИСО МЭК 1975-1-2007
False Alarm = Вероятность Ложного Совпадения (ВЛС)Доля сравнений самозванца со степенью схожести не ниже порога принятия решения.
Miss Probability = Вероятность Ложного Несовпадения (ВЛНС)Доля сравнений пользователя со степенью схожести больше порога принятия решения.
Оценка алгоритма верификации диктора
Detection Error Tradeoff (DET) graph
илиКривая Компромиссионного Определения ошибки (ККОО)
![Page 13: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/13.jpg)
Правильный выбор метрики
Клиента интересует результат, и метрика должна его отражать
![Page 14: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/14.jpg)
Неавтоматизируемые метрики
ГОСТ Р 50840-95 “Передача речи по трактам связи. Методы
оценки качества, разборчивости и узнаваемости”
![Page 15: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/15.jpg)
Ошибки в расчётах метрик
Реализована разработчиком
Реализована тестировщиком
+ Время реализации– Мы должны «верить» цифре
Ошибка не останется без вниманияОшибка не повлияет на результатМы «понимаем» цифруВремя реализации
+
+
+–
![Page 16: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/16.jpg)
Тестовая выборка
![Page 17: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/17.jpg)
Требования и SDK
Разные заказчики — разные требования:
Пользователь не сотрудничает с системой распознавания речи
Пользователь сотрудничает с системой распознавания речи
В результате:● увеличение количества тестовых выборок;● увеличение времени прохождения всех тестов;● увеличение аппаратных ресурсов для проведения тестов.
![Page 18: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/18.jpg)
К практической реализации тестирования SDK
Генератор тестов
![Page 19: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/19.jpg)
Распределённый запуск
![Page 20: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/20.jpg)
Получившаяся система
Результаты
![Page 21: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/21.jpg)
● Выбрали свой подход к тестированию SDK
○ Нашли интерфейс
○ Сформировали требования к тестам
● Разобрались в оценке качества алгоритмов
○ Рассмотрели основные “подводные камни” метрик
○ Победили увеличивающийся объём тестовых данных
Подведем итоги
Тестировать SDK интересно!
![Page 22: Тестирование наукоёмких SDK](https://reader036.vdocuments.us/reader036/viewer/2022062308/558b3da6d8b42a18058b4698/html5/thumbnails/22.jpg)
Спасибо за внимание!