SlideShare a Scribd company logo
1 of 54
Тестирование в 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 устройств
Пререквизиты и сложная архитектура
Сложная архитектура приложения:
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
Спасибо за внимание!

More Related Content

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

QVidium обзор продуктов и решений V.1.0
QVidium обзор продуктов и решений V.1.0QVidium обзор продуктов и решений V.1.0
QVidium обзор продуктов и решений V.1.0Cyril Mamai
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_haElena Ometova
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеCisco Russia
 
Как стать сетевым инженером за 90 дней
Как стать сетевым инженером за 90 днейКак стать сетевым инженером за 90 дней
Как стать сетевым инженером за 90 днейSkillFactory
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительностиVladimir Sitnikov
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)Artem Medvedev
 
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...Дмитрий Карпенко
 
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...Дмитрий Карпенко
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоSQALab
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
Марат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаМарат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаYandex
 
Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1Cisco Russia
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеGoSharp
 
Особенности тестирования сloud-приложений
Особенности тестирования сloud-приложенийОсобенности тестирования сloud-приложений
Особенности тестирования сloud-приложенийSQALab
 
Vblock от VCE: опыт первого внедрения в Украине.
Vblock от VCE: опыт первого внедрения в Украине. Vblock от VCE: опыт первого внедрения в Украине.
Vblock от VCE: опыт первого внедрения в Украине. Cisco Russia
 
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)Ontico
 
CCDE сертификация глазамиTAC инженера
CCDE сертификация глазамиTAC инженераCCDE сертификация глазамиTAC инженера
CCDE сертификация глазамиTAC инженераCisco Russia
 
Cовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelCовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelDEPO Computers
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo
 

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

QVidium обзор продуктов и решений V.1.0
QVidium обзор продуктов и решений V.1.0QVidium обзор продуктов и решений V.1.0
QVidium обзор продуктов и решений V.1.0
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Программируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применениеПрограммируемость и автоматизация решений Ciscо - практическое применение
Программируемость и автоматизация решений Ciscо - практическое применение
 
Как стать сетевым инженером за 90 дней
Как стать сетевым инженером за 90 днейКак стать сетевым инженером за 90 дней
Как стать сетевым инженером за 90 дней
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительности
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)
 
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
Внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
 
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
внедрение программно аппаратных комплексов Vblock - опыт компании инком; алек...
 
Миграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудствоМиграция JIRA - безобразие или безрассудство
Миграция JIRA - безобразие или безрассудство
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Марат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаМарат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная система
 
Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1Безопасность ЦОД-часть 1
Безопасность ЦОД-часть 1
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче Банке
 
Особенности тестирования сloud-приложений
Особенности тестирования сloud-приложенийОсобенности тестирования сloud-приложений
Особенности тестирования сloud-приложений
 
Vblock от VCE: опыт первого внедрения в Украине.
Vblock от VCE: опыт первого внедрения в Украине. Vblock от VCE: опыт первого внедрения в Украине.
Vblock от VCE: опыт первого внедрения в Украине.
 
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
 
CCDE сертификация глазамиTAC инженера
CCDE сертификация глазамиTAC инженераCCDE сертификация глазамиTAC инженера
CCDE сертификация глазамиTAC инженера
 
Cовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и IntelCовременные решения для ЦОД от DEPO и Intel
Cовременные решения для ЦОД от DEPO и Intel
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1С
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

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

  • 1. Тестирование в CCTV: частные случаи и глобальные проблемы Александр Васильев, ITV | AxxonSoft
  • 2. Обо мне • В 2006 году закончил химфак МГУ • 5 лет в химико-технологическом НИИ • В 2011 году ВНЕЗАПНО стал тестировщиком Сейчас: Ведущий инженер по качеству, тимлид
  • 3. План доклада • Актуальность темы • Видеонаблюдение для самых маленьких • Особенности ПО и разработки • Проблемы, их причины и решения • Выводы и мораль
  • 4. Актуальность темы Много докладов про: • Менеджмент (test / team / time) • Мобилки и web / облака • Автоматизацию Мало докладов про: • Desktop приложения • Ручное тестирование Совсем нет докладов про: • CCTV – Closed-Circuit TeleVision – Видеонаблюдение
  • 5. Система видеонаблюдения Аналоговые камеры => аналоговый сигнал Коаксиал
  • 6. Система видеонаблюдения DVR (Digital Video Recorder) – видеорегистратор Коаксиал LAN DVR
  • 7. Система видеонаблюдения IP-камеры => цифровой сигнал по LAN Коаксиал LAN DVR
  • 8. Система видеонаблюдения NVR (Network Video Recorder) – цифровой DVR, видео по LAN Коаксиал LAN NVRDVR
  • 9. NVR Система видеонаблюдения Современная система CCTV LAN VPN Облако СХД Мобилки Камера в интернете Домашний компьютер
  • 11. Особенности ПО и разработки Особенности ПО • Пререквизиты и сложная архитектура • Распределённая система и сети • Спец.оборудование и ресурсоёмкость Особенности разработки • Разработкой руководит гендир • Мы почти не проектная компания
  • 12. Пререквизиты и сложная архитектура Сторонний софт, «пререквизиты»: Сторонние решения внутри Axxon Next:
  • 13. Пререквизиты и сложная архитектура Наш софт (с отдельным инсталлятором): • Driver Pack – интеграция устройств • Detector Pack – видео- и аудиоаналитика Наши технологии: • NGP – ядро сервера (Next Generation Platform) • Business Layer – прокладка между сервером и клиентом. Главная головная боль. ~180 вендоров ~ 1500 устройств
  • 14. Пререквизиты и сложная архитектура Сложная архитектура приложения: GUI NGP Business Layer Driver Pack Клиент, C# Сервер, C++ Mercurial OpenGL .NET TAO PostgreSQL Detector Pack VC++ Redist
  • 15. Распределённая система и работа в сети Самый простой случай: Сервер + Клиент Более распространённая ситуация:
  • 16. Распределённая система и работа в сети Клиент Домен Клиенты Сервер Более распространённая ситуация:
  • 17. Распределённая система и работа в сети Домен Клиенты Мультидомен
  • 18. Распределённая система и работа в сети Работа в сети: • Широкий канал:  1 камера 720p / 25 fps / h264 => 8 Mbit/s • Подсети, NAT, VPN • Конфликты IP-адресов, потеря пакетов • Broadcast / Multicast / Unicast
  • 19. Спец.оборудование и ресурсоёмкость Камеры – это не только видео Датчики Реле Микрофон Динамик PTZ Прошивка
  • 21. Спец.оборудование и ресурсоёмкость Экспорт из архива Аудиоаналитика Отображение Работа с БД Запись в архив Видеоаналитика Декодирование
  • 22. Особенности ПО и разработки Особенности ПО • Пререквизиты и сложная архитектура • Распределённая система и сети • Спец.оборудование и ресурсоёмкость Особенности разработки • Разработкой руководит гендир • Мы почти не проектная компания
  • 24. Разработкой руководит гендир Спецификация есть: Спека Тест-план Софт Баг Тест-дизайнер Разработчик Тестировщик
  • 26. Разработкой руководит гендир Спецификация есть: СофтРазработчик Тестировщик Письмо/Skype/…
  • 27. Мы – не проектная компания Для крупного заказчика мы – проектная компания Индивидуальный подход к разработке • Персональные версии • Новые фичи в релиз-кандидате • Объём новых фич не фиксирован Индивидуальный подход к сопровождению • Починка багов на объекте, кастомные модули • Направляем тестеров на объекты по всему миру Мы почти не проектная компания
  • 28. Сложности тестирования 1. Нет автоматизации 2. Непредсказуемый срок стабилизации 3. Нет удалённого тестирования 4. Нехватка ресурсов 5. Нет спец.оборудования 6. Нет спецификаций 7. Неравномерная загрузка
  • 29. Сложности тестирования Неравномерная загрузка Нет спецификаций Нет спец.оборудования Нехватка ресурсов Нет удалённого тестирования Непредсказуемый срок стабилизации Нет автоматизации Пререквизиты и сложная архитекура Распределённая система и сети Спец.оборудование и ресурсоёмкость Разработкой руководит гендир Мы почти не проектная компания
  • 30. Сложности: причины и решения Нет автоматизации • Кадровая политика • Нет времени • Технические причины
  • 31. Сложности: причины и решения Зато есть автоматизация рутинных операций: • Публикация сборок • Сбор метрик по отделу
  • 32. Сложности: причины и решения Нет автоматизации Пререквизиты и сложная архитектура (ещё раз) GUI NGP Business Layer Driver Pack Клиент, C# Сервер, C++ Mercurial OpenGL .NET TAO PostgreSQL Detector Pack VC++ Redist
  • 33. Сложности: причины и решения Нет автоматизации Причины: • Пререквизиты и сложная архитектура  Ресурсы на создание и поддержку автотетстов • Спец.оборудование и ресурсоёмкость  Сложная автоматизация механических действий • Разработкой руководит гендир  Непредсказуемые изменения ПО
  • 34. Сложности: причины и решения Нет автоматизации Решения: • Автоматизация – не панацея и не самоцель • Отлаженное ручное тестирование • Обучение автотестеров в отделе
  • 35. Сложности: причины и решения Непредсказуемый срок стабилизации Причины: • Пререквизиты и сложная архитектура  Ошибки в архитектуре: легко наводятся баги • Мы почти не проектная компания  Новые фичи в релиз-кандидате  Нечёткие сроки всего
  • 36. Сложности: причины и решения Непредсказуемый срок стабилизации 1 2 3 4 5 6 7 8 Итерации Блокеры по итерациям
  • 37. Сложности: причины и решения Непредсказуемый срок стабилизации Решения: • Перераспределение ресурсов отдела • Нет чётких сроков стабилизации
  • 38. Сложности: причины и решения Нет удалённого тестирования Причины: • Распределённая система и сети  Требуется широкий канал • Спец.оборудование и ресурсоёмкость  Сложности с механическими действиями
  • 39. Сложности: причины и решения Нет удалённого тестирования Решения: • Работа в дружном коллективе • Гибкий график, лояльное начальство
  • 40. Сложности: причины и решения Нехватка ресурсов Причины: • Спец.оборудование и ресурсоёмкость  Нехватка мощностей для адекватной нагрузки • Распределённая система и сети  Не можем повторить сложный баг у клиента
  • 41. Сложности: причины и решения Нехватка ресурсов SaaS / Web-приложения Производитель софта Потребитель софта
  • 42. Сложности: причины и решения Нехватка ресурсов Desktop / CCTV Производитель софта Потребитель софта Как это тестировать?!
  • 43. Сложности: причины и решения Конфигурация 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 Нехватка ресурсов
  • 44. Сложности: причины и решения Нехватка ресурсов Решения: • Использование виртуализации • Оптимистичный взгляд на мир
  • 45. Сложности: причины и решения Нет спец.оборудования Причины: • Спец.оборудование и ресурсоёмкость  Штатное тестирование спец.устройств
  • 46. Сложности: причины и решения Нет спец.оборудования Решения: • Эмуляция устройств и сетей • Если дают – отлаживаемся на объекте
  • 47. Сложности: причины и решения Отсутствие спецификаций • Затруднено написание тест-планов • Баги закрываются как «by design» • Нет планирования фич по версиям
  • 48. Сложности: причины и решения Отсутствие спецификаций Причины: • Разработкой руководит гендир  Спецификации отменены • Мы почти не проектная компания
  • 49. Сложности: причины и решения Отсутствие спецификаций Причины: • Разработкой руководит гендир  Спецификации отменены • Мы почти не проектная компания  Фича интегрируется по договорённости
  • 50. Сложности: причины и решения Отсутствие спецификаций Решения: • Взаимодействие с разработкой, запросы в Jira • Свободное общение, неформальная атмосфера
  • 51. Сложности: причины и решения Неравномерная загрузка группы Причины: • Разработкой руководит гендир • Мы почти не проектная компания  «Гибкое управление разработкой»  Внеплановые проверки фич
  • 52. Сложности: причины и решения Неравномерная загрузка группы Решения: • Распределение задач в Департаменте • «Гибкое планирование» работы QA
  • 53. Выводы Проблемы вне QA: Проблемы внутри QA: Непредсказуемый срок стабилизации Нет спецификаций Неравномерная загрузка Нет автоматизации Нет удалённого тестирования Нет ресурсов и спец.оборудования Решения Адаптироваться к текущей бизнес-модели Улучшать взаимодействие с разработкой Надеяться на нормализацию ситуации Автоматизация и удалёнка – не самоцель Подготовка кадров в отделе Виртуализация / эмуляция и т.п.