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

54
Тестирование в CCTV: частные случаи и глобальные проблемы Александр Васильев, ITV | AxxonSoft

Upload: sqalab

Post on 24-Jul-2015

107 views

Category:

Education


4 download

TRANSCRIPT

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

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

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

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

Обо мне

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

Сейчас:

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

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

План доклада

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

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

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

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

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

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

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

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

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

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

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

Коаксиал

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

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

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

Коаксиал LAN

DVR

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

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

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

Коаксиал LAN

DVR

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

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

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

Коаксиал LAN

NVRDVR

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

NVR

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

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

LAN

VPN

Облако

СХД

Мобилки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GUINGP

BusinessLayer

DriverPack

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

Mercurial

OpenGL

.NET TAO

PostgreSQL

DetectorPack

VC++ Redist

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

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

Самый простой случай:

Сервер + Клиент

Более распространённая ситуация:

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

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

Клиент

Домен Клиенты

Сервер

Более распространённая ситуация:

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

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

Домен КлиентыМультидомен

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

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

Работа в сети:

• Широкий канал:

1 камера 720p / 25 fps / h264 => 8 Mbit/s

• Подсети, NAT, VPN

• Конфликты IP-адресов, потеря пакетов

• Broadcast / Multicast / Unicast

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

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

Камеры – это не только видео

Датчики

Реле

Микрофон

Динамик

PTZ

Прошивка

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

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

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

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

Экспорт из архива Аудиоаналитика

Отображение

Работа с БД Запись в архив

Видеоаналитика

Декодирование

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

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

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

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

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

Спецификация есть:

PM Спека

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

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

Спецификация есть:

Спека

Тест-план

Софт Баг

Тест-дизайнер

Разработчик

Тестировщик

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

Главный

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

Спецификации нет:

Письмо/Skype/…

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

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

Спецификация есть:

СофтРазработчик

Тестировщик

Письмо/Skype/…

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

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

Для крупного заказчика мы – проектная компания

Индивидуальный подход к разработке• Персональные версии• Новые фичи в релиз-кандидате• Объём новых фич не фиксирован

Индивидуальный подход к сопровождению• Починка багов на объекте, кастомные модули• Направляем тестеров на объекты по всему миру

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

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

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

1. Нет автоматизации2. Непредсказуемый срок стабилизации3. Нет удалённого тестирования4. Нехватка ресурсов5. Нет спец.оборудования6. Нет спецификаций7. Неравномерная загрузка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GUINGP

BusinessLayer

DriverPack

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

Mercurial

OpenGL

.NET TAO

PostgreSQL

DetectorPack

VC++ Redist

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

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

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

Причины:

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

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

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

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

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

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

Решения:

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

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

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

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

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

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

Причины:

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

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

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

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

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

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

1 2 3 4 5 6 7 8

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

Итерации

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

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

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

Решения:

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

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

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

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

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

Причины:

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

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

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

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

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

Решения:

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

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

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

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

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

Причины:

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

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

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

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

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

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

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

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

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

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

Desktop / CCTV

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

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

Page 43: Тестирование в 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

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

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

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

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

Решения:

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

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

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

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

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

Причины:

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

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

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

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

Решения:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контакты

alexx.chem

[email protected]

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