alexey ostapov: distributed video management and security systems: tips and tricks

21
A part of the Nordic IT group EVRY Distributed Video Management and Security Systems by Alexey Ostapov Testing Tips and Tricks

Upload: andriy-krayniy

Post on 25-May-2015

99 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

A part of the Nordic IT group EVRY

Distributed Video Management and Security Systems

by Alexey Ostapov

Testing Tips and Tricks

Page 2: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Topics to Discuss

DIFFICULTIES IN TESTING OF COMPLEX SYSTEMS

DESIGNING TESTS FOR SECURITY SYSTEMS2

BUG HUNT …3

… AND REPRODUCTION SCENARIOS

AUTOMATED TESTING

TIPS AND TRICKS

1

5

6

4

Page 3: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

What I am doing here?

Know how to start testingKnow how others avoid rakesKnow how getting things doneCompare with personal experience

Get some Fun

Why this presentation is interesting?

Page 4: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Who is this guy?

Alexey Ostapov5+ years in software testing5 years in security systems testing1 year as QA trainerCertified tester and so onTest leadJust nice guy

http://www.linkedin.com/in/ostapov I am here

Page 5: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Simple System Test Flow

1.Run Application2.Do Some Steps3.Get some error

4.Reproduce (do step 2)5.???6.PROFIT!

Page 6: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Video Security System Test Flow

1.Run Application2.Do Some Steps3.Get some error

4.Reproduce (do step 2)5.???6.Does not reproduced?

Page 7: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Big Bro SW

Complexity of “Big Brother Software”

Plugins

SDK

Plugins

Operating System

Drivers

Frameworks

DirectX

Updates

Environment

Network

Cameras

Sensors

Recorders

Monitors

Services

FirmwareEquipmentSettings

API

Page 8: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Big Bro From Inside

Page 9: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

What Input for Test Design?

Specification

Specification

Specification

StandardsExisting systems

Common Sense

Page 10: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

What Test Design Techniques We are Using?

Equivalence partitionsBitrate (256 Kbps, 1 Mbps, 5 Mbps, etc)Device type (SD, HD, Full / MPEG, .H264 cameras, etc)

Decision Tables and State TransitionDevice state (sees motion, in recording, not connected, etc)Network condition (high, low, pings / 100 Mbps, 1 Gbps, etc)Settings setup (Administrator, User, Another User / Schedules, Quality)

PairwiseOS (Windows family)Device typeNetwork condition

All known suits!

Page 11: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

What Strategy Use?

Page 12: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

What Strategy We are Using?

Risk based strategy?SW can be considered as safety-critical

Specification based strategy?Requirement are not completeRequirements changing frequently

Mixed strategy – YESWhy?

Page 13: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Our Testing Process

Prerelease System Test

Exploratory testing

Updating Test Cases

Smoke Testing

System Regression

Test

Duration testing

Risk based testing

Page 14: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Main Targets for Bug Hunt

OS and UI• Everything user can do must be tested:

• System Configuration• System Usage• System Breaking

Network• Normal flow• Heavy traffic• Disconnections

Devices• Default Setting• Reconfiguration• Interoperability

Page 15: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Hunting BUG

1.Keep Calm!2.Remember what you did3.Gather as much as possible info

SettingsDevices/System stateLogsScreenshotEtc

What to do if you have found new one 1st time?

Page 16: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Reproducing BUG

1. Try to reproduce in own environment2. Try to reproduce in another environment (ask your colleagues)3. Try to reproduce same conditions

1. Network2. Devices3. Events

4. Use additional software to reproduce1. Debugger2. Sniffer3. Performance Monitor

5. Prepare new environment from scratch6. Do NOT give up

Page 17: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

CTQ? What a hell?

• Setup defined environment

• Run software in continuous video displaying mode

• Run Control Tools

• Wait defined time (72 hours minimum)

• Check software characteristics

• Perform smoke testing

How we do Critical-to-Quality duration testing

Page 18: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Why We are Doing CTQ?

Test stability over timeFind UI issuesFind memory leaksFind Crashes

Page 19: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Moments of Big Bro

GDI object crashApplication crashes randomly without any reasonsCause – GDI UI objects were never reused

.h264 decoder crashReproducible constantly but rare over some timeCause – camera sends bad frame

2.5 Gb RAM instant memory leakCause - parasite network traffic causes Win API alloc of huge memory

Kill process crashDoes not left any info about what happenedCause – internal crash in thread manager

Video recorder frequent rebootCause – FW used to work synchronously. Request were out of stack

Challenges make testing fun!

Page 20: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Questions?

Page 21: Alexey Ostapov: Distributed Video Management and Security Systems: Tips and Tricks

Contact us!

Address:03056,24, Polyova Str., Kyiv, Ukraine

Phone:+38 044 457-88-56Email:[email protected]

Alexey Ostapov

Email:alexey.ostapov@ infopulse.com.ua

Thank youfor

Attention!