Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
06 2021 Elektronik 17 Entwicklungstools Bei vielen wenn nicht gar den meisten Embedded-Systemen führen Entwicklerteams Regressionstests am Ende des Lebenszyklus aus So wollen sie die Stabilität der einzelnen Softwareversionen bestimmen Programmierer setzen den iterativen Prozess fort bis das Projekt abgeschlossen ist In anderen Arbeitsabläufen gehören Regressionstests zur täglichen Realität von Entwicklern Man kann sogar behaupten dass es sich bei den meisten Tests in iterativen und agilen Prozessen um Regressionstests handelt Aber was genau sind Regressionstests was macht sie zu einem so wichtigen Teil beim Entwickeln von Software? Regressionstests ausführen Eine Regression ist ein Trend oder ein Verschieben in Richtung eines niedrigeren oder weniger als perfekten Zustands genau das versuchen Programmierer beim Entwickeln von Software zu vermeiden Regressionstests helfen dabei Fehler zu finden die sich in Software einschleichen wenn Entwickler neue Funktionen hinzufügen Fehler beheben sowie Änderungen an den Testfällen vornehmen Regressionstests zählen zu den häufigsten Softwareentwicklungsprozessen Entwickler führen sie nach Änderungen an der Software aus um festzustellen ob sich die neuen Änderungen auf den bestehenden Betrieb der Software auswirken Regressionstests sind nötig jedoch zeigen sie lediglich dass die jüngsten Anpassungen im Code nicht zum Fehlschlagen der Tests führen Es gibt keine Garantie dafür dass die Anpassungen selbst funktionieren Außerdem kann die Art der Änderungen die Regressionstests nötig machen über die aktuelle Anwendung hinausgehen und Modifikationen der Hardware des Betriebssystems und der Betriebsumgebung umfassen Regressionstests in Embedded-Systemen In der Regel gibt es bei EmbeddedSystemen sicherheitskritische Einschränkungen darum testen Entwicklerteams das System oder Subsystem auf Regressionen Meist finden die Tests am Ende jedes iterativen Lebenszyklus des Systems oder Subsystems statt Das bedeutet Alle Unit-Testfälle die für ein vorheriges Softwaresystemoder Subsystem-Release definiert wurden plus die neuen zum Verifizieren neuer Funktionen hinzugefügten Testfälle sind auszuführen um Regressionen in der Software aufzudecken Hat ein früherer Unit-Testfall bestanden und schlägt jetzt fehl wurde möglicherweise eine Regression erkannt Eine neue Funktion könnte den Fehler verursachen In dem Fall ist unter Umständen das Aktualisieren des Testfalls unter Berücksichtigen der geänderten Einund Ausgabewerte nötig Es ist außerdem wichtig zu verstehen dass Regressionstests nicht allein UnitTestfälle beinhalten Ebenso enthalten Regressionstests von Embedded-Systemen das Ausführen von Integrations-System-Leistungs-Stresstestfällen und mehr Eigentlich sollten Entwickler alle zuvor erstellten Testfälle ausführen um folgendes zu gewährleisten ➔ Es liegen keine Regressionen vor ➔ Aufbau eines neuen zuverlässigen Software-Releases Beides ist bedeutend da Programmierer jedes neue Softwaresystemoder Subsystem-Release auf dem vorherigen Release aufsetzen beziehungsweise entwickeln Ohne ein solides Fundament kann das ganze Konstrukt zusammenbrechen Hier kommt das Tool C C++test von Parasoft ins Spiel Es kann automatisch Testfälle generieren Die Kombination von automatisch generierten Testfällen mit manuell erstellten Testfällen ergibt einen kollektiven Satz eine Testsuite Entwickler und Tester führen sie aus um Anwendungsfehler zu identifizieren C C++test erfasst die Testergebnisse und Bild 1 Jeder neue Unit-Test entwickelt sich sobald er validiert ist zu einem zukünftigen Regressionstest So sind Regressionstests im Laufe der Zeit akkumulierte Tests Bild Parasoft Bild 2 So läuft das Bereitstellen Ausführen und Beobachten von Tests vom Host zum Target in C C++test ab Bild Parasoft