certitudo – Spezialist für alle Tätigkeiten im Bereich Testen

Testen

Testen bedeutet das Überprüfen einer Einheit auf seine Funktionsfähigkeit, wobei eine Einheit sowohl ein Software-Modul, eine Komponente als auch das Gesamt-System sein kann. Ziel des Testens ist das Aufspüren und Beseitigen von Fehlern. Mit gut geplantem Testen werden Fehler bereits frühzeitig aufgedeckt und behoben, so dass die Qualität der entwickelten Einheit steigt.

 

Testmanagement

Mit dem Start eines Projektes beginnt auch das Testmanagement. Unsere ISTQB®-zertifizierten Testmanager besitzen das Know-How zum Aufsetzen eines effizienten Testprozesses. Damit haben Sie jederzeit einen vollständigen Überblick über den Teststatus, d.h. Sie wissen, wann welche Tests geplant sind, wann und mit welchen Release sie durchgeführt wurden und welche Testergebnisse erzielt wurden. Sie erhalten eine Dokumentation über die Testumgebungen und die verwendeten Testtools für die einzelnen Teststufen (Unit-, Modul‑, Integrations-, Systemtest). Außerdem erhalten Sie eine Übersicht über die Ressourcen- und Projektplanung.

Durch ein frühzeitig aufgesetztes Testmanagement definieren Sie schon am Anfang des Projektes für die einzelnen Teststufen den Aufbau der Testfälle, die Art der Ergebnis-Protokollierung, die Testschwerpunkte sowie die Testziele. Die Testziele sind dabei in Abhängigkeit der Qualitätsziele sowie des zu erreichenden Sicherheitslevels zu ermitteln. Ebenfalls sollte man schon am Beginn des Projektes pro Teststufe festlegen, in welcher Form die Testergebnisse dokumentiert werden und wie die Bewertung der Ergebnisse zu erfolgen hat.

 

Statischer Test

Um die Qualität und die Wartbarkeit Ihrer Software zu erhöhen, werden statische Tests durchgeführt, d.h. es wird die Einhaltung von Programmierrichtlinien geprüft und es werden programmiersprachenabhängige Metriken angewendet. Dabei wird der Software-Quellcode (idealerweise toolunterstützt) analysiert (Näheres zum Verfahren siehe Sourcecode-Analyse).

 

Dynamischer Test

Im dynamischen Test werden die zu untersuchenden Einheiten funktional getestet. Je nach Teststufe (Unit-, Modul‑, Integrations-, Systemtest) können Sie dabei unterschiedliche Testschwerpunkte und Testziele entsprechend des aufgesetzten Testprozesses festlegen:

  • Beim Unittest wollen Sie speziell die Robustheit Ihrer Software prüfen, d.h. Prüfung auf Speicherüberlauf, Null-Pointer, Wertebereichs-Einhaltung etc.
  • Beim Modultest wollen Sie die in sich abgeschlossene Teilfunktionalität eines Moduls vollständig testen, z.B. wird die Quadratwurzel korrekt berechnet, wird der korrekte Artikel aus der Datenbank ermittelt, wird die Bremskurve des Zuges korrekt kalkuliert.
  • Beim Integrationstest wollen Sie das Zusammenspiel der Hardware mit der Software bzw. das Zusammenspiel mehrerer Module testen, um zu erkennen, ob die Anforderungen an die Hardware und Software bzw. an die verschiedenen Module auch zusammen erfüllt sind.
  • Beim Systemtest wollen sie vor der Übergabe des Systems an den Kunden prüfen, dass alle Anforderungen Ihres Kunden in Ihrem System enthalten sind.

Unsere ISTQB®-zertifizierten Tester und Testmanager führen dabei mit Ihnen zusammen die Aufgaben Testfallerstellung, Testdurchführung und Testauswertung für die entsprechenden Teststufen durch.

 

Testautomatisierung oder Automatisierung der Tests?

Testautomatisierung ist die Grundlage für ein erfolgreich durchgeführtes Projekt. Mit Testautomatisierung können Sie Tests jederzeit wieder durchführen. Das spart Projektzeit und Mitarbeiter-Ressourcen, da die Durchführung in der vorhandenen Testumgebung automatisch läuft. Die Tests laufen dabei immer gleich ab und sind daher besonders für Regressionstests geeignet, wobei auch Zwischenversionen der zu testenden Einheit in kürzester Zeit einer Zwischenüberprüfung unterzogen werden können.

Automatisierungslösungen wie Jenkins, Rational Quality Manager, HP Unified Functional Testing (UFT) et. al. unterstützen bei der Verwaltung und Ausführung von automatisierten Tests. Robotframework, die xUnit-Familie und ähnliche Testframeworks bieten den Rahmen für die Erstellung von automatisierten Tests.

Da abhängig von der jeweiligen Anwendungsform (z.B. Webapplikation oder Embedded System), unterschiedliche Anforderungen an die Testautomatisierung gestellt werden, ist die Auswahl der zu verwendenden Werkzeuge essentiell für eine erfolgreiche Projektdurchführung.

Unsere ISTQB®-zertifizierten Tester und Testmanager verfügen über langjährige Erfahrung in unterschiedlichsten Projekten, um Sie bei der Auswahl der Werkzeuge, dem Aufbau der Testumgebung und dem zugehörigen Testmanagement in Ihren Projekten zu unterstützen.

Hier können Sie ein PDF zu diesem Thema downloaden.

 

Testen im agilen Umfeld

In agilen Projekten muss auch der Testprozess agil aufgesetzt werden. Insbesondere im sicherheitskritischen Umfeld (Transportation, Medical Devices, Automotive usw.) gibt es den Konflikt zwischen agiler Vorgehensweise und einer geordneten Nachweisführung der Entwicklungsprozesse sowie der Präsentation der Ergebnisse für eine Begutachtung und Zulassung des Produktes.

Unsere ausgebildeten iSQI®-Certified Agil Tester haben in verschiedenen Projekten Erfahrungen in diesem Umfeld gesammelt. Sie haben erfolgreich agile Projekte begleitet und ggf. in Absprache mit den Gutachtern die erforderliche Dokumentation erstellt, so dass die Produkte erfolgreich zugelassen wurden.

 

Referenzprojekt

Die Passenger Rail Agency of South Africa SOE (PRASA) – ein staatliches Verkehrsunternehmen in Südafrika – lässt große Teile ihres Eisenbahnnetzes erneuern. Dazu gehören die Regionen um Johannesburg, Durban und Kapstadt. In dem Teil-Projekt „Western Cape region“ (Region Kapstadt), welches aus 10 Stellwerken (90 Stationen), 250 km Strecke und einer Bedienzentrale besteht, hat die certitudo GmbH den Hersteller der Stellwerkstechnik dabei unterstützt die agilen Methoden des SCRUM-Prozesses in dem Bereich Testen einzuführen und dabei weiterhin die normativen Anforderungen aus den geltenden Standards (EN 50128, EN 50126 und EN 50129) zu erfüllen. Schwerpunkte hierbei waren die Erstellung eines Testprozesses, die Testautomatisierung sowie die Validierung aller Testaktivitäten.

Hier können Sie ein weiteres Beispiel als PDF downloaden.