Einordnung
Das Seminar entwickelt eine mehrstufige Teststrategie für U-Boot. Sandbox, C-Unit-Tests, pytest-Konsole, Buildman, QEMU oder Simulation, reale Boards, Flash- und Reset-Hooks, Fehlerinduktion, Artefakte und CI-Freigaberegeln werden zu einer reproduzierbaren Qualitätssicherung verbunden.
Inhaltsübersicht
- Testpyramide festlegen
- Sandbox aufbauen
- C-Unit-Tests schreiben
- pytest-Konsole verwenden
- Hardware-Hooks integrieren
- Buildman und Buildmatrix einsetzen
- Fehlerinduktion und Robustheit testen
- CI und Freigaberegeln gestalten
- Praxisübungen
- Lernziele
Zielgruppe und Vorkenntnisse
Zielgruppe: BSP- und Embedded-C-Entwicklung, Testautomatisierung, Build und Release Engineering, Qualitätssicherung und technische Maintainer.
Vorkenntnisse: Gute U-Boot-, Linux-, Git- und Python-Grundkenntnisse; Erfahrung mit Cross-Build und serieller Konsole.
1. Testpyramide festlegen
Build-, Unit-, Sandbox-, Konsolen- und Hardwaretests erhalten klare Zuständigkeiten.
- Schritt 1: Funktionen nach hostbasiert, emuliert und hardwareabhängig klassifizieren.
- Schritt 2: Schnelle Pflichtprüfungen von längeren Freigabetests trennen.
- Schritt 3: Abdeckung, Laufzeit und Fehlersignal je Stufe dokumentieren.
2. Sandbox aufbauen
U-Boot wird als Hostprozess für schnelle und debugbare Tests verwendet.
- Schritt 1: Passende Sandbox-Defconfig bauen.
- Schritt 2: Virtuelle Geräte und Testdaten konfigurieren.
- Schritt 3: Testfall mit reproduzierbarem Startzustand ausführen.
3. C-Unit-Tests schreiben
Interne Funktionen und Driver-Model-Verhalten werden nah am Code geprüft.
- Schritt 1: Testgruppe und Fixture für die Zielkomponente auswählen.
- Schritt 2: Positive, Grenz- und Fehlerfälle formulieren.
- Schritt 3: Test in den regulären Sandbox-Lauf integrieren.
4. pytest-Konsole verwenden
U-Boot wird über die reale Kommandozeile wie im Betrieb angesprochen.
- Schritt 1: Board- und Umgebungsdaten für den Test bereitstellen.
- Schritt 2: Kommandos ausführen und Ausgabe robust auswerten.
- Schritt 3: Unerwarteten Reset, Timeout und Fehlermeldung eindeutig erkennen.
5. Hardware-Hooks integrieren
Flashen, Reset, Konsole und Freigabe werden für reale Boards automatisiert.
- Schritt 1: Synchrones Flash-Hook mit Verifikation erstellen.
- Schritt 2: Reset- oder Power-Cycle-Hook zuverlässig anbinden.
- Schritt 3: Konsolenprozess und eindeutige Boardidentität bereitstellen.
6. Buildman und Buildmatrix einsetzen
Konfigurations- und Compilerregressionen werden vor Funktionstests erkannt.
- Schritt 1: Boardmenge, Architekturen und Toolchains definieren.
- Schritt 2: Warnungen und Größenänderungen erfassen.
- Schritt 3: Fehler gegen verursachenden Commit oder Konfigurationswechsel eingrenzen.
7. Fehlerinduktion und Robustheit testen
Recovery- und Fehlerpfade werden bewusst ausgelöst statt nur den Erfolgsfall zu prüfen.
- Schritt 1: Fehlendes Image, beschädigten Header und falsche Signatur simulieren.
- Schritt 2: Netzwerk-, Speicher- und Resetfehler an definierten Punkten einbringen.
- Schritt 3: Erwartete Rückgabe, Logmeldung und Wiederanlauf prüfen.
8. CI und Freigaberegeln gestalten
Testergebnisse, Artefakte und Grenzwerte werden für automatisierte Entscheidungen aufbereitet.
- Schritt 1: Builds, Logs, Images und Testergebnisse versioniert ablegen.
- Schritt 2: Pflicht-, Quarantäne- und Hardwaretests klar kennzeichnen.
- Schritt 3: Freigabe bei Fehlern, Größen- oder Bootzeitregressionen blockieren.
Praxisübungen
- Sandbox-Build mit C-Unit-Test und Debuggerlauf.
- pytest-Test über U-Boot-Konsole mit positiver und negativer Variante.
- CI-Pipeline mit Buildman, Sandbox und einem simulierten Hardware-Hook.
Lernziele
- Eine mehrstufige U-Boot-Teststrategie entwerfen.
- Sandbox- und C-Unit-Tests implementieren.
- pytest für Konsolen- und Hardwaretests verwenden.
- Flash-, Reset- und Konsolen-Hooks zuverlässig integrieren.
- Build-, Funktions-, Größen- und Bootzeitregressionen in CI blockieren.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | BSP- und Embedded-C-Entwicklung, Testautomatisierung, Build und Release Engineering, Qualitätssicherung und technische Maintainer. |
| Voraussetzungen: | Gute U-Boot-, Linux-, Git- und Python-Grundkenntnisse; Erfahrung mit Cross-Build und serieller Konsole. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
