Jon Hagar, Grand Software Testing
The world is rapidly moving to large-scale deployment of real-time cyber-physical systems made up of the Internet of Things (IoT) and embedded software often supported by mobile devices. Cyber-physical systems merge software, hardware, and operations to interact with the real physical world. These systems require specialized testing using traditional test patterns as well as modelling approaches which are best driven by data analytics. The reasons that specialized testing is needed include: limited human user interface(s) to support testing, short performance time cycles, unique hardware interfaces, sophisticated communications, short lifecycles, system-of-systems integration, and numerous functional or non-functional requirements.
The workshop will begin by examining how to use data analytics based in error profiles to determine software risk areas and test patterns for testing Mobile/Embedded/IoT systems. Jon examines how teams can leverage data analytics to improve testing, thus speeding high quality products to market. Jon explains how to mine and organize the data using concepts such as mind maps, taxonomies, and deep learning mathematical filtering. Students will get to practice analyzing and organizing data so they can continue their analysis with data from their own projects when they return to their work environments. Jon then examines real world test patterns that are based on the data analytics to optimize the testing process.
Test patterns are in the tradition of James Whittaker’s book series “How to Break Software” which uses attacks to support test exploration. Jon extends the testing “attack” and “tour” patterns to Mobile/Embedded/IoT software systems. Test attack and tour patterns are similar to software design patterns, but aimed at providing information about the software under test. Attacks/tours must be customized for particular project contexts to become actual test cases. For presented attacks, Jon explains who, when, and how to conduct the attack, as well as why the attack works to provide the most useful information. In addition to learning testing pattern concepts, the attendees will get to practice the patterns on software devices.
When the workshop is completed, the attendees will be able to:
- Understand the nature of cyber-physical systems
- Explain the risks of cyber-physical systems
- Apply basic data analytics to mobile, embedded and IoT systems
- Define cyber-physical system attacks and tours derived from data analytics
- Understand and use mind maps, error taxonomies, and math in testing