Testkonzept - Teststrategie

Eine effektive Teststrategie ist entscheidend für den Erfolg eines Softwareprojekts, da sie den Rahmen und die Richtlinien für alle Testaktivitäten bereitstellt.

Die Teststrategie ist ein Dokument, das die Rahmenbedingungen und den geplanten Ansatz für alle Testaktivitäten in einem Softwareprojekt festlegt. Sie bietet eine klare Richtlinie für das Testteam und stellt sicher, dass die Testbemühungen eng mit den Geschäfts- und Qualitätszielen der Organisation abgestimmt sind.

Die Teststrategie definiert die gesamte Ausrichtung und den Ansatz der Testaktivitäten innerhalb eines Projekts. Sie legt fest, wie das Testen durchgeführt wird, um die Qualitätsziele der Software zu erreichen.


Zielsetzung der Teststrategie

Durch die Erstellung einer detaillierten Teststrategie wird sichergestellt, dass das Testteam eine klare Anleitung hat, wie die Qualitätsziele effektiv und effizient erreicht werden können, und gleichzeitig wird die Grundlage für eine erfolgreiche Softwareentwicklung und -lieferung gelegt.

  • Zweck und Reichweite
    Definition des Zwecks und der Reichweite der Testaktivitäten innerhalb des Projekts.

  • Abstimmung mit Geschäftszielen
    Sicherstellung, dass die Testziele die Geschäftsziele unterstützen und mit ihnen in Einklang stehen.

Festlegung der Testmethoden

  • Testlevel und -arten
    Beschreibung der verschiedenen Teststufen (z.B. Unit-Tests, Integrationstests, Systemtests, Akzeptanztests) und der spezifischen Testarten (z.B. Funktional, Nicht-Funktional).

  • Testwerkzeuge und -technologien
    Auswahl der Werkzeuge und Technologien, die für die Durchführung der Tests verwendet werden.

Testmanagement

  • Planung und Kontrolle
    Definition der Testplanungs- und Kontrollmaßnahmen, um sicherzustellen, dass die Testaktivitäten termingerecht und innerhalb des Budgets durchgeführt werden.

  • Ressourcenmanagement
    Zuweisung und Management von Testressourcen, einschließlich Personal, Werkzeugen und Infrastruktur.

Risikomanagement

  • Risikobewertung
    Identifizierung und Bewertung von Risiken, die mit den Testaktivitäten verbunden sind, und Entwicklung von Strategien zu deren Minimierung.

  • Priorisierung
    Festlegung, wie Tests priorisiert werden, basierend auf der Risikobewertung und den Geschäftsanforderungen.

Qualitätsstandards und Compliance

  • Qualitätssicherungsmaßnahmen
    Beschreibung der Maßnahmen zur Qualitätssicherung, um die Einhaltung von Qualitätsstandards sicherzustellen.

  • Konformitätsprüfung
    Sicherstellung, dass die Software alle relevanten gesetzlichen und technischen Standards erfüllt.

Kommunikation und Berichterstattung

  • Kommunikationsplan
    Festlegung der Kommunikationswege und -frequenz, um sicherzustellen, dass alle Stakeholder regelmäßig über den Fortschritt der Testaktivitäten informiert werden.

  • Reporting
    Definition der Berichtsstrukturen und -intervalle, um den Projektfortschritt und die Testergebnisse zu dokumentieren.

Bewertung und Anpassung

  • Feedbackschleifen
    Implementierung von Mechanismen für regelmäßiges Feedback, um die Teststrategie kontinuierlich zu verbessern.

  • Anpassungsfähigkeit
    Flexibilität der Teststrategie, um sie an veränderte Projektbedingungen oder unerwartete Herausforderungen anzupassen.

Hauptelemente einer Teststrategie

Ziele der Teststrategie

  • Qualitätsziele
    Klare Definition, was durch die Tests erreicht werden soll, einschließlich der spezifischen Qualitätsziele der Software.

  • Businessziele
    Abgleich der Testziele mit den übergeordneten Geschäftszielen des Projekts oder der Organisation.

Testansatz

  • Testebenen
    Beschreibung der verschiedenen Testebenen (z.B. Unit-Tests, Integrationstests, Systemtests, Akzeptanztests) und deren Bedeutung im Testprozess.

  • Testmethoden
    Auswahl der Methoden (manuell oder automatisiert) und Techniken (z.B. Black-Box, White-Box, explorativ) für die Durchführung der Tests.

Testumfang

  • Inklusion und Exklusion
    Festlegung, welche Bereiche und Funktionen des Systems getestet werden und welche aus dem Testumfang ausgeschlossen sind.

  • Priorisierung
    Bestimmung der Prioritäten für die Testfälle basierend auf Risikobewertung und geschäftlicher Bedeutung.

Ressourcen und Planung

  • Ressourcenzuordnung
    Zuweisung von personellen und technischen Ressourcen für die Testdurchführung.

  • Zeitplanung
    Definition der Zeitrahmen für die einzelnen Testaktivitäten und Meilensteine.

Risikomanagement

  • Risikoanalyse
    Identifikation potenzieller Risiken in Bezug auf die Softwarequalität und das Projekt.

  • Risikominderungsstrategien
    Entwicklung von Strategien zur Minimierung oder Handhabung dieser Risiken.

Tool-Einsatz

  • Auswahl von Testwerkzeugen
    Entscheidung über die zu verwendenden Tools für Testmanagement, Fehlerverfolgung und Testautomatisierung.

  • Integration der Tools
    Sicherstellung, dass die Tools effektiv in den Test- und Entwicklungsprozess integriert sind.

Dokumentation und Kommunikation

  • Dokumentationsstandards
    Festlegung der Anforderungen für die Dokumentation der Testergebnisse und -prozesse.

  • Kommunikationspläne
    Definition, wie Informationen über den Fortschritt und die Ergebnisse der Tests kommuniziert werden.

Review und Anpassung

  • Regelmäßige Überprüfungen
    Planung von regelmäßigen Überprüfungen der Teststrategie, um deren Angemessenheit und Aktualität sicherzustellen.

  • Anpassungen
    Anpassung der Strategie basierend auf den Ergebnissen der Überprüfungen oder Änderungen im Projektumfeld.

Implementierung der Teststrategie

Die Implementierung der Teststrategie sollte folgende Schritte umfassen:

  1. Testplanung
    Festlegung der Testziele, Auswahl der Testmethoden und Zuordnung der Ressourcen.

  2. Testentwicklung
    Erstellung der Testfälle und Testdaten basierend auf den identifizierten Qualitätsmerkmalen.

  3. Testdurchführung
    Ausführung der Tests und Sammlung der Ergebnisse.

  4. Testauswertung
    Analyse der Testergebnisse und Entscheidung über die Notwendigkeit weiterer Tests oder Anpassungen der Software.

Kontinuierliche Überprüfungen und Anpassungen der Teststrategie sind erforderlich, um auf Änderungen in den Projektanforderungen oder technologischen Rahmenbedingungen zu reagieren.

Qualitätsmerkmale der ISO 9126 für Softwarequalität

Die Teststrategie bildet den Kern des Testkonzepts und definiert, wie das Testen durchgeführt wird, um die Softwarequalität sicherzustellen. Sie legt fest, welche Testmethoden, -werkzeuge und -umgebungen verwendet werden und wie die Testziele erreicht werden sollen. Die Strategie muss dabei sowohl funktionale als auch nicht-funktionale Aspekte der Software abdecken.

Funktionale Tests

Funktionale Tests konzentrieren sich auf die Überprüfung der Funktionalität der Software gemäß den spezifizierten Anforderungen. Dazu gehören:

  • Korrektheit
    Sicherstellung, dass die Software die erwarteten Ergebnisse liefert.

  • Angemessenheit
    Überprüfung, ob die Funktionalitäten für die beabsichtigten Aufgaben und Benutzeranforderungen geeignet sind.

  • Interoperabilität
    Tests, ob die Software korrekt mit anderen Systemen oder Softwarekomponenten zusammenarbeitet.

  • Ordnungsmäßigkeit
    Überprüfung der Einhaltung von Geschäftsregeln und Standards.

  • Sicherheit
    Gewährleistung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten.

Nicht-funktionale Tests

Nicht-funktionale Tests beziehen sich auf Aspekte der Software, die nicht direkt mit den spezifischen Funktionen verbunden sind, aber für die Gesamtqualität entscheidend sind:

  • Effizienz
    Messung der Leistungsfähigkeit der Software unter verschiedenen Bedingungen, einschließlich Zeitverhalten und Ressourcenverbrauch.

  • Zuverlässigkeit
    Überprüfung der Fehlertoleranz, Stabilität und Wiederherstellbarkeit der Software unter fehlerhaften Bedingungen.

  • Übertragbarkeit
    Tests zur Bestimmung der Leichtigkeit, mit der die Software in eine andere Umgebung übertragen werden kann.

  • Änderbarkeit
    Bewertung der Einfachheit, mit der die Software modifiziert oder analysiert werden kann.

  • Benutzbarkeit
    Überprüfung der Benutzerfreundlichkeit, inklusive der Verständlichkeit, Erlernbarkeit und Bedienbarkeit der Software.

Nicht zu testende Qualitätsmerkmale

Die Entscheidung, bestimmte Qualitätsmerkmale nicht zu testen, kann aus verschiedenen Gründen notwendig sein, wie etwa begrenzte Ressourcen, technische Einschränkungen oder weil bestimmte Merkmale für das Endprodukt von untergeordneter Bedeutung sind.

Beispiele für nicht zu testende Qualitätsmerkmale:

  1. Attraktivität (unter Benutzbarkeit)
    • Begründung
      Obwohl das visuelle Design wichtig ist, könnte es in einer frühen Entwicklungsphase oder bei internen Tools, die nicht kundenorientiert sind, von geringerer Priorität sein.

    • Abgrenzung
      Wenn die Anwendung hauptsächlich für interne Zwecke genutzt wird und keine direkte Kundeninteraktion stattfindet, kann die Attraktivität zurückgestellt werden, um Ressourcen auf kritischere Aspekte wie Funktionalität und Sicherheit zu konzentrieren.

  2. Koexistenz (unter Übertragbarkeit)
    • Begründung
      Wenn die Software in einer isolierten Umgebung betrieben wird oder keine Interaktion mit anderen Anwendungen erforderlich ist, kann der Test der Koexistenz übersprungen werden.

    • Abgrenzung
      Für Anwendungen, die als Standalone-Systeme konzipiert sind, ist es nicht notwendig, die Koexistenz zu testen, da keine Wechselwirkungen mit anderen Systemen bestehen.

  3. Verbrauchsverhalten (unter Effizienz)
    • Begründung
      Bei Anwendungen, die auf High-End-Servern mit ausreichenden Ressourcen betrieben werden, könnte das Verbrauchsverhalten eine untergeordnete Rolle spielen.

    • Abgrenzung
      Wenn bekannt ist, dass die Hardware-Ressourcen stets weit über den Anforderungen der Software liegen, kann die Fokussierung auf das Verbrauchsverhalten vermieden werden, um Testressourcen effizienter zu nutzen.

  4. Erlernbarkeit (unter Benutzbarkeit)
    • Begründung
      Für Software, die von einem spezialisierten Benutzerkreis verwendet wird, der bereits mit ähnlichen Systemen vertraut ist, kann die Erlernbarkeit weniger kritisch sein.

    • Abgrenzung
      In Fällen, wo Anwender voraussichtlich bereits eine hohe Fachkompetenz besitzen, können Tests zur Erlernbarkeit zugunsten von tiefergehenden Funktionalitätstests minimiert werden.

  5. Stabilität (unter Änderbarkeit / Wartbarkeit)
    • Begründung
      Wenn eine Software als kurzfristige Lösung oder für einmalige Ereignisse entwickelt wird, könnte die langfristige Stabilität gegenüber Änderungen vernachlässigt werden.

    • Abgrenzung
      Für temporäre oder einmalige Anwendungen kann der Test der Stabilität gegenüber zukünftigen Änderungen als weniger wichtig erachtet und daher nicht durchgeführt werden.

Akzeptanzkriterien auf Grundlage der Qualitätsmerkmale

Um ein effektives Testverfahren zu entwickeln und klare Akzeptanzkriterien auf Grundlage der genannten Qualitätsmerkmale festzulegen, sollte jedes Merkmal gründlich betrachtet und entsprechende Testarten und -methoden ausgewählt werden.

Funktionalität

  • Angemessenheit
    Überprüfung, ob die Funktionen der Software den Anforderungen der Nutzer entsprechen. Akzeptanzkriterien könnten beispielsweise Benutzerfeedback oder erfolgreiche Durchführung von Benutzertests sein.

  • Richtigkeit
    Tests zur Überprüfung der korrekten Ausführung und Ergebnisgenauigkeit. Dies könnte durch Validierung von Berechnungen, Datenmanipulationen und Geschäftslogik erfolgen.

  • Interoperabilität
    Testen der Fähigkeit der Software, mit anderen Systemen oder Modulen effektiv zu interagieren. Akzeptanzkriterien sind beispielsweise erfolgreiche Integrationstests.

  • Sicherheit
    Durchführung von Sicherheitstests, einschließlich Penetrationstests und Schwachstellenanalysen, um die Unversehrtheit und Vertraulichkeit der Daten zu gewährleisten.

  • Konformität
    Sicherstellen, dass die Software alle relevanten Standards und Vorschriften einhält, durch Compliance-Tests.

Zuverlässigkeit

  • Reife
    Überprüfung der Fehlerfreiheit durch Langzeittests und Verwendung unter normalen Betriebsbedingungen.

  • Fehlertoleranz
    Testen der Fähigkeit der Software, bei Fehlern weiterhin zu funktionieren, durch simulierte Fehlerbedingungen.

  • Wiederherstellbarkeit
    Bewertung der Effizienz und Effektivität der Recovery-Prozesse nach einem Ausfall.

  • Konformität
    Überprüfen, ob die Zuverlässigkeitsstandards und -vorschriften eingehalten werden.

Effizienz

  • Zeitverhalten
    Messen der Antwortzeiten und Verarbeitungsgeschwindigkeit unter verschiedenen Belastungen.

  • Verbrauchsverhalten
    Bewertung der Ressourcennutzung und Effizienz der Software.

  • Konformität
    Überprüfen der Einhaltung von Leistungsstandards.

Benutzbarkeit

  • Verständlichkeit
    Testen, wie leicht die Funktionen der Software zu verstehen sind.

  • Erlernbarkeit
    Messen, wie schnell ein neuer Benutzer die Anwendung erlernen kann.

  • Bedienbarkeit
    Bewertung der Einfachheit und Intuitivität der Benutzeroberfläche.

  • Attraktivität
    Einschätzung der ästhetischen Aspekte der Benutzeroberfläche.

  • Konformität
    Sicherstellen, dass die Benutzbarkeitsstandards erfüllt werden.

Änderbarkeit / Wartbarkeit

  • Analysierbarkeit
    Testen der Einfachheit, mit der sich die Ursachen von Fehlern identifizieren lassen.

  • Modifizierbarkeit
    Bewertung der Einfachheit, mit der die Software modifiziert werden kann, um Fehler zu beheben oder Funktionalität zu verbessern.

  • Stabilität
    Überprüfen der Auswirkungen von Änderungen auf die bestehende Funktionalität.

  • Prüfbarkeit
    Messen, wie einfach es ist, Tests für die Software durchzuführen.

  • Konformität
    Überprüfen der Einhaltung von Wartungsstandards.

Übertragbarkeit

  • Anpassbarkeit
    Bewertung der Einfachheit, mit der die Software an unterschiedliche Umgebungen angepasst werden kann.

  • Installierbarkeit
    Testen der Installationsprozesse unter verschiedenen Systemkonfigurationen.

  • Koexistenz
    Überprüfen der Fähigkeit der Software, neben anderen Anwendungen zu funktionieren.

  • Austauschbarkeit
    Bewertung der Einfachheit, mit der die Software durch alternative Lösungen ersetzt werden kann.

  • Konformität
    Sicherstellen, dass die Software alle relevanten Übertragbarkeitsstandards erfüllt.

Risiken

Die Implementierung eines risikobasierten Testansatzes ist von Bedeutung, um die Effektivität des Testprozesses in Projekten zu maximieren, insbesondere unter Bedingungen begrenzter Ressourcen.

Risikoarten und Bewertung

  1. Unzureichende Testabdeckung
    • Wahrscheinlichkeit: Hoch
    • Auswirkung: Hoch
    • Beschreibung: Wenn nicht alle Funktionsbereiche der Software ausreichend getestet werden, besteht das Risiko, dass kritische Fehler bei der Auslieferung der Software unentdeckt bleiben.
    • Maßnahmen: Priorisierung der Testfälle basierend auf der Kritikalität der Funktionalitäten. Verwendung von Code Coverage Tools zur Identifikation ungetesteter Bereiche.

  2. Mangel an qualifizierten Testressourcen
    • Wahrscheinlichkeit: Mittel
    • Auswirkung: Hoch
    • Beschreibung: Das Fehlen von erfahrenen Testern oder das Fehlen spezifischer Kenntnisse (z.B. in Sicherheitstests) kann die Qualität der Tests beeinträchtigen.
    • Maßnahmen: Schulungen für Tester, Einsatz externer Experten oder Entwicklung eines Kompetenzzentrums innerhalb des Unternehmens.

  3. Technische Schwierigkeiten
    • Wahrscheinlichkeit: Mittel
    • Auswirkung: Mittel
    • Beschreibung: Probleme mit Testwerkzeugen, Testumgebungen oder Integration von Systemkomponenten können Verzögerungen und Qualitätsprobleme verursachen.
    • Maßnahmen: Regelmäßige Wartung und Überprüfung der Testinfrastruktur, frühzeitige Integrationstests.

  4. Änderungen in den Anforderungen
    • Wahrscheinlichkeit: Hoch
    • Auswirkung: Mittel bis Hoch
    • Beschreibung: Häufige Änderungen in den Anforderungen können zu unvollständigen oder veralteten Tests führen.
    • Maßnahmen: Agile Testmethoden implementieren, regelmäßige Abstimmung mit den Stakeholdern, Change Management Prozesse optimieren.

  5. Fehler in der Testdatenverwaltung
    • Wahrscheinlichkeit: Mittel
    • Auswirkung: Hoch
    • Beschreibung: Unzureichende oder fehlerhafte Testdaten können zu irreführenden Testergebnissen und einer schlechten Bewertung der Softwarequalität führen.
    • Maßnahmen: Einsatz von Tools zur Testdatengenerierung und -management, regelmäßige Überprüfungen und Aktualisierungen der Testdaten.

Regelmäßige Risikobewertung

Um sicherzustellen, dass die Risiken effektiv gesteuert werden, ist eine regelmäßige Überprüfung und Anpassung der Risikobewertungen erforderlich. Dies sollte in festgelegten Intervallen oder bei signifikanten Änderungen im Projektumfang oder in den Projektzielen erfolgen. Die regelmäßige Bewertung hilft, auf neue Bedrohungen schnell zu reagieren und die Teststrategie entsprechend anzupassen.

Testeingangs und Testausgangskriterien

Für ein effizientes Testmanagement ist die klare Definition von Testeingangs- und Testausgangskriterien entscheidend. Diese Kriterien dienen als „Quality Gates“ und stellen sicher, dass der Testprozess systematisch und nachvollziehbar abläuft. Hier eine detaillierte Beschreibung dieser Kriterien sowie der Kriterien für Testabbruch und Wiederaufnahme.

Testeingangskriterien

Testeingangskriterien sind die Bedingungen, die vor Beginn einer Teststufe erfüllt sein müssen. Diese Kriterien garantieren, dass die Software oder das System bereit für die jeweilige Testphase ist.

Beispiele für Testeingangskriterien:

  • Vollständige Spezifikation
    Alle erforderlichen Spezifikationen und Design-Dokumentationen müssen vollständig und von den Stakeholdern abgenommen sein.

  • Bereitstellung der Testumgebung
    Die Testumgebung muss vollständig eingerichtet und funktionsfähig sein.

  • Verfügbarkeit von Testdaten
    Alle notwendigen Testdaten müssen vorbereitet und validiert sein.

  • Abschluss vorheriger Tests
    Vorherige Testphasen, wie z.B. Unit-Tests, müssen erfolgreich abgeschlossen und die Ergebnisse dokumentiert sein.

  • Review und Freigabe
    Frühere Code-Reviews oder Analysen müssen durchgeführt und freigegeben worden sein

Testausgangskriterien

Testausgangskriterien definieren, wann eine Testphase abgeschlossen ist und das Testobjekt für die nächste Phase freigegeben oder abgenommen werden kann.

Beispiele für Testausgangskriterien:

  • Erfüllung der Testabdeckung
    Bestimmte Code- oder Funktionsabdeckungsmetriken müssen erreicht sein.

  • Erfolgsquote der Testfälle
    Eine festgelegte Prozentzahl der Testfälle muss erfolgreich sein.

  • Fehlerbehebung
    Alle kritischen und schwerwiegenden Fehler müssen behoben und erneut getestet worden sein.

  • Dokumentation
    Alle Testergebnisse müssen dokumentiert und von den zuständigen Teams überprüft worden sein.

  • Stakeholder-Abnahme
    Die Ergebnisse müssen von den Stakeholdern überprüft und abgenommen werden.

Kriterien für Testabbruch und -wiederaufnahme

Die Kriterien für den Abbruch und die Wiederaufnahme von Tests sind entscheidend, um auf Probleme während des Testprozesses effektiv reagieren zu können.

Beispiele für Abbruchkriterien:

  • Hohe Fehlerdichte
    Eine unerwartet hohe Anzahl an kritischen Fehlern kann ein Hinweis darauf sein, dass das System oder die Software nicht bereit für weitere Tests ist.

  • Instabile Testumgebung
    Eine instabile oder nicht performante Testumgebung kann den Testprozess unmöglich machen.

  • Ressourcenmangel
    Fehlende personelle oder technische Ressourcen können einen temporären Stopp der Tests erforderlich machen.

Beispiele für Wiederaufnahmekriterien:

  • Fehlerbehebung
    Die identifizierten kritischen Fehler müssen behoben und verifiziert sein.

  • Stabilisierung der Testumgebung
    Die Testumgebung muss stabilisiert und erneut validiert werden.

  • Ressourcenzuweisung
    Zusätzliche Ressourcen müssen bereitgestellt und integriert sein.

Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH – Eine Beratung, so wie sie sein soll – Hettwer UnternehmensBeratung GmbH

Hettwer UnternehmensBeratung

Hettwer UnternehmensBeratung GmbH - Spezialisierte Beratung - Umsetzungsdienstleistungen im Finanzdienstleistungssektor – Experte im Projekt- und Interimsauftragsgeschäft - www.hettwer-beratung.de

H-UB ERFOLGSGESCHICHTE

Auszeichnung:

Gold-Partner-Zertifikat

Hettwer UnternehmensBeratung GmbH wurde aufgrund der erbrachten Beraterleistungen in den exklusiven Kreis der etengo Gold-Partner aufgenommen.

H-UB EXPERTENWISSEN

Hettwer UnternehmensBeratung GmbH – Expertenprofil Klaus Georg Hettwer (Geschäftsführer): Beratungskompetenz, Fachliche Kompetenz, Methodische Kompetenz, Soziale Kompetenz, Kommunikationskompetenz; Sonderthemen: SEPA, EMIR, TARGET2, MiFID, T2S

- Eine Beratung mit PROFIL -

H-UB Leistungskatalog

H-UB Leistungskatalog.pdf
Adobe Acrobat Dokument 89.4 KB

H-UB SOCIAL MEDIA PRÄSENZ

© 2010-2024 Hettwer UnternehmensBeratung GmbH