How to Test the
Internet of Everything
@paul_gerrard
Paul Gerrard
paul@gerrardconsulting.com
gerrardconsulting.com
Slide 1
Agenda
•
The Testing Challenge
•
The Scope of IoE Testing
•
Test Strategy for the IoE
•
The Future for Testing and Testers
•
Close
Slide 2
Intelligent Definition and Assurance
Background
•
The IoE will dominate our industry for 10 to 20 years
•
Right now, it is very confusing
•
Standards emerging, but current applications are
bleeding edge, speculative or exploratory
•
Security and privacy risks dominate today
•
But functional and integration complexity challenges
must also be overcome
•
There are also broader societal risks
•
Government, companies and individuals need to pay
attention.
Slide 3
Intelligent Definition and Assurance
Introduction
•
IoE will be 'everything on the internet' soon
•
A strategy for 'Testing Everything'?
–
Dimensions, influences, and opportunities
–
Can only paint a picture
–
Suggest what testers need to think about
•
The challenge we face is quite different from
what we have tested before.
Slide 4
Intelligent Definition and Assurance
Scope of the Internet of Everything
•
The scope of IoE is growing and includes:
–
Vast number of static devices, mostly sensors
–
Mobile devices:
cars, buses, trains, planes, ships, satellites...
•
It
will
include:
–
Objects in homes, cities, work, hospitals, social venues
–
Wearable, human-embedded devices, phones and tablets
•
IoE integrates with 100s of services, payment and
legacy systems
•
Eventually, IoE will be called the Internet
•
The test strategy for the IoE is the test strategy for
everything.
Slide 5
Intelligent Definition and Assurance
The Biggest Thing in 30 Years?
•
Continuous delivery and DevOps bring factory
automation processes into software
•
After Waterfall and Agile, CD and DevOps
become 'the third way'
•
The IoE will affect everyone on the planet.
•
From 50-700bn devices over the next 5 to 20
years; no one knows
•
We are on a journey that will increase the scale
of the internet by one hundred times
•
How will we test it?
Slide 6
Intelligent Definition and Assurance
The Testing Journey
(from the 1980s to the present)
•
Screen based applications running on dumb terminals –
1980s
•
GUI applications and Client/Server – 1990s
•
The emergence of the Internet - 1995
•
'Mobile Revolution' - today
•
Internet of Everything - emerging
–
Smart phones, buildings, cars, ships, planes and cities
–
BigData, pervasive, wearable computing
–
Massive scale
•
IoE brings new levels of complexity and scale
•
Non-functional risks are well-understood – what's new?
•
Functional testing and simulation at very large scale.
Slide 7
Intelligent Definition and Assurance
If CMOs hold the budget…
•
There is a shift in power in the mobile space
•
If marketers hold the money for building IoE:
–
IT will have to meet short and long term business
goals
–
Development must deliver, experiment and learn
•
Market testing and experimentation to drive
rapid evolution
•
DevOps, Continuous Delivery, high levels of
automation and simulation
•
Test analytics blended with production analytics.
Slide 8
Intelligent Definition and Assurance
Connecting the Unconnected
•
'Internet.org by Facebook' wants to provide cheaper
access to data by (to perhaps 1/100th of the current
price)
•
Developing economies will probably lead the way in
implementing the IoE with mobile internet
•
But what networking technology/protocols will be used
for local connectivity?
•
"No technology dominates yet. We are waiting for
technologies to improve in range and performance.
The standard technology for connecting the IoT hasn't
been invented yet."
•
We are still at the start of the IoE journey
Slide 9
Intelligent Definition and Assurance
The Scope of IoE
Testing
Functional testing
•
Hardware-Level functionality
–
Most of this testing will be performed by manufacturers
•
Object and Server level functionality
–
We'll have to test simple web-apps to systems with many
complex sub-systems
•
Integration and Interaction at all levels
–
Companies, testers will have to use judgement on deciding
what to test and how much
•
Collaboration confusion
–
Use expectations and user testing of collaborating systems
will be difficult.
Slide 11
Intelligent Definition and Assurance
Testing @ Scale
•
Scalability
–
We'll have to do some large-scale load,
performance and stress testing
•
Wearables and embedded
–
We will need to simulate and test thousands of
devices carried by or embedded in people
•
Everything connected
–
We'll need to do location-based tests at very large
scale.
Slide 12
Intelligent Definition and Assurance
Networks
•
Moving networks
–
We'll have to test security and resilience of our systems against
alien or rogue networks
•
Network security risks at multiple levels
–
Networks will need to be hardened and tested at all levels, not
just 'perimeter'
•
Device registration, provisioning, failure and security
–
Power-down, power-up and automated authentication,
configuration and registration processes will need to be tested
•
Mobile objects
–
Power, interference, network strength, roaming and jamming
issues will all need testing.
Slide 13
Intelligent Definition and Assurance
Big Data
•
Logistics
–
A substantial data storage service will have to be
tested (performance, backup/recovery etc.)
•
Analysis and visualisation
–
These outputs and processes will need to be
tested.
•
Personal and corporate privacy
–
Testing will need to embrace the ethical use of
data and it's protection from misuse.
Slide 14
Intelligent Definition and Assurance
The Scope of IoE Testing
•
Not all IoE systems will be huge or complex
•
But we face a wider range of concerns than
ever before:
–
Most bring a new technology and risk profile
–
The range of testing issues we need to consider
–
The scale of the testing required has increased
•
The approaches we will need to tackle the
risks of failure will have to change.
Slide 15
Intelligent Definition and Assurance
Test Strategy for the
IoE
Modelling, Testing and Test Data
•
Tools to model the IoE are only just emerging
•
We'll need to use Big Data test techniques
•
'Pattern-based test design'
–
Generate tests from patterns to simulate scenarios
–
Oracles will derive from conventions or common-
sense
–
Personas as patterns of user or system behaviour
–
Goal: to feed automated tools large numbers of
scenarios
•
Developers will need to make systems testable
through High Volume Automated Testing.
Slide 17
Intelligent Definition and Assurance
Test Environments; Testing in the
Field
•
Test environments will vary widely
–
A test lab for a home could be set up in any office
–
An urban environmental management system will be
harder to create
•
Scale of field testing will vary widely, but will become a
common (and possibly mandatory) testing stage
•
Barcelona has set up an urban-scale testing facility
–
Barcelona Urban Lab is positioned as a field test
environment to prove the viability of innovative systems.
•
Expect other cities around the world to offer similar
services.
Slide 18
Intelligent Definition and Assurance
Tool Support
•
Automated support will be essential and
probably dominate testing
•
Most components tested through APIs, web
or other services
•
New protocols emerging; custom drivers may
be required
•
The challenge will be, "how do we design the
thousands or millions of tests to feed the
tools?"
Slide 19
Intelligent Definition and Assurance
Test Analytics
•
DevOps processes and production analytics
monitor system vital signs like sensors
–
These analytics are essentially the same
•
Production systems are platforms for
experimentation
–
The code that serves marketers can also serve
developers and testers
•
Analytics code is your sensor network
•
DevOps processes are 'things', too.
Slide 20
Intelligent Definition and Assurance
Performance Testing and Test Data
•
Local network protocols
–
IP based (XMPP, MQTT); few tools, but cloud services emerging
–
Low Power/Lossy Network (ZigBee, 6LowPAN, DASH7/RFID,
Bluetooth and NFC); only need simple drivers to 'chirp'
•
Coherent data may be a problem, e.g. location data
–
Cars must follow the road network
–
People can only walk through certain places in a shopping mall
–
So you will have to capture the GPS data using a tool perhaps
•
To create unique paths, you could edit together segments
of intersecting paths.
Slide 21
Intelligent Definition and Assurance
The Future for Testing
and Testers
We need to change the way we think
about testing
New Model for Testing
"We explore sources of knowledge to build test
models that inform our testing"
•
Forget logistics; focus on 10 thinking skills
•
Not a process with sequence, inputs/outputs,
entry/exit criteria
•
What is the model useful for?
–
Separates logistics from the core testing skills
–
Clarifies two modes: exploration and testing
–
Supports all testing, regardless of methodology,
manual v automated, structured or agile.
Intelligent Definition and Assurance
Slide 23
New Model Testing
29 page paper:
http
://
dev.sp.qa/download/newModel
Slide 24
Manual v Automated Testing?
•
Automation will not make testing easy; it will
make testing
possible
•
More and more, DevOps processes are a source
of data for analysis just like production
•
You might not need to be a programmer but you
may need to:
–
Write your own utilities, download, configure and
adapt open source tools or create automated tests
–
Have informed conversations with developers
•
Should testers learn how to write code? Yes!
Slide 25
Intelligent Definition and Assurance
Shift-Left
•
Every company seems to be 'shifting left'
–
Developers responsible for testing – no testers
–
Testers embedded in development teams
–
Testers morphing into business or systems analysts
•
Testing thinking is being moved left and earlier in
the process
•
The New Model identifies these thinking activities
•
Testers need to learn how to 'let go' of testing,
so view this as an opportunity, rather than a
threat.
Slide 26
Intelligent Definition and Assurance
Close
•
Testing the IoE is the next level of testing in terms of
complexity and scale
•
The tools we need don't yet exist
–
Test models, test data generators and automatic oracles
–
Simulation/High Volume Test Automation tools
•
Testing in the lab and experimentation in production
will become one discipline – test analytics
•
Some new test approaches will be required
•
The New Model is an attempt to trigger new thinking
in this area.
Slide 27
Intelligent Definition and Assurance
How to Test the
Internet of Everything
@paul_gerrard
Paul Gerrard
paul@gerrardconsulting.com
gerrardconsulting.com
Slide 28
How to Test the Internet of Everything (Синхронный перевод)