Software Module Test for an Electronic Steering Lock



Similar documents
TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

Introduction to Embedded Systems. Software Update Problem

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

Open Source Software

Bluetooth in Automotive Applications Lars-Berno Fredriksson, KVASER AB

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Chapter 11, Testing, Part 2: Integration and System Testing

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, Copyright (C) All Rights Reserved

What s New in Mike Bailey LabVIEW Technical Evangelist. uk.ni.com

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

Safe-E. Safe-E Introduction. Coordination: Andreas ECKEL TTTech Computertechnik AG

Latest Research and Development on Software Testing Techniques and Tools

Elektrobit (EB) Automotive Consulting Manage challenging automotive software projects

a new generation software test automation framework - CIVIM

Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication

Virtual Platforms Addressing challenges in telecom product development

SIMATIC Route Control Configuration, Control and Diagnostics of Material Transports. Product Brief February 2004

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

Hitex Germany. White Paper. Unit Test of Embedded Software

Automated Flashing and Testing for Continuous Integration

Virtual Integration and Consistent Testing of Advanced Driver Assistance Functions

8051 MICROCONTROLLER COURSE

How To Develop A Powerpc/Powerpc/Ada 95/C++/Adma 83/C/C95/A95/C99/A83/A84/A85/A86/A75/A74

Redundant Serial-to-Ethernet Data Connections for Mission-critical Devices

Security in Vehicle Networks

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

Study on Real-Time Test Script in Automated Test Equipment

Introduction to Automated Testing

Enea Hypervisor : Facilitating Multicore Migration with the Enea Hypervisor

AUTOSAR Software Architecture

Real Time Embedded Software Development Using Agile Technology An Experience Report

ProSyst Software AG. for a smarter world. EuroCargo 2004 Joachim Ritter. Technical Consultant, ProSyst Software

Best Practices for Verification, Validation, and Test in Model- Based Design

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

Embedding Trust into Cars Secure Software Delivery and Installation

Software Engineering

Increasing Reliability and Availability for Automotive Embedded Devices by Enhanced Wiring Diagnosis

EHOOKS Prototyping is Rapid Again

Automated Acceptance Testing of High Capacity Network Gateway

Vorlesung Kommunikationsnetze Fieldbus Systems

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

INDUSTRIAL BLUETOOTH FTP/OPP. User Manual

The SPES Methodology Modeling- and Analysis Techniques

Automotive Software Development Challenges Virtualisation and Embedded Security

From Control Loops to Software

Using HiTOP with the HOT16x Hands-On Training Materials

F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n

Lecture 3 - Model-based Control Engineering

PCIe Storage Performance Testing Challenge

Overview. Surveillance Systems. The Smart Camera - Hardware

Vehicular Security Hardware The Security for Vehicular Security Mechanisms

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICATION SYSTEMS

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

What is a System on a Chip?

In networking ECUs in heavy-duty vehicles, it is the J1939 protocol that. plays a key role. J1939 networks are based on the CAN bus (high-speed

Industrial Application of MultiPARTES

Spare Parts Catalog. EasyCoder 501 XP & 601 XP Bar Code Label Printers

Advanced Software Testing

SECTION 4 TESTING & QUALITY CONTROL

ETS5 Overview of new functionality

Programmable Logic Controller PLC

ELEC 5260/6260/6266 Embedded Computing Systems

Automotive Software Engineering

IPv6 Challenges for Embedded Systems István Gyürki

Embedded Systems Lecture 9: Reliability & Fault Tolerance. Björn Franke University of Edinburgh

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

Software Engineering talk

UVOIP: CROSS-LAYER OPTIMIZATION OF BUFFER OPERATIONS FOR PROVIDING SECURE VOIP SERVICES ON CONSTRAINED EMBEDDED DEVICES

Embedded & Real-time Operating Systems

System Software Integration: An Expansive View. Overview

Using COSMIC-FFP to Quantify Functional Reuse in Software Development

Development of AUTOSAR Software Components within Model-Based Design

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

BMW Car IT GmbH. AUTOSAR - First Experiences and the Migration Strategy of the BMW Group

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

D Test Strategy

Siemens Security Bulletin Response to ICS Alert (ICSA A)

Collaborating in California: Open HIL Test System Architecture uses the ASAM HIL API

Real-time processing the basis for PC Control

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

Automation System TROVIS 6400 TROVIS 6493 Compact Controller

Effective Java Programming. efficient software development

Special FEATURE. By Heinrich Munz

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

CS 451 Software Engineering Winter 2009

From Big Data to Smart Data Thomas Hahn

Seven Challenges of Embedded Software Development

Chapter 11: Integrationand System Testing

Testing and Inspecting to Ensure High Quality

Virtual Machine Learning: Thinking Like a Computer Architect

Transcription:

Software Module Test for an Electronic Steering Lock Wolfgang Beer, Dr. Peter Jüttner, Daniel Simonis (external subcontractor), Siemens VDO Automotive AG Siemensstr. 12 93055 Regensburg, Germany Tel.: +49(0)941-790-6601 email: wolfgang.beer@siemensvdo.com Siemens VDO Automotive AG 2005 Supplying value

in ELV Project Feb-05 W. Beer, P. Jüttner, D. Simonis 2

(1) ELV = Elektronische Lenkradverriegelung Basic functions: Lock, unlock (with cryptology) Additional functions: Diagnosis, Learning, Operation Modes, Communication, Memory for Data, Errors, and Measured Values. 8Bit Micro, 24k ROM Embedded SW development with cross compiler Object-oriented approach for design in C with mapping rules OO -> C Layer model in SW (OS, Application) Development mainly from scratch Feb-05 W. Beer, P. Jüttner, D. Simonis 3

(2) Team 6 Team members 2 dedicated SW testers, one mainly for SW Module test, one for SW Integration and SW Validation Project start 2003 Project end 2005 Several car lines with slightly different features Feb-05 W. Beer, P. Jüttner, D. Simonis 4

(3) Term. 30z Ignition Switch separate separate Supply Supply Serial Serial Interface Interface NEC NEC 78K0 78K0 Q1 K1 "Lock" Sensor for Lock Q3 IN µc Oscillator Oscillator "Unlock" M Term. 30 Term. 31 Powersupply Powersupply K2 IN µc Sensor for Unlock Feb-05 W. Beer, P. Jüttner, D. Simonis 5

(4) Vehicle Integration ELV Master Bidirectional communication line ELV CAN Engine Control Feb-05 W. Beer, P. Jüttner, D. Simonis 6

(1) SW Requirements test against SW Validation SW Design test against SW Integration Test test against Coding Feb-05 W. Beer, P. Jüttner, D. Simonis 7

(2) Test of single SW modules in isolation Test of Classes (implemented in C), i.e. test of C functions Black-Box and White Box test strategies Test against SW design (Black-Box) Test against structure (White-Box) Test completeness criteria 100% coverage of module requirements and 100% statement coverage Black-Box and White Box tests in combination Introduced in SV C BC SW development process by CMMI improvement project Feb-05 W. Beer, P. Jüttner, D. Simonis 8

(3) Benefits Early error detection (errors become cheaper) Less bugs in following development steps Improvement of reuse Regression test from PC to target Feb-05 W. Beer, P. Jüttner, D. Simonis 9

(4) Drawbacks and prejudices in Embedded SW development SW modules are not always executable in target or PC environment Test harnesses are needed Runtime behavior cannot be tested on PC Test with non target compiler on PC Bugs in target compiler and on HW are not found Behavior of SW with different compilers is different Bugs are found anyway in later test phases Feb-05 W. Beer, P. Jüttner, D. Simonis 10

(5) BUT Testing SW is the goal, not testing compiler or HW There is no guarantee that later tests find the bugs Later bug fix is more expensive No code coverage in later test phases -> risk of untested SW Feb-05 W. Beer, P. Jüttner, D. Simonis 11

(1) Test tool Rational Test Realtime (RTR) supports Automatic test harness generation Automatic pass/fail decision Structured tests Test case generation Comprehensive Test protocol and report Black-Box and White Box Test in parallel Regression tests Feb-05 W. Beer, P. Jüttner, D. Simonis 12

(2) Source Code Test Harness Generator PTU File PTU File Manual Rework Test Harness "Compiler" C Code C Compiler & Linker executable Test Harness Feb-05 W. Beer, P. Jüttner, D. Simonis 13

(3) Service Name Construct_Add_Evaluate_Clear Service Type NOT INFORMED Status Passed Tests Passed 6 Tests Failed Tests 6 0 Variable Status Init Value Expected Value Obtained Value k list next Passed Passed 0? 0 &list 0 00413028H list prev Passed? &list 00413028H node[0].prev Passed NIL NIL 00H Root Functions Functions and exits Statement blocks 100.0% (12/12) 100.0% (25/25) 100.0% (14/14) Decisions Loops 100.0% (15/15) Feb-05 W. Beer, P. Jüttner, D. Simonis 14 none

(4) Feb-05 W. Beer, P. Jüttner, D. Simonis 15

Lessons Learned (1) Introduction in Test Process and Test Tool took 2 weeks Total Effort for Module Test ~ 6 MM (~ = coding effort) 1-100 test cases for a single C function 15 000 test cases in total High effort in stub development Many bugs found, most of coding bugs Bugs in target compiler found (by using a PC compiler) Split in responsibility (1 SW designer/coder, 1 SW module tester) reduced timing problems Implicit design review Coding and testing mainly in parallel saves time Feb-05 W. Beer, P. Jüttner, D. Simonis 16

Lessons Learned (2) SW should be designed in ANSI C HW abstraction is useful Proper SW architecture and detailed design required (e.g. encapsulation, lean interfaces, no global variables) Simple control structures in algorithms reduce effort Test automation is essential 100% code coverage is necessary but not sufficient Each test phase has its focus (no "competition" between test phases) Integration test could also be done partly on PC with RTR based on existing stubs Feb-05 W. Beer, P. Jüttner, D. Simonis 17

By SW module test most of the bugs and inconsistencies in design and implementation of the ELV SW could be found and fixed in an early development phase The effort of module testing is acceptable if automated tests using appropriate test tools (RTR) are used Successful bug fix can be checked automatically by regression of automated tests The separation between designer/coder and tester reduces bottlenecks in the development phase especially in tight schedules Feb-05 W. Beer, P. Jüttner, D. Simonis 18