Testen von Software Eingebetteter Systeme

07. - 08. Oktober 2010
nestor, Ludwigsburg

Referent:
Dr. Stephan Grünfelder

Sprache:
Deutsch

Frühbucherpreis:
1.405,- € zzgl. MwSt. bei Anmeldung bis 07. Juli

Beginn
9:00 Uhr - ca. 17:00 Uhr (an beiden Tagen)

Kosten
1.550,- € zzgl. MwSt.

 

Lernen Sie mit Stephan Grünfelder, wie das Testen von Software effizient, effektiv und keinesfalls langweilig wird. Stephan Grünfelder stützt sich auf langjährige Erfahrung als Softwaretester und Projektleiter im Automotive-Umfeld, der Medizintechnik und der unbemannten Raumfahrt. Er ist Autor zahlreicher Publikationen in der deutschen Fachpresse, Lektor an zwei Hochschulen, und ist nach wie vor aktiv in der Softwareentwicklung tätig. Seine Seminare vermitteln praxisnahes Wissen auf höchstem Niveau in leicht erlernbarer Form.
 

Zielgruppen

Softwareentwickler, Tester, Team-/Projektleiter mit und ohne Vorkenntnisse

Überblick

Der Kurs gibt einen umfassenden Überblick über Testmethoden und Testmanagement im gesamten Softwarelebenszyklus. Sie bekommen das nötige Wissen um selbst Tests zu entwerfen und Entscheidungen beim Kauf von Testtools treffen zu können. Sie werden befähigt Testprozesse in Ihrer Firma zu bewerten, zu verbessern und testrelevante Kapitel von Standards wie IEC 61508 und DO-178B zu verstehen. Jeder Abschnitt des Kurses ist mit Beispielen aus der industriellen Praxis illustriert.

Das Beherrschen des Testhandwerks alleine ist aber zu wenig um die Softwarefehlerrate zu reduzieren. Aus diesem Grund zeigt dieser Kurs auch wie Sie Testdurchführung und Testmanagement mit anderen Methoden verzahnen müssen um das Kostenoptimum anzusteuern.

Inhalt

  • Testbare und untestbare Anforderungen
  • Testdesign, Testdokumentation
  • Unit-Test, Integrationstests, Systemtests und das Zusammenspiel dieser Testarten
  • Nichtfunktionale Tests
  • Statische Code-Analyse
  • Automatische Data-Race-Erkennung
  • Testautomation: Spielarten, Entscheidungshilfen
  • Testtools von low cost bis high end
  • WCET-Analyse
  • Modellbasiertes Testen, automatische Testfallgenerierung
  • Testmanagement und Steuerung der Testkosten
  • Metriken
  • Rechtliche Belange, IEC 61508
  • Fallbeispiele und praktische Übungen

Tag 1

Nachdem häufige Ursachen von Software-Bugs untersucht wurden, werden verschiedene Verifikationsmethoden und Ihr Platz im Softwareentwicklungszyklus gezeigt. Die Kursteilnehmer lernen zu welcher Zeit man welche Testschritte in welchem Detaillierungsgrad plant und zu welcher Zeit man diese dann am gewinnbringendsten ausführt. Dem Wechselspiel von Softwareanforderungen und Softwaretest wird dabei besonderes Augenmerk gewidmet, weil Missverständnisse bei der Kommunikation mit dem Kunden oft die teuerste Art von Fehlern darstellt. Daher sind auch Reviews von Anforderungen ein wichtiger Teil des Kursinhalts.

Das Zusammenspiel von Code-Review, Unit-Test, Integrationstest und Softwaresystemtest wird erörtert. Die Teilnehmer werden erkennen welche Art von Fehlern in welcher Teststufe gefunden werden kann. Zu jeder Teststufe werden Grade von Testabdeckungen definiert und miteinander bezüglich Aufwand und Schärfe verglichen.

White Box und Black Box Testing wird genauer vorgestellt, dabei wird auch darauf bedacht genommen, wie man Testaufwand schätzen kann und Testgüte beurteilen kann. Für beide Techniken werden Entscheidugshilfen gegeben, die helfen zu beurteilen ob sich Testautomatisierung lohnt und welche Art von Tools dazu benötigt werden. Screenshots und Live-Demonstrationen von Tools geben Orientierungshilfen zu den Themen Stresstest, Performance-Test, Load Test, Volume Test, Installation Test, Ressource Test, Security Test und Regression Test.

Als Abschluss des ersten Kurstages können die Teilnehmer ihre neuen Fähigkeiten messen. Sie entwerfen einen Unit-Testfall und einen Softwaresystemtestfall und bekommen dazu qualifiziertes Feedback.

Tag 2

Am zweiten Tag werden Methoden der in der Literatur wenig behandelten Integrationstests vorgestellt. Die Teilnehmer lernen wie man diese Tests systematisieren kann und wann darauf verzichtet werden kann.

Die Verbesserung der Qualität von Code-Reviews wird Thema sein und ergänzend dazu werden Software-Coding-Standards und Stärken und Schwächen von statischen Code-Analyse-Tools vorgestellt.

Der Einsatz von Testprozessmetriken zur Steuerung der Testeffizienz und als Instrument des Managements wird besprochen.

Race Conditions können zu einer ganz besonders unangenehmen Art von Fehlern führen und werden mit traditionellen Testmethoden nicht oder nur durch Zufall gefunden. Tools werden vorgestellt, die dabei helfen automatisch solche Fehler zu erkennen. Die Tools werden bezüglich ihrer Stärken und Schwächen verglichen.

Des Weiteren gibt es einen Einblick über neue Entwicklungen am Sektor Softwaretest: modellbasiertes Testen, automatische Testfallerstellung, Worst Case Execution Timing Analysis. Kurz werden rechtliche Aspekte und wichtige den Test ergänzende Methoden angesprochen bevor der Kurs mit der Analyse von Managementfehlern bei gescheiterten Testprojekten schließt.

Abgrenzung zu anderen Seminaren

Das traditionelle Zielpublikum für Seminare zum Thema Softwaretest beschäftigt sich mit sicherheitsrelevanter Software. Als Abgrenzung zum Seminar „Safer Testing - Testing High Integrity & Safety-Critical Systems” spricht der Inhalt dieses Seminars bewusst auch Entwickler von Low-Cost-Systemen an und gibt Hinweise, wie man den Testaufwand gemäß den Projektansprüchen skalieren kann.

Kursvoraussetzungen

Keine. Grundlagenkenntnisse der Programmiersprache C erleichtern aber sicher das Verstehen einiger Fallbeispiele.

 Seminarbeschreibung (pdf)

 Seminaranmeldung online