View
0
Download
0
Category
Preview:
Citation preview
Markus Rentschler, Hirschmann Automation & Control
Berlin, 27.09.2012
Design for Testability: Effizienzsteigerung für den gesamten
Produktlebenszyklus
2ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
1. Motivation2. Design for Testability3. Produktlebenszyklus4. Testaktivitäten im Produktlebenszyklus5. Testarten im Produktlebenszyklus6. Quantifizierung der Testkosten7. ROI-Ermittlung8. Lösungsansatz „Design for System Testability“
• Methodik• Prozess
9. Fazit
Agenda
Rentschler, Markus: "Design for Testability - The Holistic Future of Testing?". In: Testing Experience (2011), 12, Nr. 16
3ATAMI 2012, © Markus Rentschler
Industrial Ethernet Produkte
FiberINTERFACES
Control Room Switches
RuggedizedSwitches
Wireless LAN Backbone Switches
Security IP67-Industrial Switches
Control Level Switches
Network Management
Field Level Switches
4ATAMI 2012, © Markus Rentschler
In der Automatisierungspyramide
5ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Definition
„DFT is a design characteristic that enables the diagnosis and/or test of a product to be accomplished easily, in a timely fashion, and costeffectively.“
Ziele
- Kosten und Aufwand für das Testen und die Diagnose senken (und zwar in allen Lebenszyklusphasen)
Vorgehensweise
- Technische Möglichkeiten aufzeigen � Methoden definieren- Umsetzung erzwingen � Prozesse definieren
Design for Testability
ALANEN, J. ; UNGAR, L.Y.: Comparing software design for testability to hardware DFTand BIST. In: AUTOTESTCON, 2011 IEEE, 2011. – ISSN 1088–7725, S. 272 –278
6ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Produktlebenszyklus
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Programmierung
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
7ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testaktivitäten im Produktlebenszyklus
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Tests
8ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testarten Definitionen 1
KomponententestTest einer einzelnen Softwareeinheit
SystemtestTest eines integrierten Systems, um sicherzustellen, das es spezifizierte Anforderungen erfüllt.
RegressionstestErneuter Test eines bereits getesteten Programms bzw. einer Teilfunktionalität nach deren Modifikation mit dem Ziel, nachzuweisen, dass durch die vorgenommenen Änderungen keine Fehler eingebaut oder (bisher maskierte Fehler) freigelegt wurden. [Spillner]
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
9ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testarten Definitionen 2
ProduktionstestAm Ende der Serienproduktion wird im Rahmen der Qualitätssicherung an jedem produzierten Gerät die Basisfunktionalität mittels in der Gerätesoftware implementierter Testroutinen getestet.
WartungstestIn der Betriebsphase des Produkts werden aus folgenden Gründen Tests durchgeführt:-Im Rahmen einer Neuinstallation-Reguläre Wartungsarbeiten-Nach einer Betriebsstörung-Erneuter Test nach Fehlerbehebung (Nachtest)
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
10ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testkosten im Produktlebenszyklus
cGesamt = cKT + cST + cPT + cWTGesamtkosten für Tests(pro Feature)
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Produktion
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Tests
11ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Return on Investment (ROI)
Ziele• Testkosten über alle Lebenszyklusphasen hinweg ermitteln. • Maßnahmen für Einsparungen ermitteln.• Investitionskosten für die Einsparungen ermitteln.• Nachweis eines signifikanten ROI (>>1).
Wirtschaftlichkeitskennzahl
nskostenInvestitio
nskostenInvestitioenEinsparungROI
−=
12ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Aufwand für einzelnen Test
13ATAMI 2012, © Markus Rentschler
Kostenfaktoren
Testkostenbeeinflussende Faktoren
Arbeitskosten (Arbeitszeit x Personalkostensatz)
Infrastrukturkosten (Hardware, Software, ...)
www.hirschmann.com
www.hirschmann.com 14ATAMI 2012, © Markus Rentschler
Wiederholungen im Lebenszyklus
End
of p
rodu
ctlif
e cy
cle
Entwicklungsphasen
Increment 1
j test cycles
Y varia
nts
Increment 2
Increment i
N = i * j * Y
Development
. . .
Wartungszklen
Maintenance
+ m * D
Maintenance
m maintenance cycles
D Dep
loym
ents
15ATAMI 2012, © Markus Rentschler
Kostenfaktoren
Komponententest
cKT = cTE,KT + n⋅ cTD,KT + cMD,KT( )
cWT = cTE,WT + j ⋅ cTD,WT + cMD,WT( )
)( ,, PTTDPTTEPT ckcc +=
cST = cTE,ST + m⋅ cTD,ST + cMD,ST( )
cTE,xx – Kosten für TestentwicklungcTD,xx – Kosten für TestdurchführungcMD,xx – Kosten für manuelle Diagnosen – Anzahl der Komponententests(m-1) – Anzahl der Regressionstestsj – Anzahl der Wartungstests
System - & Regressionstest
Produktionstest
Wartungstest
www.hirschmann.com
Kosten für Testdurchführung
j || k || n || m >> 1� Automatisierung ist
lohnend!
16ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
- Testautomatisierung-Lösungen meist nur auf den Ebenen des Modul-und Systemtests geeignet (nicht für Tests in der Produktions- und Betriebsphase)
- Leistungsmessung und Fehlerdiagnose wird in den unterschiedlichen Testphasen meist mit jeweils unterschiedlichen Werkzeugen durchgeführt
� Können hier Synergien geschaffen werden?
Lösungsanalyse
17ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
- Das zu erahnende Einsparungspotenzial, das durch „einheitliche“ Tests entstehen könnte, aufzeigen und beschreiben.
- Aufbauend auf dem Entwurfsansatz „Design for Testability“ (DfT) die Entwicklung des Ansatzes „Design for System Testability“ (DfST)
- Entwurfsmethoden für „einheitliche“ Testansätze definieren
- Im Entwurfsprozess diese Entwurfsmethoden verpflichtend machen
Lösungsansatz
18ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Einsparungspotenzial
Einsparungspotenzial durch den DfST Ansatz:
Die Testunterstützung muss nur noch einmal entwickelt werden � Einsparung von bis zu drei Testentwicklungen
• Produktionstests sind oft bereits BISTD-Ansätze , werden jedoch nur in einer Phase genutzt
� Für alle Phasen nutzbar machen !
Reduktion der Testzeiten � geringere Testdurchführungskosten
Bessere Diagnosefunktionen � Reduktion der Diagnosekosten
Reduktion der Durchführungszeiten erlaubt höhere Testrate �Steigerung der Produktqualität � weniger Wartungstests
cGesamt = cKT + cST + cPT + cWT
19ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Einsparungspotenzial ?
ROI >> 1 ?
Investition
-Höhere Kosten für BISTD-Testentwicklung
Einsparungen
-Weniger Testentwicklungen-Geringere Testdurchführungskosten-Reduktion der Diagnosekosten-Reduktion der MTTR
ROI = Einsparungen− InvestitionskostenInvestitionskosten
20ATAMI 2012, © Markus Rentschler
Technische Umsetzung von DfST?
21ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Betrachtung der Systemarchitektur
Technisches System
Gerät 1 Input
Gerät 2 Output
Gerät 3
Feature n
Input Output
Technisches System � System- feature
Feature 1
Feature 2
Feature n
Input Output
Blackbox-Ebene
Whitebox-Ebene
System-Ebene
Gerät � Lokales Feature
Feature 1
Feature 2
Feature n
Testobjekt Testobjekt
Testobjekt
22ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testbarkeitsanforderungen
Technisches System oder Gerät
Feature 1
Feature 2
Feature n
Feature n
Testobjekt
PoC
PoO
Input Output
Blackbox-Ebene
Whitebox-Ebene
PoO
PoC
Point of Control (PoC) – Schnittstellen, über die das Testobjekt mit Testdaten versorgt wird
Point of Observation (PoO) – Schnittstelle, an der die Reaktionen und Ausgaben des Testobjekts beobachtet und aufgezeichnet werden
23ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Testautomatisierung
„Normale“ Testautomatisierung
Testautomatisierung
Testobjekt
Feature 1
Feature 2
Feature n
Input Output
PoO
PoC
Nur in den Entwicklungsphasen anwendbar
24ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Built In (Self) Test and Diagnosis (1)
Eingebaute „Testautomatisierung“
25ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Built In (Self) Test and Diagnosis (2)
„Verteilt“ eingebaute „Testautomatisierung“
Technisches System
Gerät 1
Input Output
Gerät 3
BISTD 1
Feature 1
BISTD 3
Feature 3
Feature m Gerät 2
BISTD 1
Feature 1
Feature 2
BISTD n
Feature n
www.hirschmann.com 26ATAMI 2012, © Markus Rentschler
SUTTA TA
Verteiltes System – Roundtrip Methode
Roundtrip Methode
Sub-feature n.1POC
Sub-feature n.2POO
POO
POC
Populäres Beispiel: PING
27ATAMI 2012, © Markus Rentschler
Für welche Tests ist der DfST-Ansatz geeignet?
Validierung funktionaler Anforderungen
Test von (Hardware-)Teilkomponenten in Embedded Systems
Nicht funktionale Anforderungen (z.B. Performance)
Regressionstest funktionaler Anforderungen
www.hirschmann.com
Einsatzm öglichkeiten
28ATAMI 2012, © Markus Rentschler
Einführung von DfST in den Entwicklungsprozess ?
29ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Produktentstehungszyklus
Entstehungszyklus Produktionszyklus
Abnahmetest Anforderungs-
analyse
funktionaler Systementwurf
technischer Systementwurf
Komponenten-spezifikation
Systemtest
Integrationstest
Komponententest
Fertigung
Betriebszyklus
Wartung/Support
Entwicklungszyklus Testzyklus
Weiterent-wicklung
Programmierung
Design Phase
30ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Entwicklungsprozesse
In der „Design Phase“ keine Testbarkeitsanalyse
PM
LE/ST
PL
CRS – Customer Requirement SpecificationPSS – Product Solution StudySAS – System Architecture Specification
PM – Project ManagerLE – Lead Engineer / Software ArchitectST – System Test ManagerPL – Project Leader
31ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Neuer Produktentwicklungsprozess
PM
LE/ST
PL
PM
LE/ST
PL
Neue „Design Phase“
www.hirschmann.com 32ATAMI 2012, © Markus Rentschler
DfST Elicitation & Management
Einfache Toolunterstützung:
33ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
„Design for System Testability“
• …ist ein vielversprechender systematischer Ansatz vor al lem für mechatronische Systeme mit eingebetteter Software
• …erlaubt die Entwicklung von gemeinsamen Testlösunge n für Entwicklung, Systemtest, Wartung
• Umsetzung in bestehender „Entwicklungskultur“ schwier ig
• Management-Unterstützung notwendig
• Kompetenter System -/Software-Architekt als Treiber notwendig
Fazit
34ATAMI 2012, © Markus Rentschlerwww.hirschmann.com
Vielen Dank für Ihre Aufmerksamkeit!
Fragen?
Recommended