Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded-Software-Test objektorientiert für C++: Best Practices für den Klassen- und Komponenten-Test

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

Im Mittelpunkt des Trainings stehen die Tests, die aufgrund ihrer Programmiernähe in der Regel vom Entwickler durchgeführt werden und deshalb auch als Entwicklertests bezeichnet werden. Sie lernen zunächst den Entwicklungs- und Testprozess im Zusammenhang mit all seinen Abhängigkeiten, Ergänzungen und Wechselbeziehungen kennen, um durch die Nutzung von Synergien effizient und effektiv zu testen. Anschließend werden statische und dynamische Testverfahren und Methoden zur Erstellung von Testfällen vorgestellt, um ein Embedded-System bestehend aus Hardware und Software optimal zu testen. Dieses Test-Seminar beleuchtet die Besonderheiten beim Testen von objektorientierter Software. In zahlreichen praktischen Übungen mit Software und Hardware setzen Sie das Gelernte um.

Software-Entwickler, Hardware-Entwickler, Testingenieure

Für das Testen von objektorientierten Programmen sind gute C++ Kenntnisse erforderlich.

Grundlagen des Software-Testens

  • Warum sind Software-Tests notwendig?
  • Ursachen von Softwarefehlern
  • Konstruktive und analytische Qualitätssicherung
  • Die sieben Grundsätze des Softwaretestens
  • Der fundamentale Testprozess
  • Psychologie des Testens

Testen im Software Lebenszyklus

  • Softwareentwicklungsmodelle
  • Testrelevante Standards
  • Teststufen: Komponententest, Integrationstest, Systemtest, Abnahmetest
  • Entwicklertests (Unit-, Klassentests)
  • Testarten: funktionaler, nichtfunktionaler, strukturorientierter Test
  • Fehlernachtest, Regressionstest, Wartungstest
  • Entwicklung von testbarer Software
  • Begriffsklärung Unit, Modul, Komponente
  • Ermitteln von Testfällen und Testdaten aus der Spezifikation
  • Unterschied zwischen Debuggen und Testen

Statischer Test

  • Review-Prozess: Dokumentenreview, Codereview, Inspektion, Walkthrough
  • Werkzeuggestützte statische Analyse

Dynamische Tests

  • Blackbox-Verfahren: Äquivalenzklassenbildung, Grenzwertanalyse,
  • Entscheidungstabellentest, zustandsbasierter Test, anwendungsfallbasierter Test
  • Whitebox-Verfahren: Anweisungstest/-überdeckung,
  • Entscheidungstest/-überdeckung, Bedingungstest/-überdeckung
  • Erfahrungsbasierte Verfahren: Error Guessing, exploratives Testen
  • Systematische Vorgehensweise bei der Entwicklung von Testfällen
  • Kriterien zur Auswahl von Testverfahren
  • Bewertung der Testverfahren

Codemetriken

  • Lines of Code, zyklomatische Zahl nach McCabe, Halstead-Metrik
  • Anwendung der Metriken im Testprozess

Design for Test

  • S.O.L.I.D. Prinzipien
  • Single Responsibility, Open Closed
  • Liskov Substitution
  • Interface Segregation, Dependency Inversion

Testen von objektorientierter Software

  • Testen von modalen und nicht-modalen Klassen
  • Testen von Methoden einer Klasse
  • Flattening beim Testen von Methoden und Zustandsautomaten
  • Testen von Klassenhierarchien
  • Testen von Assoziationen
  • Testen einer strikten und nicht-strikten Vererbung
  • Testen von polymorphen Klassenhierarchien
  • Testmuster
  • Google Test und Google Mock im Einsatz

Test Driven Development, TDD

  • Vorteile von TDD
  • Embedded TDD Strategien
  • TDD Beispiel

Integration von Hardware und Software

  • Testdurchführung auf der Hardware

Weitere Aktivitäten im Testprozess

  • Risikomanagement, Fehler- und Abweichungsmanagement
  • Konfigurationsmanagement und Versionskontrolle
  • Softwarequalitätsmerkmale nach ISO 9126
  • Testdokumente nach IEEE 829
  • Testwerkzeuge im Überblick

Praktische Übungen

  • Durchführung eines Code-Reviews
  • Durchführung von Blackbox-Tests mit einem Unit-Test-Tool
  • Durchführung von Blackbox- und Whitebox-Tests mit Tessy, mit und ohne Hardware
  • Ermitteln von Testfällen aus der Spezifikation
  • Ermittlung von Testdaten nach der Classification Tree Methode mit CTE
  • Bestimmen von Codemetriken mit den Tools cccc und CMT++
  • Übungen zum Testen von Klassen und Klassenhierarchien mit Unit-Test-Tools und Mock-Tools
  • Ersetzen von noch nicht verfügbaren Units durch Stubs, Mocks oder Fakes
  • Für die Tests auf der Hardware werden die ARM/ Keil µVision und ein Cortex-M Evaluierungsboard eingesetzt


Im Preis enthalten:

Mittagessen, Getränke, Trainingsunterlagen und Teilnahmezertifikat


Für Personalabteilungen

Sie können in unserem Online-Formular bis zu 5 Teilnehmer auf ein Training buchen.
Möchten Sie mehrere Teilnehmer auf verschiedene Trainings buchen, kontaktieren Sie uns bitte!

Bitte beachten Sie auch unser Bonusprogramm bei der gleichzeitigen Buchung von mehreren Trainings und/oder Teilnehmern.

Für Personalabteilungen

Verwandte Trainings

Embedded-Software-Test für C: Best Practices für den Unit-/Modul-/Komponenten-Test
Trainings-Code: EMB-TEST

ISTQB® Schulung: Certified Tester Foundation Level - Testen von Embedded- und IT-Systemen
Trainings-Code: ISTQB-TEST

Agiles Testen und Test Driven Development von Embedded-Systemen (Agile TDD)
Trainings-Code: AGILE-TDD

Requirements Engineering Schulung: Requirements Engineering und Requirements Management für Embedded-Systeme
Trainings-Code: REQ-ENG

Usability Schulung: Produkte benutzerfreundlich entwickeln
Trainings-Code: USABILITY

Softwarequalität: Methoden zur erfolgreichen Projektumsetzung unter Berücksichtigung wichtiger Normen, Standards und jahrelanger Software-Projekterfahrung
Trainings-Code: SW-Q

Embedded-Linux-Training: Für Tester, Support und Service
Trainings-Code: LINUXE-T


Verwandte Trainings

Offenes Training

TerminPreis *Dauer
19.02. – 22.02.20182.050,00 €4 Tage 
14.05. – 17.05.20182.050,00 €4 Tage 
15.10. – 18.10.20182.050,00 €4 Tage 
25.02. – 28.02.20192.050,00 €4 Tage 
Anmeldecode: TEST-OO
* Alle Preise zzgl. der gesetzlichen USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Inhouse Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

> Trainingsbeschreibung als PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Embedded-Software-Test objektorientiert für C++: Best Practices für den Klassen- und Komponenten-Test

Inhalt

Grundlagen des Software-Testens

  • Warum sind Software-Tests notwendig?
  • Ursachen von Softwarefehlern
  • Konstruktive und analytische Qualitätssicherung
  • Die sieben Grundsätze des Softwaretestens
  • Der fundamentale Testprozess
  • Psychologie des Testens

Testen im Software Lebenszyklus

  • Softwareentwicklungsmodelle
  • Testrelevante Standards
  • Teststufen: Komponententest, Integrationstest, Systemtest, Abnahmetest
  • Entwicklertests (Unit-, Klassentests)
  • Testarten: funktionaler, nichtfunktionaler, strukturorientierter Test
  • Fehlernachtest, Regressionstest, Wartungstest
  • Entwicklung von testbarer Software
  • Begriffsklärung Unit, Modul, Komponente
  • Ermitteln von Testfällen und Testdaten aus der Spezifikation
  • Unterschied zwischen Debuggen und Testen

Statischer Test

  • Review-Prozess: Dokumentenreview, Codereview, Inspektion, Walkthrough
  • Werkzeuggestützte statische Analyse

Dynamische Tests

  • Blackbox-Verfahren: Äquivalenzklassenbildung, Grenzwertanalyse,
  • Entscheidungstabellentest, zustandsbasierter Test, anwendungsfallbasierter Test
  • Whitebox-Verfahren: Anweisungstest/-überdeckung,
  • Entscheidungstest/-überdeckung, Bedingungstest/-überdeckung
  • Erfahrungsbasierte Verfahren: Error Guessing, exploratives Testen
  • Systematische Vorgehensweise bei der Entwicklung von Testfällen
  • Kriterien zur Auswahl von Testverfahren
  • Bewertung der Testverfahren

Codemetriken

  • Lines of Code, zyklomatische Zahl nach McCabe, Halstead-Metrik
  • Anwendung der Metriken im Testprozess

Design for Test

  • S.O.L.I.D. Prinzipien
  • Single Responsibility, Open Closed
  • Liskov Substitution
  • Interface Segregation, Dependency Inversion

Testen von objektorientierter Software

  • Testen von modalen und nicht-modalen Klassen
  • Testen von Methoden einer Klasse
  • Flattening beim Testen von Methoden und Zustandsautomaten
  • Testen von Klassenhierarchien
  • Testen von Assoziationen
  • Testen einer strikten und nicht-strikten Vererbung
  • Testen von polymorphen Klassenhierarchien
  • Testmuster
  • Google Test und Google Mock im Einsatz

Test Driven Development, TDD

  • Vorteile von TDD
  • Embedded TDD Strategien
  • TDD Beispiel

Integration von Hardware und Software

  • Testdurchführung auf der Hardware

Weitere Aktivitäten im Testprozess

  • Risikomanagement, Fehler- und Abweichungsmanagement
  • Konfigurationsmanagement und Versionskontrolle
  • Softwarequalitätsmerkmale nach ISO 9126
  • Testdokumente nach IEEE 829
  • Testwerkzeuge im Überblick

Praktische Übungen

  • Durchführung eines Code-Reviews
  • Durchführung von Blackbox-Tests mit einem Unit-Test-Tool
  • Durchführung von Blackbox- und Whitebox-Tests mit Tessy, mit und ohne Hardware
  • Ermitteln von Testfällen aus der Spezifikation
  • Ermittlung von Testdaten nach der Classification Tree Methode mit CTE
  • Bestimmen von Codemetriken mit den Tools cccc und CMT++
  • Übungen zum Testen von Klassen und Klassenhierarchien mit Unit-Test-Tools und Mock-Tools
  • Ersetzen von noch nicht verfügbaren Units durch Stubs, Mocks oder Fakes
  • Für die Tests auf der Hardware werden die ARM/ Keil µVision und ein Cortex-M Evaluierungsboard eingesetzt

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.