Software testing and configuration : Embedded software testing

Slides:



Advertisements
Similar presentations
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
1.1 Aims of testing Testing is a process centered around the goal of finding defects in a system. We are currently unable to produce defect-free systems.
Embedded vs. PC Application Programming. Overview  The software design cycle  Designing differences  Code differences  Test differences.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
1: Operating Systems Overview
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Introduction 01_intro.ppt
Embedded Systems Design ICT Embedded System What is an embedded System??? Any IDEA???
Programming Translators.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
EMBEDDED SOFTWARE. Is computer software which plays an integral role in the electronics it is supplied with.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
MICROPROCESSOR INPUT/OUTPUT
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Programming Lifecycle
1 Problem Solving with C++ The Object of Programming Walter Savitch Chapter 1 Introduction to Computers and C++ Programming Slides by David B. Teague,
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
The Anatomy of a Computer Program Unit 3. Programs are Directions  A computer carries out the instructions in a program, line by line, exactly as they.
Software Integrado Team # What is an Embedded software? Is a computer software which plays an integral role in the electronics it is supplied with.
Course Aims This course will help you understand the latest technologies & how they work. You will lean how to develop computer programs to solve problems.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Advanced Software Engineering Dr. Cheng
Benefits of a Virtual SIL
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
Computer Science 2 What’s this course all about?
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Design Components are Code Components
Introduction to programming
Topics Covered What is Real Time Operating System (RTOS)
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Chapter 2: Input, Processing, and Output
Chapter 2: System Structures
Introduction SOFTWARE ENGINEERING.
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Introduction to Computers and Java
A451 Theory – 7 Programming 7A, B - Algorithms.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
CSCI/CMPE 3334 Systems Programming
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Programmable Logic Controllers (PLCs) An Overview.
Overview of Computers & Programming Languages
Translators & Facilities of Languages
Tiny Computers, Hidden Control
Compiler Construction
Computer Science I CSC 135.
Introduction to the C Language
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Topics Introduction Hardware and Software How Computers Store Data
CS 501: Software Engineering Fall 1999
Chapter 1 Introduction(1.1)
Regression testing Tor Stållhane.
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Computer in Safety-Critical Systems
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Presentation transcript:

Software testing and configuration : Embedded software testing Vilnius university – mif – nassim marzouk

Contents What is in a embedded software? Differences from application software Why test? Main differences with application software testing Testing of Embedded Software TEmb Method Overview The application specific measures Summary

What is an embedded software? Software written to control devices that are not typically considered as computers Typically the only software on the device in question No or not all functions of embedded software are controlled via a human interface, but through machine-interfaces instead Used in avionics, cars, telephones, modems, robots, televisions and digital watches Can vary from very simple (lighting controls running) to very sophisticated in applications such as airplanes or missiles control systems.

Embedded systems in contrast to other computing systems

Differences from application software Has fixed hardware requirements and capabilities Often used in applications in which human lives are at stake Your company can be sued if your code fails From a testing point of view, we can not afford any errors

Why test? To find bugs in software To reduce risk to both users and the company To reduce development and maintenance costs To improve performance

Main differences with application software testing First, because human lives are at stake, you have to test to a higher level of reliability than if you were testing application software Second, due to the conditions under which embedded systems are used, the simulation of its actual environment may be expensive, difficult, or dangerous Third, we have to face the difficulty in seeing the output : Since embedded systems are usually connected to devices, their generated outputs are not in the form of a message on the screen, but they may be a command to handle the device or write something in memory

Testing of Embedded Software Basic rules of software testing also apply to embedded software Here, integration testing can be divided into 2 : software integration testing software/hardware integration testing Difficulties : On the one hand, we can not afford to wait the end of the development phase to start testing embedded software From the other hand, one special characteristic in embedded software development is that the actual environment, in which the software is run, is usually developed in parallel with the software. This causes trouble for testing because testing cannot be performed due to the lack of hardware environment

TEmb Method Overview Introduced by Broekman and Notenboom The test approach is divided in 2 parts : the generic elements applicable to any structured approach : Managed by lifecycle, infrastructure, techniques and organization => LITO the application specific measures : The aim is to define the application specific characteristics that dictate the specific measures

The application specific measures safety critical : if can cause serious physical damage technical-scientific algorithms : for vehicles, missiles or robots autonomous : such systems are designed to work continuously one-shot : released only once (satellites) mixed signal : systems that contain, in addition to binary signals, analogue signals hardware restrictions : memory usage and power consumption state-based : depends not only on the input, but also on the history of previous events and states hard real-time : the exact moment that stimulus occurs influences the system behaviour control in extreme environments : require simulation of the environment behaviour

Summary (1) Embedded code often has dependencies on hardware or a real time operating system Most embedded developers only run their code in the target execution environment => often means a heavy reliance on manual testing Most embedded development is done in C or C++, languages that you can write portable code in. If you do manage dependencies on HW and RTOS, you can create target independent unit tests. These help you get the code doing what you think it should do.

Summary (2) Thank you for your attention! This leads to a lot of waste waiting for hardware to be developed waiting for the HW engineers to find hardware problems waiting for long build/load cycles debugging in hostile target environment Thank you for your attention!