Тестирование в cctv: частные случаи и глобальные...

Post on 24-Jul-2015

96 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Тестирование в CCTV:частные случаи и глобальные проблемы

Александр Васильев, ITV | AxxonSoft

Обо мне

• В 2006 году закончил химфак МГУ• 5 лет в химико-технологическом НИИ• В 2011 году ВНЕЗАПНО стал тестировщиком

Сейчас:

Ведущий инженер по качеству, тимлид

План доклада

• Актуальность темы• Видеонаблюдение для самых маленьких• Особенности ПО и разработки• Проблемы, их причины и решения• Выводы и мораль

Актуальность темы

Много докладов про:• Менеджмент (test / team / time)• Мобилки и web / облака• Автоматизацию

Мало докладов про:

• Desktop приложения

• Ручное тестирование

Совсем нет докладов про:• CCTV – Closed-Circuit TeleVision – Видеонаблюдение

Система видеонаблюдения

Аналоговые камеры => аналоговый сигнал

Коаксиал

Система видеонаблюдения

DVR (Digital Video Recorder) – видеорегистратор

Коаксиал LAN

DVR

Система видеонаблюдения

IP-камеры => цифровой сигнал по LAN

Коаксиал LAN

DVR

Система видеонаблюдения

NVR (Network Video Recorder) – цифровой DVR, видео по LAN

Коаксиал LAN

NVRDVR

NVR

Система видеонаблюдения

Современная система CCTV

LAN

VPN

Облако

СХД

Мобилки

Камера винтернете

Домашнийкомпьютер

Инструментарий ручного тестирования

Особенности ПО и разработкиОсобенности ПО• Пререквизиты и сложная архитектура• Распределённая система и сети• Спец.оборудование и ресурсоёмкость

Особенности разработки• Разработкой руководит гендир• Мы почти не проектная компания

Пререквизиты и сложная архитектура

Сторонний софт, «пререквизиты»:

Сторонние решения внутри Axxon Next:

Пререквизиты и сложная архитектура

Наш софт (с отдельным инсталлятором):• Driver Pack – интеграция устройств• Detector Pack – видео- и аудиоаналитика

Наши технологии:• NGP – ядро сервера (Next Generation Platform)• Business Layer – прокладка между сервером и клиентом.

Главная головная боль.

~180 вендоров~ 1500 устройств

Пререквизиты и сложная архитектура

Сложная архитектура приложения:

GUINGP

BusinessLayer

DriverPack

Клиент, C# Сервер, C++

Mercurial

OpenGL

.NET TAO

PostgreSQL

DetectorPack

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. Неравномерная загрузка

Сложности тестирования

Неравномерная загрузка

Нет спецификаций

Нет спец.оборудования

Нехватка ресурсов

Нет удалённого тестирования

Непредсказуемый срок стабилизации

Нет автоматизацииПререквизиты и

сложная архитекура

Распределённая система и сети

Спец.оборудование и ресурсоёмкость

Разработкой руководит гендир

Мы почти не проектная компания

Сложности: причины и решения

Нет автоматизации• Кадровая политика• Нет времени• Технические причины

Сложности: причины и решения

Зато есть автоматизация рутинных операций:

• Публикация сборок

• Сбор метрик по отделу

Сложности: причины и решения

Нет автоматизации

Пререквизиты и сложная архитектура (ещё раз)

GUINGP

BusinessLayer

DriverPack

Клиент, C# Сервер, C++

Mercurial

OpenGL

.NET TAO

PostgreSQL

DetectorPack

VC++ Redist

Сложности: причины и решения

Нет автоматизации

Причины:

• Пререквизиты и сложная архитектура Ресурсы на создание и поддержку автотетстов

• Спец.оборудование и ресурсоёмкость Сложная автоматизация механических действий

• Разработкой руководит гендир Непредсказуемые изменения ПО

Сложности: причины и решения

Нет автоматизации

Решения:

• Автоматизация – не панацея и не самоцель

• Отлаженное ручное тестирование

• Обучение автотестеров в отделе

Сложности: причины и решения

Непредсказуемый срок стабилизации

Причины:

• Пререквизиты и сложная архитектура Ошибки в архитектуре: легко наводятся баги

• Мы почти не проектная компания Новые фичи в релиз-кандидате

Нечёткие сроки всего

Сложности: причины и решения

Непредсказуемый срок стабилизации

1 2 3 4 5 6 7 8

Блокеры по итерациям

Итерации

Сложности: причины и решения

Непредсказуемый срок стабилизации

Решения:

• Перераспределение ресурсов отдела

• Нет чётких сроков стабилизации

Сложности: причины и решения

Нет удалённого тестирования

Причины:

• Распределённая система и сети Требуется широкий канал

• Спец.оборудование и ресурсоёмкость Сложности с механическими действиями

Сложности: причины и решения

Нет удалённого тестирования

Решения:

• Работа в дружном коллективе

• Гибкий график, лояльное начальство

Сложности: причины и решения

Нехватка ресурсов

Причины:

• Спец.оборудование и ресурсоёмкость Нехватка мощностей для адекватной нагрузки

• Распределённая система и сети Не можем повторить сложный баг у клиента

Сложности: причины и решения

Нехватка ресурсов

SaaS / Web-приложения

Производитель софта Потребитель софта

Сложности: причины и решения

Нехватка ресурсов

Desktop / CCTV

Производитель софта Потребитель софта

Как это тестировать?!

Сложности: причины и решения

Конфигурация

15 камер: 720p / 25 fpsАрхив: 2 недели

ТребуетсяСеть: 120 Mbit/sCore i7 4790: 40 – 50%HDD: 18 Tb

Примеры (число камер)Bank Melia Iran (Иран) 722YPF (Аргентина) 800

Emperors Palace Casino (ЮАР) 500

Mudo Chain (Турция) 1920

Нехватка ресурсов

Сложности: причины и решения

Нехватка ресурсов

Решения:

• Использование виртуализации

• Оптимистичный взгляд на мир

Сложности: причины и решения

Нет спец.оборудования

Причины:

• Спец.оборудование и ресурсоёмкость Штатное тестирование спец.устройств

Сложности: причины и решения

Нет спец.оборудования

Решения:

• Эмуляция устройств и сетей

• Если дают – отлаживаемся на объекте

Сложности: причины и решения

Отсутствие спецификаций

• Затруднено написание тест-планов

• Баги закрываются как «by design»

• Нет планирования фич по версиям

Сложности: причины и решения

Отсутствие спецификаций

Причины:• Разработкой руководит гендир

Спецификации отменены

• Мы почти не проектная компания

Сложности: причины и решения

Отсутствие спецификаций

Причины:• Разработкой руководит гендир

Спецификации отменены

• Мы почти не проектная компания Фича интегрируется по договорённости

Сложности: причины и решения

Отсутствие спецификаций

Решения:• Взаимодействие с разработкой, запросы в Jira

• Свободное общение, неформальная атмосфера

Сложности: причины и решения

Неравномерная загрузка группы

Причины:• Разработкой руководит гендир• Мы почти не проектная компания

«Гибкое управление разработкой» Внеплановые проверки фич

Сложности: причины и решения

Неравномерная загрузка группы

Решения:• Распределение задач в Департаменте

• «Гибкое планирование» работы QA

ВыводыПроблемы вне QA: Проблемы внутри QA:Непредсказуемый срок стабилизацииНет спецификацийНеравномерная загрузка

Нет автоматизацииНет удалённого тестированияНет ресурсов и спец.оборудования

РешенияАдаптироваться к текущей бизнес-моделиУлучшать взаимодействие с разработкойНадеяться на нормализацию ситуации

Автоматизация и удалёнка – не самоцельПодготовка кадров в отделеВиртуализация / эмуляция и т.п.

Контакты

alexx.chem

alexx.ru@gmail.com

Спасибо за внимание!

top related