Ein Angebot von

Safe Continuous Integration

| Autor / Redakteur: Gudrun Neumann * / Christine Kremser

(Bild: gemeinfrei/Pixabay / CC0)

Ein manueller Software-Integrationsprozess kann nicht immer mit der Geschwindigkeit der Änderungen in der Entwicklung mithalten. Deshalb gehen mehr und mehr Hersteller dazu über, einen Continuous Integration (CI) Prozess aufzusetzen: Build-Zyklen erfolgen früh und iterativ zusammen mit automatisierten Tests.

In diesem Beitrag wird anhand eines beispielhaften CI Prozesses dargestellt, welche Anforderungen der Standards zur Funktionalen Sicherheit beachtet werden müssen.

Dabei wird ein besonderes Augenmerk auf Versionsmanagement, Traceability und Automatisierung von Tests liegen.

Auch bei dieser Vorgehensweise müssen die Nachweise für die sicherheits-relevanten Tätigkeiten erbracht werden, wie z.B. Auswahl der Testmethoden und Testspezifikationen.

Eine Zusammenfassung der wesentlichen Aspekte erfolgt am Ende des Beitrags.

Einleitung

In der Industrie werden ganz verschiedene Anforderungen an einen Software Integrations-Prozess gestellt. Dazu gehören, besonders bei sicherheitsgerichteter Entwicklung, die Wiederholbarkeit der Verifikationsschritte und ein frühes sichtbares Ergebnis, d.h. ein zumindest in Teilen funktionierendes Software System. Dies kann durch die im Folgenden beschriebenen Continuous Integration der Software erreicht werden.

Definitionen

Softwareintegrationstests dienen

  • zur Verifizierung, dass die Anforderungen an die sicherheitsbezogene Software erreicht wurden und
  • zum Nachweis, dass alle Softwaremodule, -elemente und Teilsysteme ordnungsgemäß zusammenarbeiten und ihre bestimmungsgemäßen Funktionen und keine anderen ausführen

(siehe auch IEC 61508, Teil 3).

Man unterscheidet zwischen reiner Softwareintegration und der Integration von Software auf der Zielhardware.

Im Folgenden wird nur die reine Softwareintegration betrachtet.

Es gibt verschiedene Strategien zur Integration von Software Komponenten zu einem Softwaresystem:

  • „Big Bang“, d.h. alle Software-Komponenten werden in einem Schritt integriert.
  • „Schrittweise Integration“, d.h. sinnvoll zusammengehörende Software Komponenten werden integriert und in einem weiteren Schritt die so entstandenen Software-Komponenten.
  • „Continuous Integration (CI)“, d.h. jede durch den Entwickler freigegebene Software Änderung wird möglichst sofort mit schon bestehendem Code integriert und getestet.

Voraussetzungen für eine CI sind:

  • Versions- bzw. Konfigurationsmanagement
  • Automatisiertes Software Build
  • Automatisiertes Testen

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44094083 / Safety & Security)