Software Test & Quality

Softwarequalität ist das Ziel, entwicklungsbegleitendes Testen der Weg und Testautomatisierung ein ständiger Begleiter.

Software Testing

Wir bei der Ingenics Digital GmbH befassen uns seit über 35 Jahren mit dem Prozess des Testens. Als unverzichtbarer Teil der Softwareentwicklung stellt das Testen die Fehlerfreiheit und Zuverlässigkeit von Software sicher und leistet somit einen großen Anteil an der Qualität. Egal ob es um den Prozess selbst, die Planung, Spezifikation, Implementierung und Durchführung von Tests in allen Teststufen geht, unsere Experten stehen Ihnen mit Rat und Tat zur Seite.

Unit Testing

Im Lebenszyklus von Software platziert sich der Unit Test direkt nach dem Code Review und der statischen Code Analyse. Im Unit Test wird ein Stück Software das erste Mal dynamisch mit bewährten Verfahren getestet.

Neben der Sicherstellung der funktionalen Richtigkeit des Codes, stellt der Unit Test aber auch eine Methode zur Verbesserung der formalen Softwarequalität dar. Unit Tests benötigen Requirements welche die Funktion der Software beschreiben. Gut strukturierter Code lässt sich einfacher testen und sorgt für eine höhere Testcoverage.

Wollen Sie dieses Wissen vertieft in Ihrem Team haben? Wir haben auch pädagogisch versierte Experten, die auch Ihre Entwickler zum Thema Unit Testing und den zugehörenden Methoden und Verfahren schulen.

Unsere Experten beraten Sie gerne zu den folgenden Punkten:

  • RAnalyse der Software (design for testability)
  • R Auswahl eines geeigneten Unit Testing Frameworks
  • RErstellen einer Testspezifikation
  • RRealisieren der Tests
  • RÜberführung der Tests in ihre Continuous Integration Umgebung

Continuous Integration

Commit – Build – Test – Deploy – Repeat

Continuous Integration ist eine systematische Vorgehensweise zur Verbesserung der Codequalität.

Unsere Experten unterstützen Sie bei der Planung und der Implementierung Ihrer Continuous Integration von der vollständigen Neueinführung eines maßgeschneiderten CI-Prozesses bis zur Optimierung und Erweiterung bestehender CI. Wir übernehmen für Sie die Auswahl geeigneter Tools für die Statische Codeanalyse, den Bau der Software und die Durchführung von Unit Tests, sowie höherer Teststufen bis zum Gesamtsystem- und Abnahmetest. Gerne schulen wir auch Ihre Entwickler in den Methoden und Verfahren, die in der professionellen CI verwendet werden.

Continuous Integration folgt einem strukturieren Prozess, der die folgenden Schritte beinhaltet:

  • RHäufige Integration von Codeänderungen
  • RDurchführen von Reviews
  • RStatische Codeanalyse
  • RAutomatisierte Tests
  • RDeployment
  • RKontinuierliche Überwachung

Die Ingenics Digital Test & Quality Werkzeugkiste

Die Werkzeugkiste enthält alles, was Sie für die Erreichung Ihrer Softwarequalitätsziele benötigen.

Prozessanalyse

Gemeinsam mit Ihrem Team analysieren wir systematisch Ihre bestehenden Prozesse rund um die Softwareentwicklung. Das Ergebnis der Analyse ist eine detaillierte Dokumentation des IST-Zustands Ihrer Prozesse, um mögliche Schwachstellen zu identifizieren und Verbesserungspotenziale zu erkennen.

  • Analyse Ihrer Prozessdokumentation
  • Durchführung von Workshops und Interviews
  • Dokumentation der Ergebnisse
Qualitätsziele definieren

Gemeinsam mit Ihrem Team definieren wir die von Ihnen gewünschten oder geforderten Qualitätsziele für Ihre Software. Hier kommen z.B. normative Anforderungen oder strategische Qualitätsziele Ihrer Organisation mit ins Spiel.

  • Qualitätsziele definieren
  • Dokumentation der Ziele
Maßnahmen planen
Die Planung der Maßnahmen hängt vom IST-Zustand und den definierten Qualitätszielen Ihrer Prozesse ab. Je nachdem wo die Reise qualitätstechnisch hin gehen soll, können Maßnahmen von der Optimierung bereits bestehender bis hin zur Einführung neuer Prozessphasen abgleitet werden.

  • Erarbeitung und Planung der Maßnahmen
Realisierung
In der Realisierungsphase werden die geplanten Maßnahmen von unseren Experten umgesetzt. Um das Know-how an Ihr Team weiterzugeben hat sich eine enge Zusammenarbeit während der Implementierung als vorteilhaft erwiesen. Im Anschluss können zusätzliche Schulungsmaßnahmen erforderlich sein. Die folgende Liste enthält Beispiele möglicher Aufgaben für die Umsetzung der Maßnahmen.

  • Testkonzepte erstellen
  • Testspezifikationen erstellen
  • Werkzeuge und Tools auswählen
  • Skripten zur Testautomatisierung erstellen P
  • lanen und Aufsetzen einer Continuous Integration Umgebung
  • Tests implementieren und ausführen
  • Realisierung eines Hardware/Software in the Loop Frameworks
Sicherheitsnormen – wir informieren Sie

Der „Cyber Resilience Act“ ist im Dezember 2024 in Kraft getreten. Somit ist das Mindestmaß an Cybersicherheit für alle vernetzten Produkte festgelegt.Insbesondere stehen alle Themen von der Bedrohungsanalyse bis zur SBOM im Fokus.

  • RED – Radio Equipment Directive
  • CRA – Cyber Resilience Act
  • EN 303645
  • NIST 8259(A)
  • Common Criteria – ISO/IEC 15408, BSI PP
  • IT-Grundschutz ISO 27001
  • ISO/IEC 62443-4-x
  • DIN SPEC 27072
  • PSA Certification – Level 1

 

Weitere Themen

Industry Applications

Business Applications

Embedded Systems

Cloud Applications

Artifical Intelligence

Embedded Linux

Embedded & Application Security