Тестирование в CCTV:
частные случаи и глобальные проблемы
Александр Васильев, ITV | AxxonSoft
План доклада
•
Актуальность темы
•
Видеонаблюдение для самых маленьких
•
Особенности ПО и разработки
•
Проблемы, их причины и решения
•
Выводы и мораль
Актуальность темы
Много докладов про:
•
Менеджмент (test / team / time)
•
Мобилки и web / облака
•
Автоматизацию
Мало докладов про:
•
D
esktop приложения
•
Ручное
тестирование
Совсем нет докладов про:
•
CCTV – Closed-Circuit TeleVision – Видеонаблюдение
Система видеонаблюдения
Аналоговые камеры => аналоговый сигнал
Коаксиал
Система видеонаблюдения
DVR (Digital Video Recorder) – видеорегистратор
Коаксиал
LAN
DVR
Система видеонаблюдения
IP-камеры => цифровой сигнал по LAN
Коаксиал
LAN
DVR
Система видеонаблюдения
NVR (Network Video Recorder) – цифровой DVR,
видео по LAN
Коаксиал
LAN
NVR
DVR
NVR
Система видеонаблюдения
Современная система CCTV
LAN
VPN
Облако
СХД
Мобилки
Камера в
интернете
Домашний
компьютер
Инструментарий ручного тестирования
Особенности ПО и разработки
Особенности ПО
•
Пререквизиты и сложная архитектура
•
Распределённая система и сети
•
Спец.оборудование и ресурсоёмкость
Особенности разработки
•
Разработкой руководит гендир
•
Мы
почти
не проектная компания
Пререквизиты и сложная архитектура
Сторонний софт, «пререквизиты»:
Сторонние решения внутри Axxon Next:
Пререквизиты и сложная архитектура
Наш софт (с отдельным инсталлятором):
•
Driver Pack
– интеграция устройств
•
Detector Pack
– видео- и аудиоаналитика
Наши технологии:
•
NGP
– ядро сервера (Next Generation Platform)
•
Business Layer
– прокладка между сервером и клиентом.
Главная головная боль.
~180 вендоров
~ 1500 устройств
Пререквизиты и сложная архитектура
Сложная архитектура приложения:
GUI
NGP
Business
Layer
Driver
Pack
Клиент, C#
Сервер, C++
Mercurial
OpenGL
.NET
TAO
PostgreSQL
Detector
Pack
VC++ Redist
Распределённая система и работа в сети
Самый простой случай:
Сервер
+
Клиент
Более распространённая ситуация:
Распределённая система и работа в сети
Клиент
Домен
Клиенты
Сервер
Более распространённая ситуация:
Распределённая система и работа в сети
Домен
Клиенты
Мультидомен
Распределённая система и работа в сети
Работа в сети:
•
Широкий канал:
1 камера 720p / 25 fps / h264 =>
8 Mbit/s
•
Подсети, NAT, VPN
•
Конфликты IP-адресов, потеря пакетов
•
Broadcast / Multicast / Unicast
Спец.оборудование и ресурсоёмкость
Дополнительные возможности камер
Датчики
Реле
Микрофон
Динамик
PTZ
Спец.оборудование и ресурсоёмкость
Спец.оборудование и ресурсоёмкость
Экспорт из архива
Аудиоаналитика
Отображение
Работа с БД
Запись в архив
Видеоаналитика
Декодирование
Разработкой руководит гендир
Спецификация есть:
PM
Спека
Разработкой руководит гендир
Спецификация есть:
Спека
Тест-план
Софт
Баг
Тест-дизайнер
Разработчик
Тестировщик
Главный
Разработкой руководит гендир
Спецификации нет:
Письмо/Skype/…
Разработкой руководит гендир
Спецификация есть:
Софт
Разработчик
Тестировщик
Письмо/Skype/…
Мы – не проектная компания
Для крупного заказчика мы – проектная компания
Индивидуальная разработка
•
Персональные версии
•
Новые фичи в релиз-кандидате
•
Объём новых фич не фиксирован
Индивидуальное сопровождение
•
Починка багов на объекте, кастомные модули
•
Направляем тестеров на объекты по всему миру
Мы почти не проектная компания
Сложности тестирования
1.
Нет автоматизации
2.
Непредсказуемый срок стабилизации
3.
Нет удалённого тестирования
4.
Нехватка ресурсов
5.
Нет спец.оборудования
6.
Нет спецификаций
7.
Неравномерная загрузка
Сложности тестирования
Неравномерная
загрузка
Нет спецификаций
Нет
спец.оборудования
Нехватка ресурсов
Нет удалённого
тестирования
Непредсказуемый
срок стабилизации
Нет автоматизации
Пререквизиты и
сложная архитекура
Распределённая
система и сети
Спец.оборудование
и ресурсоёмкость
Разработкой
руководит гендир
Мы почти не
проектная компания
Сложности: причины и решения
Нет автоматизации
•
Кадровая политика
•
Нет времени
•
Технические причины
Сложности: причины и решения
Зато есть автоматизация рутинных операций:
•
Публикация сборок
•
Сбор метрик по отделу
Сложности: причины и решения
Нет автоматизации
Причины:
•
Пререквизиты и сложная архитектура
•
Спец.оборудование и ресурсоёмкость
•
Разработкой руководит гендир
Сложности: причины и решения
Нет автоматизации
Пререквизиты и сложная архитектура (ещё раз)
GUI
NGP
Business
Layer
Driver
Pack
Клиент, C#
Сервер, C++
Mercurial
OpenGL
.NET
TAO
PostgreSQL
Detector
Pack
VC++ Redist
Сложности: причины и решения
Нет автоматизации
Причины:
•
Пререквизиты и сложная архитектура
Ресурсы на создание и поддержку автотетстов
•
Спец.оборудование и ресурсоёмкость
Сложная автоматизация механических действий
•
Разработкой руководит гендир
Непредсказуемые изменения ПО
Сложности: причины и решения
Нет автоматизации
Решения:
•
Отлаженное ручное тестирование
•
Автоматизация – не панацея
•
Обучение автотестеров в отделе
Сложности: причины и решения
Непредсказуемый срок стабилизации
Причины:
•
Пререквизиты и сложная архитектура
Легко наводятся новые баги
•
Мы почти не проектная компания
Максимизирована скорость разработки
Нечёткие сроки всего
Сложности: причины и решения
Непредсказуемый срок стабилизации
Итерации тестирования
Число блокеров
1
2
3
4
5
6
7
8
Сложности: причины и решения
Непредсказуемый срок стабилизации
Решения:
•
Перераспределение ресурсов отдела
•
Нет чётких сроков стабилизации
Сложности: причины и решения
Нет удалённого тестирования
Причины:
•
Распределённая система и сети
Требуется широкий канал
•
Спец.оборудование и ресурсоёмкость
Сложности с механическими действиями
Сложности: причины и решения
Нет удалённого тестирования
Решения:
•
Работа в дружном коллективе
•
Гибкий график, лояльное начальство
Сложности: причины и решения
Нехватка ресурсов
Причины:
•
Спец.оборудование и ресурсоёмкость
Нехватка мощностей для адекватной нагрузки
•
Распределённая система и сети
Не можем повторить сложный баг у клиента
Сложности: причины и решения
Нехватка ресурсов
SaaS / Web-приложения
Производитель софта
Потребитель софта
Сложности: причины и решения
Нехватка ресурсов
Desktop / CCTV
Производитель софта
Потребитель софта
Как это
тестировать?!
Сложности: причины и решения
Конфигурация
15 камер:720p / 25 fps
Архив: 2 недели
Требуется
Сеть: 120 Mbit/s
Core i7 4790:
40 – 50%
HDD:18 Tb
Примеры (число камер)
Bank Melia Iran(Иран)
722
YPF(Аргентина)
800
Emperors Palace Casino(ЮАР)
500
Mudo Chain(Турция)1920
Нехватка ресурсов
Сложности: причины и решения
Нехватка ресурсов
Решения:
•
Использование виртуализации
•
Оптимистичный взгляд на мир
Сложности: причины и решения
Нет спец.оборудования
Причины:
•
Спец.оборудование и ресурсоёмкость
Штатное тестирование спец.устройств
Сложности: причины и решения
Нет спец.оборудования
Решения:
•
Эмуляция устройств и сетей
•
Если дают – отлаживаемся на объекте
Сложности: причины и решения
Отсутствие спецификаций
•
Затруднено написание тест-планов
•
Баги закрываются как «by design»
•
Нет планирования фич по версиям
Сложности: причины и решения
Отсутствие спецификаций
Причины:
•
Разработкой руководит гендир
Спецификации отменены
•
Мы почти не проектная компания
Сложности: причины и решения
Отсутствие спецификаций
Причины:
•
Разработкой руководит гендир
Спецификации отменены
•
Мы почти не проектная компания
Фича интегрируется по договорённости
Сложности: причины и решения
Отсутствие спецификаций
Решения:
•
Взаимодействие с разработкой, запросы в Jira
Сложности: причины и решения
Неравномерная загрузка группы
Причины:
•
Разработкой руководит гендир
•
Мы почти не проектная компания
«Гибкое управление разработкой»
Внеплановые проверки фич
Сложности: причины и решения
Неравномерная загрузка группы
Решения:
•
Распределение задач в Департаменте
•
«Гибкое планирование» работы QA
Выводы
Проблемы вне QA:
Проблемы внутри QA:
Непредсказуемый срок
стабилизации
Нет спецификаций
Неравномерная загрузка
Нет автоматизации
Нет удалённого тестирования
Нет ресурсов и
спец.оборудования
Решения
Адаптироваться к текущей
бизнес-модели
Улучшать взаимодействие с
разработкой
Надеяться на нормализацию
ситуации
Автоматизация и удалёнка – не
самоцель
Подготовка кадров в отделе
Виртуализация / эмуляция и т.п.
Контакты
alexx.chem
alexx.ru@gmail.com
Спасибо за внимание!
Тестирование в CCTV: частные случаи и глобальные проблемы