Ensuring Software Code Quality for the IIoT - Vector...Ensuring Software Code Quality for the IIoT....

Post on 12-Oct-2020

3 views 0 download

Transcript of Ensuring Software Code Quality for the IIoT - Vector...Ensuring Software Code Quality for the IIoT....

V2.2 | 2017-10-02

Jeffrey Fortin, Product Manager, Vector

Ensuring Software Code Quality for the IIoT

2

IoT Topology

DEVICESMACHINES

GATEWAYS Access and Service

Networks

Service Platform

andDomain

Applications

SENSORS

ACTUATORS

Edge Tier

3

Essential Design Tenants of IoT Systems

Monetize Hardware, Software, and Data Management

Actionable Analytics

Data Normalization

Discovery and Provisioning

Safety & Security as the Foundation – Hardware and Software

4

Lots of Consumer Grade Software will Suddenly be the Critical Path

Re-use of legacy code bases, cameras for autonomous driving

Cellular/Internet connectivity to cars for SOS

The Quantity of Embedded Software will Increase Exponentially

Autonomous software that integrates unobtrusively

Heart Function, Blood Sugar and Blood Pressure Monitoring

Intelligence will be Deployed to the End Points

IoT will not be a collection of dumb sensors

Complexity and Data Volumes are too large for central control

What Changes will IoT Bring to Software

5

Release cycles have shrunk from years to days to hours

We have to get these new features to customers

There is more competition than Ever

The barriers to entry for the software business are low

Trade-offs made during development

We Can Fix That in the Next Release …

Market Pressure

6

IEC 61508-3

Functional safety of electrical/electronic/programmable electronic safety-related systems

Part 3: Software requirements

IEC 61508-3

7

IEC 61508 Safety Integrity Levels (SIL)

8

IEC 61508 – Verification and Validation

Activities related to verification and validation of software

9

Faster Release Cycles

Few Bugs get into the Release Cycle

Release Cycle is Faster

Customer Get New Features Faster

Lower Life-Cycle Costs

Less Time Fixing Bugs

More Time Building New Product Features

Brand Loyalty

Fewer Bugs get to the Customer

Customers are Happier

The Business Case for a Deming Revolution

11

The Cost of Independent Processes

12

Independent Process Integrated Processes

All team Members contribute to Quality

Periodic Testing Continuous Testing

Quality is built-in at each stage of development

Long Feedback Loops Immediate Feedback

Bugs are Fixed when they are introduced

Improved Software Development Workflow

13

Make Tests Sharable

There cannot be flavors of tests owned by separate groups

Everyone has something to contribute

Remove Infrastructure Limitations

Virtualized Test Environments

Labor is your most expensive resource

Tests Must be Small and Easy to Run

Anyone can run any test at any time

Make Results Simple to Understand

Test pass or fail, no thinking needed

Failed tests must be debuggable

Make Testing Easy: Test Collaboration

14

Easy

Easy to build new tests

Easy to understand existing tests

Easy to run and interpret results

Easy to debug failing tests

Fast

Shorten the feedback loop

Automated

Push button testing with no manual setup or steps

Anyone can run any test at any time

How to Implement Continuous Testing

15

Test Each Component Before Integration

Test the published API of all components

Build Tests for APIs and Requirements

Test for Correctness

Verify that all requirements have tests

Ensure Tests are Complete

Use Code Coverage to verify adequate testing

Build In Quality

16

Without gates on behavior code bases become buggy

Software development should be engineering not art

With too many gates nothing gets done.

Build Documented workflows for each Activity

SCM commit, requires a clean static analysis report

Branch cannot go to QA until all existing tests pass

Quality Gates Must be Automated

Except for peer review – which still has great value

Implement Quality Gates

17

Tying it all together

DeliverValue

IIoT

Quality Process

Deming

Quality Standards

18 © 2017. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V6.14 | 2017-04-18

For more information about Vectorand our products please visit

www.vector.com