AyMINE | Testarten
Unternehmensführung
Metriken und Statistiken zur Bewertung des Geschäfts

Teilen Sie uns mit, wonach Sie suchen

Sie möchten sofort fragen?

Rufen Sie uns an unter Tel. +420 605 203 938

oder andere Kontakte nutzen

Testarten

Testarten unterscheiden die Phasen der Produktverifizierung

Testarten nach Ebene

Unit-Tests

Unit-Tests sind Tests auf der untersten Entwicklungsebene. Sie befassen sich mit grundlegenden Einheiten – Funktionen, Schaltkreisen, Basiskomponenten.

Im Grunde überprüfen Unit-Tests auf der untersten Ebene, ob das Ganze aus zuverlässigen Komponenten aufgebaut ist.

Unit-Tests sollten alle Funktionen umfassen – Benutzerfunktionen, Systemfunktionen und natürlich die Funktionsweise aller Schnittstellen.

Dokumentation von Unit-Tests

Bei Unit-Tests ist die Art und Weise ihrer Durchführung entscheidend. Sind Unit-Tests automatisiert, werden sie natürlich durch ihren Code dokumentiert.

Sind sie nicht automatisiert, ist es üblich, dass sie vom Entwickler unmittelbar nach der Entwicklung der Funktion (vor dem Commit in das Repository) durchgeführt werden. Es wäre nicht sinnvoll, die Durchführung des Unit-Tests schriftlich festzuhalten, da dies den Arbeitsaufwand unverhältnismäßig erhöhen würde. Beachten Sie jedoch, dass bei einer Entwicklung gemäß Standards wie ASPICE die Dokumentation von Unit-Tests ebenfalls vorgeschrieben ist.

Grundlage für Unit-Tests sind detaillierte Anforderungen an Hardware, Software und Mechatronik.

Wie dokumentiert man Unit-Tests?

Es muss eine Methodik für die Tests geben, die festlegt, was durch den Test überprüft werden soll. Der Tester bestätigt die Konformität.

Beispiel für Unit-Tests bei Software:
Die Standards verlangen eine statische Code-Review. Dazu gehört

  • Code-Review – als Dokumentation gilt die durchgeführte Aufgabe, bei der der Code überprüft wurde
  • Code-Analyse (manuell oder mehr oder weniger automatisiert) – die Dokumentation besteht aus den Ergebnissen des Analyse-Tools oder wiederum aus der Bestätigung der Person, die die Analyse durchgeführt hat
  • Konsistenzprüfung (z. B. Überprüfung, ob eine Funktion eine andere für den richtigen Zweck und mit den richtigen Parametern aufruft)

Beispiel für Hardware (Elektronik):

  • Überprüfung aller Signalwege
  • Analyse in der Entwurfssoftware durch Simulation von Stromflüssen
  • Überprüfung, ob die Hardware das tut, was sie tun soll, z. B. Laden von Software in den Speicher, Zurücksetzen von Software, die nicht reagiert („Watchdog“), usw.

Beispiel für Mechatronik:

  • Belastungstests zur Prüfung der Festigkeit von Bauteilen
  • Überprüfung der Belastbarkeit beweglicher Teile (z. B. Kabel bei Biegung)

Integrationstests

Der Zweck von Integrationstests besteht darin, zu überprüfen, ob separat entwickelte und auf Unit-Ebene getestete Teile korrekt zusammenarbeiten.

Integrationstests sind in der Regel mehrstufig, um eine schrittweise Integration zu ermöglichen.

Beachten Sie, dass die Integration zwischen allen Teilen des in der Entwicklung befindlichen Produkts stattfindet – Hardware, Software, Mechatronik.

Die Grundlage für Integrationstests bilden die Systemanforderungen.

Abnahme-/Qualifizierungstests

Das Ziel dieser Teststufen ist es, zu überprüfen, ob sich die gesamte Lösung – Produkt, Software – in der vorgesehenen Umgebung korrekt verhält.

Als Grundlage für Qualifizierungs-/Abnahmetests dienen die Benutzeranforderungen, Einschränkungen, Vorschriften und Normen, die die Lösung erfüllen muss.

V modell for development

Weitere Testarten

Tests werden nicht nur nach Stufe, sondern auch nach Schwerpunkt kategorisiert. Im Allgemeinen lässt sich nicht pauschal sagen, auf welcher Stufe welche Testarten durchgeführt werden, da sie – ähnlich wie Funktionstests – oft mehrstufig sind.

Die gängigsten Tests sind obligatorische Tests

  • Cybersicherheitstests – überprüfen, ob das Produkt gegen externe Angriffe resistent ist. Cybersicherheitstests werden auf allen Testebenen durchgeführt
  • Sicherheitstests – überprüfen, ob das Produkt sicher ist. Dabei handelt es sich in der Regel um Tests auf Abnahmeebene. Dazu gehören jedoch beispielsweise auch Tests einzelner Komponenten auf Temperaturbeständigkeit für die Umgebung, in der sie eingesetzt werden sollen, was realistisch gesehen die unterste Testebene darstellt.
  • Widerstandstests – Tests unter verschiedenen Belastungen, um festzustellen, ob das Produkt den Belastungen standhalten kann, denen es während seiner erwarteten Lebensdauer ausgesetzt sein wird
  • Belastungstests – Ähnlich wie Dauerbelastungstests, konzentrieren sich jedoch darauf, wie viel Belastung ein Produkt oder Bauteil aushalten kann.

Methodiken zur Definition von Tests

Wir haben die Testarten nicht erfunden; sie sind durch zahlreiche Methodiken genau definiert. Die am leichtesten zugängliche Methodik ist SPICE oder deren Variante für die Automobilindustrie, ASPICE. Außerdem gibt es umfangreiche Arbeiten zum Softwareentwicklungsstandard ISO/IEC 12204.

Sie fragen, was Sie zum Thema Testen wissen möchten

Welche Arten von Tests müssen wir durchführen?

Die Art der Tests wird in der Regel durch die Projektmethodik festgelegt. Wenn es in Ihrem Unternehmen eine etablierte Methodik gibt, müssen Sie sich daran halten.

Entscheidend ist, ob das von Ihnen entwickelte Produkt bestimmte Normen erfüllen muss. Beispielsweise muss jede Software für Autos, Produktionsmaschinen oder auch Instrumente, die in der Produktion eingesetzt werden, alle Arten von Tests bestehen. Normen wie ISO 26262, CMMI und andere schreiben dies vor.

Wir müssen keine Norm einhalten, daher sind wir von den Verpflichtungen nicht betroffen

Wenn die Entwicklung nicht durch eine verbindliche Norm vorgegeben ist, gibt es keinen externen Standard. Für eine gute Überprüfung der Funktionsfähigkeit der Software sind jedoch mindestens

  • Unit-Tests (Tests des Programmierers und des Lösungsentwicklers) und
  • Qualifikationstests (Anwender-/Funktionstests). Ohne diese beiden Ebenen wird die endgültige Lösung zwangsläufig viele Fehler enthalten.