09:00 Uhr
Non-intrusive Systembeobachtung zur Optimierung der Software-Entwicklungsprozesse
Automatisierte strukturelle Coverage-Messung auf System- und Integrationstestebene
Details anzeigen
Autor:in:
Martin Heininger | HEICON - Global Engineering GmbH | Germany
Sprache:
deutsch
Zielgruppe:
Projektleiter, Software Verantwortliche, Funktionale Sicherheits Manager, Software Entwickler, Software Tester
Voraussetzungen:
Grundlagen zur Messung der Strukturellen Coverage; Kenntnisse der Anforderungen an den FuSI Software Entwicklungsprozess
Überblick und Zusammenfassungen:
Non-intrusive Messung von Software internen Parametern, Variablen, strukturelle Überdeckung, während einer Testfahrt mit dem Auto oder dem Zug oder sogar während eines Testfluges? Diese neue Technologie eröffnet ungeahnte Möglichkeiten der Qualitätssteigerung von Spezifikationen und Test von immer komplexer werdenden Software Systemen.
Mittels der Trace-Schnittstelle des Prozessors werden Daten an ein patentiertes, parallel arbeitendes, FPGA basiertes System weitergegeben und ohne Zwischenspreicherung live und unbegrenzt lange Zeit für den Nutzer aufbereitet. Diese non-intrusive Technologie hat das Potential über Jahrzehnte geprägte Software Entwicklungsprozessschritte zu verändern. Die strukturelle Coverage kann nun auf Integrationstest und Systemtest, statt auf Unitebene nachgewiesen werden und eine dynamische Messung des Daten- und Kontrollflusses wird erstmals möglich.
Folgende Vorteile ergeben sich durch die strukturellen Coveage Messung auf Integrations- und Systemtestebene:
- Am Ende der Produktentwicklung: Die Vollständigkeit der funktionalen Requirements wird teilweise automatisiert
- Am Ende der Produktentwicklung: Die Vollständigkeit der dynamischen Tests wird teilweise automatisiert
- Während der Entwicklung: Automatisiertes Feedback über den aktuellen Umfang und Qualität der erstellten Tests und Requirements
- Dynamischer Nachweis von funktionalen Wirkketten eines Software Systems
In der Konsequenz der Anwendung der Technologie ergibt sich, dass der Großteil aller Unittest befreit wird von vielen formalen Anforderungen. Der Unittest gehört dem Entwickler wieder nahezu alleine.
Art der Vermittlung:
Anhand von Requirements-, Source Code- und Testbeispielen werden die Vorteile der Technologie in der Entwicklung demonstriert
Nutzen:
Der Vortrag demonstriert wie Projektleiter und Verantwortliche eine automatisierte Rückmeldung über die Qualität von funktionalen Integrations-/Systemtests bekommen kann. Das Management profitiert damit direkt von der non-intrusiven Source Code Coverage Messung.
Ebenso profitieren die Software Entwickler und Tester sowie die Verantwortlichen Funktionalen Sicherheit, da viele Unittest, deutlich weniger formale Anforderungen erfüllen müssen und da die Qualität der funktionalen Integrations- und Systemtests sowie der Requirements transparenter und objektiv messbarer werden.
09:50 Uhr
Hyper-Coverage bringt den Durchblick
Mit kumulierter Code-Coverage Varianten absichern und effiziente Retests durchführen
Details anzeigen
Autor:in:
Michael Wittner | Razorcat Development GmbH | Germany
Sprache:
Deutsch
Zielgruppe:
Test und Entwicklung
Voraussetzungen:
Keine speziellen Vorkenntnisse
Überblick und Zusammenfassungen:
Eine Zertifizierung sicherheitskritischer Software erfordert umfangreiche und normgerechte Tests aller Funktionalitäten. Die Vollständigkeit der Tests wird in der Regel über die Code-Coverage nachgewiesen, mit der man möglichst alle Code-Varianten abdecken möchte. Für einen effizienten Test stellt sich daher die Frage, wie man eine möglichst hohe Code-Abdeckung bei möglichst niedrigem Testaufwand erreichen kann?
Die Präsentation beschreibt den Zusammenhang zwischen Code-Varianten und gemessener Code-Coverage und welche Schlüsse sich aus der Analyse einer kumulierten Coverage in Bezug auf den Test neuer Software-Versionen ziehen lassen. Mit den gewonnenen Informationen lassen sich die aufgrund kleinerer Änderungen in der Software notwendigen Retests optimieren, so dass nur die tatsächlich betroffenen Stellen erneut getestet werden müssen. Eine Gesamtbetrachtung aller Code-Varianten und deren Abhängigkeiten von Source- und Header-Dateien ist dabei unabdingbar.
Art der Vermittlung:
Vortrag mit Projektbeispielen
Nutzen:
Die Optimierung des Retests von Software spart Zeit und Resourcen und ermöglicht kontinuierliches Testen im Entwicklungsprozess. Wichtig ist die korrekte Erfassung von Abhängigkeiten, so dass nur die relevanten aber vor allem auch die unbedingt notwendigen Tests wiederholt werden.
Der Vortrag befasst sich mit den folgenden Themen:
- Source-Code, Varianten und was der Compiler letztlich sieht
- Zusammenhänge zwischen Flow-Chart und Source-Code
- Die Tücken der Compiler-Macros (Defines) im Code
- Wie man die Code-Coverage trotz bedingter Kompilierung dem Code zuordnen kann
Es werden Möglichkeiten aufgezeigt, wie man mit den vorhandenen Mitteln der Coverage-Messung noch zusätzliche Ergebnisse gewinnen kann, um die Herausforderungen des Tests (wie beispielweise Code-Varianten) zu meistern.
10:40 Uhr
Effizienzsteigerung von Software-Testprozessen durch Ausnutzung der Synergien von High- und Low-Level Tests
Der CoCoSI-Testansatz
Details anzeigen
Autor:innen:
Dr. Thomas Bauer | Fraunhofer IESE | Germany
Christian Peper | Fraunhofer IESE | Germany
Dr. Gabriele Haller | HEICON - Global Engineering GmbH
Sprache:
deutsch
Zielgruppe:
Quality Manager, Tester
Voraussetzungen:
Grundlagen in SW-Testen
Überblick und Zusammenfassungen:
Die analytische Qualitätssicherung software-intensiver technischer Systeme erfordert die systematische Überdeckung der Entwicklungsartefakte auf verschiedenen Ebenen, bspw. Kundenanforderungen auf Systemebene, Architekturentwurf und Schnittstellen auf Subsystemebene und Programm-Code auf Komponentenebene. Technische Standards wie die ISO 26262 enthalten konkrete Vorgaben zu den Überdeckungszielen und den anzuwendenden Testtechniken in den einzelnen Testphasen. Ein wesentliches Kriterium ist hier die systematische Überprüfung der Implementierungen gegen die Anforderungen, welche nur durch funktionale Tests auf höheren Ebenen, d.h. während des Subsystem- oder Systemtests der Software nachgewiesen werden können.
Die Herausforderung ist dabei die effiziente Erstellung geeigneter Testfälle in den unterschiedlichen Phasen, um die verschiedenen Vorgaben und Abdeckungskriterien der Standards für die Testfallerstellung zu erfüllen. Im folgenden Beitrag wird ein neuartiger Testansatz vorgestellt, der im Rahmen des Forschungsprojekts CoCoSI durch die Partner ACCEMIC, HEICON, INTEL und FRAUNHOFER IESE entwickelt wurde. Der Ansatz ermöglicht die Reduktion der Redundanz zwischen den Testfällen auf verschiedenen Ebenen durch die Analyse der erreichten Überdeckungsgrade auf System-, Subsystem- und Komponentenebene.
Art der Vermittlung:
Methodenerklärung, Projektbeispiel
Nutzen:
Der Vorteil des Ansatzes liegt in der Ausnutzung der Synergieeffekte von Testfällen auf verschiedenen Teststufen (Komponenten-, Subsystem-, Systemtest) und der damit verbundenen Reduktion der gesamten Testfallmenge und des Testaufwands im phasenübergreifenden Testprozess. Im konkreten Fall wurde insbesondere die Beziehung zwischen der Anforderungsüberdeckung der Systemtests und der strukturellen Code-Überdeckung der Komponententests betrachtet.
Die Untersuchung und Bewertung des vorgestellten Testansatzes erfolgte mit Hilfe eines Beispiels (Adaptive Cruise Control) aus dem universitären Lehrbetrieb, welches gemäß den Vorgaben aus den technischen Standards mit den entsprechenden Entwicklungsartefakten (Anforderungen, Entwurfsmodelle, Implementierung in C++) und Testartefakten (anforderungsbasierte Systemtestfälle und Testskripte zur Automatisierung) erstellt wurde.
Zur Evaluierung der strukturellen Überdeckung des Programm-Codes wurde die Werkzeugkette CEDARtools des Partners ACCEMIC genutzt, welche die nicht-intrusive strukturelle Überdeckungsmessung für große Software-Systeme ermöglicht. Die Ergebnisse der Bewertung der Überdeckungsanalysen auf System- und Komponentenebene werden im Beitrag vorgestellt.
11:30 Uhr
Test-Ende gut, alles gut
Blackbox-Tests mit Whitebox-Metriken ergeben keine Graybox-Tests
Details anzeigen
Autor:in:
Remo Markgraf | MicroConsult GmbH | Germany
Sprache:
deutsch
Zielgruppe:
Entwickler, Software-Architekten, Tester, Projektleiter, Produktmanager
Voraussetzungen:
Mut zur Lücke :-)
Überblick und Zusammenfassungen:
Jeder wünscht sich möglichst hohe Qualität mit möglichst wenig Testaufwand. Bei Blackbox-Tests steigt der Erfüllungsgrad der Qualitätskriterien anfangs schnell an, doch ab einem bestimmten Level wird es sehr zäh.
White-Box-Tests verhalten sich genau umgekehrt: Zuerst tut sich gar nichts, und erst spät steigt das Ergebnis schnell auf den erwünschten Level an. Eine Mischung von Black- und Whitebox-Verfahren führt effektiver zum erwünschten Ziel.
Der Vortrag widmet sich folgenden Fragen: Wie definiert man dieses Ziel, und wie sieht die richtige Mischung aus? Wann bin ich mit dem Testen eigentlich fertig?
Der Vortrag stellt dabei praxisorientierte Vorgehensmodelle zur effektiven Qualitätssteigerung von Embedded-Software dar.
Art der Vermittlung:
Methodenerklärung
Nutzen:
Die Teilnehmer können die Qualitätsmerkmale ihrer Embedded-Software besser planen und Testaktivitäten effizienter umsetzen.