Fehler im Entwicklungsprozess schneller finden und Entwicklungskosten einsparen

Bahnsteig mit digitaler Anzeige
© Philipp Plum / Fraunhofer FOKUS

Testen ist eines der wichtigsten Mittel zur Qualitätssicherung von Systemen. Durch den frühzeitigen Einsatz von Testentwurfs- und Testausführungstechniken lassen sich Fehler im Entwicklungsprozess schneller finden und Entwicklungskosten einsparen. Der Geschäftsbereich Quality Engineering besitzt mehr als 20 Jahre Erfahrung beim Einsatz von Testtechniken. Der Schwerpunkt der Arbeit liegt auf der Automatisierung des Testentwurfs und der Testausführung sowie der Verbesserung des Testmanagements durch die Nutzung von Modellen. Modellbasierte Entwicklungs- und Testtechnologien werden für das Testen variantenreicher Systeme oder das Security-Testing für den Common-Criteria-Zertifizierungsprozess eingesetzt.

Ziel ist es, durch die Optimierung von Entwicklungsprozessen die Qualität von Produkten zu erhöhen. Für die Erprobung und Weiterentwicklung der eingesetzten Techniken entwickeln die Wissenschaftlerinnen und Wissenschaftler des Geschäftsbereichs Quality Engineering eigene Werkzeuge und Testbeds. Die dabei gesammelten Erfahrungen bringen sie in Standardisierungsgremien ein. Beim European Telecommunications Standards Institute (ETSI) haben sie u. a. die Testspezifikations- und -implementierungssprache TTCN-3 entwickelt und am MBT-Standard mitgewirkt. Um die Modellierung von Testmodellen mit UML besser zu unterstützen, haben sie außerdem bei der Object Management Group (OMG) die Standardisierung des UML-Testprofiles initiiert und geleitet. Die Forschenden unterstützen ihre Kunden bei der Einführung neuer Testtechnologien und deren Integration in den Entwicklungsprozess. Darüber hinaus führen sie Workshops zum Einsatz der Technologien und Werkzeuge durch.

Der Geschäftsbereich Quality Engineering besitzt darüber hinaus umfangreiche Erfahrungen bei der Optimierung von Systemarchitekturen, der Verifikation und bei Soft- und Hardware-Architekturen.

Angebot

Testautomatisierung

  • Beratung und Unterstützung bei der Einführung von Testautomatisierung und Testautomatisierungs-Architekturen
  • Automatisierung der Testgenerierung, -ausführung, -bewertung und -reporting und Anbindung an die angrenzenden Prozesse 
  • automatisierter Aufbau von Testumgebungen

Quantitative Robustheitsbewertung von KI-Modellen

  • Quantitative Bewertung der Robustheit von Machine-Learning-Modellen in Bezug auf Adversarial Examples
  • Anwendung existierender Verfahren wie CLEVER-Score oder neuartiger Verfahren basierend auf der Analyse von Adversarial Subspaces und Adversarial Attacks
  • Anwendung von Techniken zur Verbesserung der Modellrobustheit, wie z. B. Adversarial Training und Evaluierung ihrer Effektivität

Datenqualität für KI im Kontext der Anomalieerkennung

  • Auswertung von Datenströmen anhand existierender Datenqualitätscharakteristiken
  • KI-gestützte Erkennung von Ausreißern sowie Drift in Datenströmen
  • Korrektur bzw. Reparatur ermittelter Anomalien in Datenströmen mittels Interpolation
  • Fokus auf ressourcensparsamen Techniken in Bezug auf Edge-Computing in nahezu Echtzeit

Standardisierung

  • ETSI TC MTS
  • ISO/IEC JTC 1/SC41
  • DIN NA 043-01-41 AA Internet of Things (IoT) and Digital Twin
  • StandICT (EUOS) TWG IoT and Edge
  • AIOTI WG Standardization

Common Criteria-Zertifizierung

Begleitung von Common Criteria Zertifizierungen für Softwareprodukte in Zusammenarbeit mit dem BSI. Common Criteria ist ein international anerkanntes Prüfkriterienwerk zur Bewertung von IT-Sicherheitsprodukten, IT-Produkten und -Systemen.

Fuzzino

Tool zur Durchführung von Fuzzing mit folgenden Schwerpunkten:

  • Allgemeine Sicherheitstests (u. a. durch Verwendung von Fuzzingheuristiken)
  • Grammatikbasiertes (Protokoll) Fuzzing
  • Schwachstellenorientiertes Fuzzing (Fokus auf eine bestimmte Coderegion oder eine bestimmte Art an Schwachstellen)
  • Verifikation statischer Analyse Ergebnisse
  • Validierung von Security Patches
  • Firmware Fuzzing

Pentesting / Sicherheitstesten

  • Unterstützung und Durchführung von Penetrationstests (z. B. auf Basis von OWASP Application Security Verification Standard (ASVS))
  • Durchführung von Sicherheitstests mit Hilfe unseres Fuzzing Tools Fuzzino
  • Unterstützung bei der Einführung von Fuzz Testing in Ihren Testprozess (und bei der Integration von Fuzzino in Ihre Testwerkzeuge)
  • Security-Risikoanalyse als Grundlage für einen effizienten, risiko-basierten Security-Testprozess
  • Verifikation von Ergebnissen aus der statischen Analyse (wie SonarQube) zur Identifikation der echten Schwachstellen und Reduzierung der Falschmeldungen
  • Unterstützung bei der Entwicklung und Validierung von Sicherheitspatches
  • Integration unserer Lösungen in CI/CD und DevSecOps Lifecycles für kontinuierliche Sicherheitstests
  • Integration in Entwicklungsumgebungen (z. B. VSCode) zur Visualisierung verwundbarer Codestellen
  • Supply-Chain-Sicherheit: Erstellung und Validierung  des SBOM (SPDX/CycloneDX), Dependency- und Secret-Scanning