Testing the Internet of Things (IoT) – An Exploratory Workshop


IotTST - Version:1
Description
There is an increasing amount of publicity, information and hype around the subject of the Internet of Things (IoT) and the Internet of Everything (IoE). What on earth are people talking about? Should I be interested? Will it affect me? What does it mean to me as a tester? In this workshop, Paul will explore the scope, range, architecture, complexity and challenges of testing an IoT system. Standards are emerging, and many commercial applications are bleeding edge, speculative or exploratory. Security and privacy dominates all of the concerns being articulated by industry commentators, but for non-trivial systems, significant functional and integration complexity challenges must also be overcome. There are also broader societal risks that the IoE brings and government, companies and individuals should pay attention to them. The architecture of the IoE is beginning to reveal itself and this exploratory session presents a seven-layer architectural model that will help you to make sense of it all and expose some of the technical risks we need to focus on as testers. Most of the concepts are explored through exercises and problem-solving. Some recommendations for formulating a test strategy for the Internet of Everything are presented.
Expand All
  • Introduction to the Internet of Things/Everything
    • Scope
    • Devices
    • Applications
    • 7-layer Architecture
    • Mobile and the 7 layers
    • Exercise: How many connected devices in a typical house?
  • Devices, objects and systems
    • Measurement and sensors
    • Exercise: what can you measure?
    • Micro-controllers
    • Servos, actuators, motors
    • Relays, switches, stepping switches
    • Communications
    • Computers
  • Packaged objects
    • Some example objects
    • Exercise: Invent an IoT application, become a billionaire
  • Communications
    • Internet communications
    • Local communications
    • Machine to machine communications
    • IP and other protocols
    • Registration, identification, control and upgrades
    • Exercise: Draw a stock control sensor register, post stock level sequence diagram
  • M2M use cases
  • Introduction to control systems
    • Open loop control systems
    • Closed loop/feedback control systems
    • Exercise: which are open and which are closed loop systems?
    • On/off, linear and proportional control
    • Delay, hysteresis and damping
    • Steering a ship, heating a house
  • Introduction to data and analytics
    • Data collection, aggregation
    • Exercise: what could go wrong in the field?
    • Data filtering, smoothing
    • Interpolation, curve-fitting
    • Time-serial data, segmentation, clustering, change-points
    • Analytics
    • Use and misuse
    • Data, analytics and risk
    • Exercise: what could go wrong in the analysis?
  • Exercise: Architect a system
  • Communications
    • Network communications and carriers
    • Synchronous and asynchronous messaging
    • Conversations v publish and subscribe messaging
    • MQTT Overview, secure MQTT
    • Quality of Service
    • Secure communications
    • Exercise: What could go wrong with a messaging service?
    • Exercise: Test a publish and subscribe messaging service
  • Web services
    • HTTP/S, the web and web services
    • Payload formats: XML, JSON
    • Exercise: testing a webservice
  • Exercise: You are a weather station
  • Exercise: Calculate transaction and data volumes
  • Test Strategy
    • Challenges: Scale, Complexity, Privacy, Security, Tools
    • Functional testing
    • Functional testing at scale – pattern-based test design
    • Modelling, Automation and Simulation
  • Close