A
Abnahmetest
Ein Abnahmetest ist die Teststufe, in der die Software von den Endbenutzern oder Kunden
überprüft wird, um sicherzustellen, dass sie ihren Anforderungen entspricht.
UseCase Beispiel
Es soll eine Service Cloud im Kundenservice eingeführt werden. Laut externen und internen Entwicklern wurden alle Funktionalitäten programmiert, angepasst und transportiert. Es werden keine weiteren Anpassungen nötig (Code Freeze). Zu Beginn des Projektes wurde eine Anforderungsliste generiert, welche nun im Test spezifisch geprüft und nach einzelner Anforderung, sowie am Gesamtprozess bewertet wird. Die Mitarbeiter im Kundenservice erhalten Testfälle, die diese Anforderungen enthalten. Sind die Testfälle erfolgreich, dann sind auch alle Anforderungen erfüllt und die Abnahme gilt als erfolgreich. Die Software kann produktiv gesetzt werden.
B
Belastungstest
Ein Lasttest ist eine Teststufe, bei der die Software unter erhöhter Last getestet wird, um die Leistungsfähigkeit und Stabilität unter realistischen Bedingungen zu überprüfen.
UseCase Beispiel
Der Launch ihrer Website "mein perfekter Schuh" steht kurz bevor. In sämtlichen Modezeitschriften und sozial Media-Plattformen sollen Werbeanzeigen geschaltet werden, die beim großen Launch 45% Nachlass anbieten. Sie erwarten für den ersten Tag über 100.000 Bestellungen. Um zu prüfen, ob die Server das aushalten, wird eine externe Firma beauftragt über Crowd-Testing mit 1000 Mitgliedern an einem Tag durchführt. Crowdtesting bietet somit eine kosteneffiziente Möglichkeit, umfassendes und vielfältiges Feedback zu sammeln und die Qualität eines Produkts zu steigern.
Black-Box-Test
Bei dieser Testmethode wird die interne Implementierung eines Produkts nicht berücksichtigt. Stattdessen werden Eingaben in das Produkt gegeben, und die erwarteten Ausgaben werden überprüft, um sicherzustellen, dass die Funktionalität gemäß den Spezifikationen funktioniert.
C
Crowd-Testing
Crowdtesting ist eine Testmethode, bei der eine große Gruppe von externen, unabhängigen Testern (die "Crowd“; deutsch: Menge) verwendet wird, um Software, Anwendungen oder digitale Produkte auf ihre Funktionalität, Qualität und Benutzerfreundlichkeit hin zu überprüfen. Diese Tester sind oft Freiberufler oder Menschen, die sich freiwillig für das Testen von Produkten anmelden. Unternehmen nutzen Crowdtesting, um eine breite Palette von Geräten, Betriebssystemen, Netzwerken und Standorten abzudecken, um sicherzustellen, dass ihre Software oder Anwendungen für eine Vielzahl von Benutzern fehlerfrei funktionieren.
UseCase Beispiel
Ein Beispiel für Crowdtesting könnte sein, wenn ein Unternehmen eine neue Mobile-App entwickelt und sicherstellen möchte, dass sie auf verschiedenen mobilen Geräten, Betriebssystemen und in verschiedenen geografischen Regionen einwandfrei funktioniert. Anstatt eine begrenzte Anzahl von internen Testern oder automatisierten Tests zu verwenden, könnte das Unternehmen eine Crowd von hunderten oder sogar tausenden Freiwilligen einsetzen, die die App auf ihren eigenen Geräten in ihren täglichen Umgebungen testen.
D
Defect
Ein Defect (Mangel oder Fehler) bezieht sich auf eine spezifische Abweichung, Unstimmigkeit oder eine Fehlfunktion in einem Produkt, einer Softwareanwendung, einem System oder einem Prozess. Im Qualitätsmanagement und insbesondere im Kontext von Softwareentwicklung und Software-Testen wird der Begriff "Defect" verwendet, um auf ein konkretes Problem oder einen Mangel hinzuweisen, der innerhalb des Produkts oder der Anwendung identifiziert wurde.
Ein Defect kann verschiedene Formen annehmen, darunter Programmierfehler, fehlende Funktionen, unerwartetes Verhalten, Sicherheitslücken oder andere Qualitätsprobleme. Der Prozess der Identifizierung, Dokumentation, Verfolgung und Behebung von Defekten ist ein wesentlicher Bestandteil des Qualitätsmanagements, um sicherzustellen, dass das Endprodukt den Anforderungen entspricht und von hoher Qualität ist. Defekte werden normalerweise in einer Fehlerverfolgungsdatenbank oder einem Fehlerverwaltungssystem dokumentiert, um ihre Nachverfolgung und Priorisierung zu erleichtern.
Defect Management / Defectmanagement
Fehlermanagement (auch Defect-Management) bezieht sich auf den Prozess der Identifizierung, Dokumentation, Verfolgung, Analyse, Priorisierung und Behebung von Fehlern oder Mängeln in einem Produkt, einer Softwareanwendung oder einem System während des Entwicklungszyklus oder nach der Veröffentlichung. Das Ziel des Fehlermanagements besteht darin, sicherzustellen, dass Fehler erkannt und behoben werden, um die Qualität und Zuverlässigkeit des Produkts zu verbessern und die Kundenzufriedenheit zu gewährleisten
UseCase Beispiel
- Identifikation und Meldung: Das Defect- oder Fehlermanagement beginnt mit der Identifizierung von Defects oder Fehlern, sei es durch Überwachungstools, Benutzerberichte oder Meldungen durch Tester. Die Vorfälle werden dokumentiert und gemeldet.
- Klassifizierung und Priorisierung: Jeder Defect/Fehler wird klassifiziert und priorisiert, um seine Schwere und seinen Einfluss auf den Geschäftsbetrieb zu bewerten. Dies hilft bei der Festlegung der Reaktionszeiten und -prioritäten für Behebungen.
- Zuweisung: Die Defects/Fehler werden an das entsprechende Team oder den entsprechenden Mitarbeiter zur Untersuchung und Behebung zugewiesen. Klare Verantwortlichkeiten werden festgelegt und resultieren aus dem Testkonzept.
- Untersuchung und Diagnose: Das Team oder der Mitarbeiter, dem der Vorfall zugewiesen ist, untersucht den Vorfall, um die Ursache zu ermitteln. Dies kann technische Diagnosen, Systemüberprüfungen und Tests umfassen.
- Lösungsentwicklung und Implementierung: Basierend auf der Diagnose wird eine Lösung entwickelt, um den Vorfall zu beheben. Die Lösung wird implementiert, um den tatsächlich gewünschten Zustand wiederherzustellen.
- Retest, Überwachung und Eskalation: Der Defect/Fehler wird erneut getestet und weiterhin überwacht bis der Test erfolgreich war, um sicherzustellen, dass die implementierte Lösung erfolgreich ist. Bei negativem Ergebnis oder langen Zeiträumen erfolgt eine Eskalation an höhere Ebenen oder spezialisierte Teams.
- Kommunikation: Die Kommunikation spielt eine wichtige Rolle im Fehler/Defect-Management. Stakeholder werden über den Vorfall, den Fortschritt bei der Lösung und ergriffene Maßnahmen informiert
- Dokumentation und Berichterstattung: Alle Aktivitäten im Zusammenhang mit dem Fehler/Defect werden sorgfältig dokumentiert, einschließlich der Ursachenanalyse, der durchgeführten Maßnahmen und der Zeitpunkte der Wiederherstellung. Berichte können erstellt werden, um Trends und Muster zu analysieren.
- Abschluss und Verbesserung: Nach der erfolgreichen Lösung des Fehlers/Defects wird dieser als abgeschlossen markiert. Eine Nachbetrachtung wird durchgeführt, um zu ermitteln, wie ähnliche Vorfälle in Zukunft vermieden werden können.
E
Exploratives Testen
Bei dieser Testmethode geht der Tester ohne vorherige detaillierte Testfälle vor und erkundet die Software, um Fehler und Probleme zu entdecken. Er beruft sich dabei auf seine bisherigen Erfahrungen und Intuitionen, sowie einen abgestimmten Testplan.
F
Fehler
Ein Fehler (Mangel oder Defect) bezieht sich auf eine spezifische Abweichung, Unstimmigkeit oder eine Fehlfunktion in einem Produkt, einer Softwareanwendung, einem System oder einem Prozess. Im Qualitätsmanagement und insbesondere im Kontext von Softwareentwicklung und Software-Testen wird der Begriff ""Defect"" verwendet, um auf ein konkretes Problem oder einen Mangel hinzuweisen, der innerhalb des Produkts oder der Anwendung identifiziert wurde.
Ein Fehler kann verschiedene Formen annehmen, darunter Programmierfehler, fehlende Funktionen, unerwartetes Verhalten, Sicherheitslücken oder andere Qualitätsprobleme. Der Prozess der Identifizierung, Dokumentation, Verfolgung und Behebung von Defekten ist ein wesentlicher Bestandteil des Qualitätsmanagements, um sicherzustellen, dass das Endprodukt den Anforderungen entspricht und von hoher Qualität ist. Defekte werden normalerweise in einer Fehlerverfolgungsdatenbank oder einem Fehlerverwaltungssystem dokumentiert, um ihre Nachverfolgung und Priorisierung zu erleichtern.
Fehlermanagenemt
Fehlermanagement (auch Defect-Management) bezieht sich auf den Prozess der Identifizierung, Dokumentation, Verfolgung, Analyse, Priorisierung und Behebung von Fehlern oder Mängeln in einem Produkt, einer Softwareanwendung oder einem System während des Entwicklungszyklus oder nach der Veröffentlichung. Das Ziel des Fehlermanagements besteht darin, sicherzustellen, dass Fehler erkannt und behoben werden, um die Qualität und Zuverlässigkeit des Produkts zu verbessern und die Kundenzufriedenheit zu gewährleisten.
UseCase Beispiel
- Identifikation und Meldung: Das Defect- oder Fehlermanagement beginnt mit der Identifizierung von Defects oder Fehlern, sei es durch Überwachungstools, Benutzerberichte oder Meldungen durch Tester. Die Vorfälle werden dokumentiert und gemeldet.
- Klassifizierung und Priorisierung: Jeder Defect/Fehler wird klassifiziert und priorisiert, um seine Schwere und seinen Einfluss auf den Geschäftsbetrieb zu bewerten. Dies hilft bei der Festlegung der Reaktionszeiten und -prioritäten für Behebungen.
- Zuweisung: Die Defects/Fehler werden an das entsprechende Team oder den entsprechenden Mitarbeiter zur Untersuchung und Behebung zugewiesen. Klare Verantwortlichkeiten werden festgelegt und resultieren aus dem Testkonzept.
- Untersuchung und Diagnose: Das Team oder der Mitarbeiter, dem der Vorfall zugewiesen ist, untersucht den Vorfall, um die Ursache zu ermitteln. Dies kann technische Diagnosen, Systemüberprüfungen und Tests umfassen.
- Lösungsentwicklung und Implementierung: Basierend auf der Diagnose wird eine Lösung entwickelt, um den Vorfall zu beheben. Die Lösung wird implementiert, um den tatsächlich gewünschten Zustand wiederherzustellen.
- Retest, Überwachung und Eskalation: Der Defect/Fehler wird erneut getestet und weiterhin überwacht bis der Test erfolgreich war, um sicherzustellen, dass die implementierte Lösung erfolgreich ist. Bei negativem Ergebnis oder langen Zeiträumen erfolgt eine Eskalation an höhere Ebenen oder spezialisierte Teams.
- Kommunikation: Die Kommunikation spielt eine wichtige Rolle im Fehler/Defect-Management. Stakeholder werden über den Vorfall, den Fortschritt bei der Lösung und ergriffene Maßnahmen informiert.
- Dokumentation und Berichterstattung: Alle Aktivitäten im Zusammenhang mit dem Fehler/Defect werden sorgfältig dokumentiert, einschließlich der Ursachenanalyse, der durchgeführten Maßnahmen und der Zeitpunkte der Wiederherstellung. Berichte können erstellt werden, um Trends und Muster zu analysieren.
- Abschluss und Verbesserung: Nach der erfolgreichen Lösung des Fehlers/Defects wird dieser als abgeschlossen markiert. Eine Nachbetrachtung wird durchgeführt, um zu ermitteln, wie ähnliche Vorfälle in Zukunft vermieden werden können.
Fehlerzustand
Ein Fehlerzustand tritt auf, wenn eine Softwareanwendung oder ein System nicht wie erwartet funktioniert oder nicht den definierten Anforderungen entspricht. Dies kann aufgrund von Programmierfehlern, unerwarteten Eingaben oder anderen unvorhergesehenen Umständen
geschehen.
UseCase Beispiel
Sie haben eine Anwendungssoftware entwickelt, die sicherstellen soll, dass Benutzer nur positive ganze Zahlen eingeben können. Der Benutzer gibt aber einen Buchstaben oder eine negative Zahl ein, daraufhin bekommt der Benutzer keine Meldung „Eingabe ungültig“ oder ähnliches, sondern das System versucht dennoch eine Anwendung zu starten und führt zu falschen Ergebnissen. In diesem Fall entspricht die Anwendung nicht den Anforderungen und befindet sich in einem Fehlerzustand.
I
Incident
Auch Störung oder Vorfall genannt.
Ein Incident (Vorfall) ist ein unerwartetes Ereignis, eine Störung oder eine Abweichung von normalen Betriebsabläufen, die die Qualität, den Betrieb oder die Leistung eines Systems, einer Anwendung, eines Services oder eines Prozesses beeinträchtigen können. Incidents können in verschiedenen Bereichen und Branchen auftreten, einschließlich Informationstechnologie, Gesundheitswesen, Produktion, Kundenservice und mehr.
Ein Incident kann vielfältige Formen annehmen und kann sowohl technischer als auch nicht-technischer Natur sein.
Incidentmanagement
Incident Management (auch Störungsmanagement oder Vorfallmanagement) ist ein Prozess, der in der Informationstechnologie und anderen Bereichen verwendet wird, um Vorfallmeldungen oder Störungen effizient zu identifizieren, zu dokumentieren, zu überwachen und zu behandeln. Das Hauptziel des Vorfallmanagements besteht darin, die Servicekontinuität wiederherzustellen, indem Probleme schnell und effektiv gelöst werden, um Auswirkungen auf den normalen Betrieb zu minimieren.
UseCase Beispiel
- Identifikation und Meldung: Incidents- oder Störungsmanagement beginnt mit der Identifizierung von Incidents oder Störungen, sei es durch Überwachungstools, Benutzerberichte oder andere Quellen. Die Vorfälle werden dokumentiert und gemeldet.
- Klassifizierung und Priorisierung: Jeder Vorfall wird klassifiziert und priorisiert, um seine Schwere und seinen Einfluss auf den Geschäftsbetrieb zu bewerten. Dies hilft bei der Festlegung der Reaktionszeiten und -prioritäten.
- Zuweisung: Die Vorfälle werden an das entsprechende Team oder den entsprechenden Mitarbeiter zur Untersuchung und Behebung zugewiesen. Klare Verantwortlichkeiten werden festgelegt.
- Untersuchung und Diagnose: Das Team oder der Mitarbeiter, dem der Vorfall zugewiesen ist, untersucht den Vorfall, um die Ursache zu ermitteln. Dies kann technische Diagnosen, Systemüberprüfungen und Tests umfassen.
- Lösungsentwicklung und Implementierung: Basierend auf der Diagnose wird eine Lösung entwickelt, um den Vorfall zu beheben. Die Lösung wird implementiert, um den normalen Betrieb wiederherzustellen.
- Überwachung und Eskalation: Der Vorfall wird weiterhin überwacht, um sicherzustellen, dass die implementierte Lösung erfolgreich ist. Bei Bedarf erfolgt eine Eskalation an höhere Ebenen oder spezialisierte Teams.
- Kommunikation: Die Kommunikation spielt eine wichtige Rolle im Vorfallmanagement. Stakeholder werden über den Vorfall, den Fortschritt bei der Lösung und ergriffene Maßnahmen informiert.
- Dokumentation und Berichterstattung: Alle Aktivitäten im Zusammenhang mit dem Vorfall werden sorgfältig dokumentiert, einschließlich der Ursachenanalyse, der durchgeführten Maßnahmen und der Zeitpunkte der Wiederherstellung. Berichte können erstellt werden, um Trends und Muster zu analysieren.
- Abschluss und Verbesserung: Nach der erfolgreichen Lösung des Vorfalls wird dieser als abgeschlossen markiert. Eine Nachbetrachtung wird durchgeführt, um zu ermitteln, wie ähnliche Vorfälle in Zukunft vermieden werden können.
Integrationstest
Ein Integrationstest ist eine Art von Softwaretest, bei dem mehrere Komponenten oder Module einer Anwendung zusammengeführt werden, um sicherzustellen, dass sie ordnungsgemäß zusammenarbeiten und integriert funktionieren. Dieser Test zielt darauf ab, Probleme zu identifizieren, die bei der Interaktion zwischen verschiedenen Teilen einer Softwareanwendung auftreten könnten, einschließlich der Kommunikation zwischen Schnittstellen, Datenfluss und Funktionsaufrufen zwischen den Komponenten.
UseCase Beispiel
Sie entwickeln eine E-Commerce-Website, und Ihre Anwendung besteht aus verschiedenen Modulen oder Komponenten, darunter das Benutzerkonto-Modul, das Warenkorb-Modul und das Zahlungsmodul. Jedes dieser Module wurde bereits einzeln getestet (Komponententests), um sicherzustellen, dass es ordnungsgemäß funktioniert.
Jetzt möchten Sie sicherstellen, dass alle diese Module gut zusammenarbeiten, insbesondere wenn ein Benutzer einen Einkauf tätigt. Ihr Integrationstest könnte wie folgt aussehen:
- Vorbereitung: Stellen Sie sicher, dass die einzelnen Module in einer Testumgebung bereitstehen, die der Produktionsumgebung ähnelt.
- Durchführung: Simulieren Sie eine Einkaufstransaktion, bei der ein Benutzer ein Produkt in den Warenkorb legt, sich in seinem Konto anmeldet und dann zur Zahlungsseite weitergeleitet wird.
- Überprüfung: Überwachen Sie den gesamten Ablauf der Transaktion, von der Auswahl des Produkts bis zur erfolgreichen Zahlung. Stellen Sie sicher, dass alle Daten korrekt zwischen den Modulen übertragen werden und dass es keine Kommunikationsprobleme oder Daten-verluste gibt.
- Bericht: Dokumentieren Sie alle festgestellten Probleme oder Fehler während des Integrationstests, damit das Entwicklungsteam diese beheben kann.
Ein Beispiel für einen möglichen Problemfall in einem Integrationstest könnte sein, dass der Warenkorb die ausgewählten Produkte nicht korrekt an das Zahlungsmodul weiterleitet, was dazu führt, dass die Bezahlung nicht abgeschlossen werden kann. Dieser Integrationstest hilft dabei, solche Schwachstellen in der Gesamtfunktionalität der Anwendung zu identifizieren und sicherzustellen, dass alle Komponenten harmonisch zusammenarbeiten.
K
Komponententest
Ein Komponententest, auch als Unit-Test bezeichnet, ist eine Art von Softwaretest, bei dem eine einzelne Komponente oder ein kleiner, isolierter Teil eines Softwareprogramms unabhängig von anderen Teilen getestet wird. Das Hauptziel eines Komponententests besteht darin, sicherzustellen, dass die einzelne Komponente oder Einheit korrekt funktioniert und die erwarteten Ergebnisse liefert.
UseCase Beispiel
In diesem Beispiel haben wir eine Python-Funktion, die die Quadratwurzel einer gegebenen Zahl berechnet. Wir werden einen Komponententest für diese Funktion erstellen.
Annahme: Die zu testende Funktion heißt
quadratwurzel_berechnen().
In diesem Beispiel: Die
quadratwurzel_berechnen()-Funktion berechnet die Quadratwurzel einer gegebenen Zahl, wobei negative Zahlen ausgeschlossen sind.
Der TestQuadratwurzel-Testfall erbt von
unittest.TestCase und enthält drei Testmethoden:
test_positive_zahl testet, ob die Quadratwurzel einer positiven Zahl korrekt berechnet wird.
test_null testet, ob die Quadratwurzel von Null korrekt berechnet wird.
test_negative_zahl testet, ob die Funktion eine ValueError-Ausnahme auslöst, wenn eine negative Zahl übergeben wird.
Wenn Sie diesen Code ausführen, führt die unittest.main()-Methode die Tests aus und gibt aus, ob die Funktion quadratwurzel_berechnen() wie erwartet funktioniert. Dies ist ein einfaches Beispiel für einen Komponententest, der sicherstellt, dass eine einzelne Funktion in Ihrem Code ordnungsgemäß funktioniert.
L
Lasttest
Ein Lasttest ist eine Teststufe, bei der die Software unter erhöhter bzw. maximaler Last getestet wird, um die Leistungsfähigkeit und Stabilität unter realistischen Bedingungen zu überprüfen.
UseCase Beispiel
Der Launch ihrer Website "mein perfekter Schuh" steht kurz bevor. In sämtlichen Modezeitschriften und sozial Media-Plattformen sollen Werbeanzeigen geschaltet werden, die beim großen Launch 45% Nachlass anbieten. Sie erwarten für den ersten Tag über 100.000 Bestellungen. Um zu prüfen, ob die Server das aushalten, wird eine externe Firma beauftragt über Crowd-Testing mit 1000 Mitgliedern an einem Tag durchführt.
M
Mangel
Ein Mangel (Defect oder Fehler) bezieht sich auf eine spezifische Abweichung, Unstimmigkeit oder eine Fehlfunktion in einem Produkt, einer Softwareanwendung, einem System oder einem Prozess. Im Qualitätsmanagement und insbesondere im Kontext von Softwareentwicklung und Software-Testen wird der Begriff ""Defect"" verwendet, um auf ein konkretes Problem oder einen Mangel hinzuweisen, der innerhalb des Produkts oder der Anwendung identifiziert wurde.
Ein Mangel kann verschiedene Formen annehmen, darunter Programmierfehler, fehlende Funktionen, unerwartetes Verhalten, Sicherheitslücken oder andere Qualitätsprobleme. Der Prozess der Identifizierung, Dokumentation, Verfolgung und Behebung von Defekten ist ein wesentlicher Bestandteil des Qualitätsmanagements, um sicherzustellen, dass das Endprodukt den Anforderungen entspricht und von hoher Qualität ist. Defekte werden normalerweise in einer Fehlerverfolgungsdatenbank oder einem Fehlerverwaltungssystem dokumentiert, um ihre Nachverfolgung und Priorisierung zu erleichtern.
Q
Qualitätsmanagement
Qualitätsmanagement ist ein systematischer Ansatz zur Planung, Steuerung und Verbesserung der Qualität von Produkten oder Dienstleistungen. Im Bereich des Softwaretestens bezieht sich Qualitätsmanagement auf die Prozesse und Praktiken, die verwendet werden, um sicherzustellen, dass eine Softwareanwendung oder ein System die erforderlichen Qualitätsstandards erfüllt.
UseCase Beispiel
Bei der Entwicklung einer neuen Softwareanwendung legt ihr Softwareentwicklungsteam Qualitätsstandards und -richtlinien fest, die sicherstellen, dass die Anwendung zuverlässig, sicher und benutzerfreundlich ist. Das Qualitätsmanagement beinhaltet die Planung von Tests, die Überwachung der Testergebnisse und die kontinuierliche Verbesserung des Entwicklungsprozesses, um sicherzustellen, dass die Software diese Qualitätsstandards erfüllt. Ein Beispiel für eine Qualitätsmanagementpraxis ist die Durchführung von regelmäßigen Code-Reviews, um Programmierfehler frühzeitig zu erkennen und zu beheben, bevor sie die Qualität der Software beeinträchtigen können.
R
Regressionstest
Ein Regressionstest ist eine Teststufe, bei der bereits getestete Teile der Software erneut getestet werden, um sicherzustellen, dass neue Änderungen oder Erweiterungen keine vorhandenen Funktionen beeinträchtigt haben.
UseCase Beispiel
In einem kleinen Stadtwerk werden zum 01.04. durch Vorgaben von EDI@Energy/BDEW Anpassungen für die Stammdatenänderung bei Neuanlage der Sparte Gas gefordert. Alle anderen Sparten bleiben unberührt und sollen weiter funktionieren wie bisher. Deswegen führt das kleine Stadtwerk aus Kosten und Zeitgründen noch einen Regressionstest Neuanlage Sparte Strom durch.
S
Sicherheitstest
Ein Sicherheitstest ist eine Teststufe, bei der die Software auf Schwachstellen und potentielle Sicherheitslücken überprüft wird, um sicherzustellen, dass sie vor Angriffen geschützt ist.
UseCase Beispiel
Ein Sicherheitstest wird durchgeführt, um zu überprüfen, ob eine Webanwendung vor SQL-Injektionen und anderen Sicherheitsbedrohungen geschützt ist. Dabei versuchen geschulte Hacker alles um ihren Code zu knacken und an möglichst wichtige und viele Informationen und Daten zu kommen. Scheitern sie, ist die Sicherheit gewährleistet, haben sie Erfolg, müssten sie umgehend Maßnahmen einleiten.
Störung
Auch Incident oder Vorfall genannt.
Eine Störung ist ein unerwartetes Ereignis, ein Vorfall oder eine Abweichung von normalen Betriebsabläufen, die die Qualität, den Betrieb oder die Leistung eines Systems, einer Anwendung, eines Services oder eines Prozesses beeinträchtigen können. Incidents können in verschiedenen Bereichen und Branchen auftreten, einschließlich Informationstechnologie, Gesundheitswesen, Produktion, Kundenservice und mehr.
Eine Störung kann vielfältige Formen annehmen und kann sowohl technischer als auch nicht-technischer Natur sein.
Störungsmanagement
Incident Management (auch Störungsmanagement oder Vorfallmanagement) ist ein Prozess, der in der Informationstechnologie und anderen Bereichen verwendet wird, um Vorfallmeldungen oder Störungen effizient zu identifizieren, zu dokumentieren, zu überwachen und zu behandeln. Das Hauptziel des Vorfallmanagements besteht darin, die Servicekontinuität wiederherzustellen, indem Probleme schnell und effektiv gelöst werden, um Auswirkungen auf den normalen Betrieb zu minimieren.
UseCase Beispiel
- Identifikation und Meldung: Vorfall- oder Störungsmanagement beginnt mit der Identifizierung von Vorfällen oder Störungen, sei es durch Überwachungstools, Benutzerberichte oder andere Quellen. Die Vorfälle werden dokumentiert und gemeldet.
- Klassifizierung und Priorisierung: Jeder Vorfall wird klassifiziert und priorisiert, um seine Schwere und seinen Einfluss auf den Geschäftsbetrieb zu bewerten. Dies hilft bei der Festlegung der Reaktionszeiten und -prioritäten.
- Zuweisung: Die Vorfälle werden an das entsprechende Team oder den entsprechenden Mitarbeiter zur Untersuchung und Behebung zugewiesen. Klare Verantwortlichkeiten werden festgelegt.
- Untersuchung und Diagnose: Das Team oder der Mitarbeiter, dem der Vorfall zugewiesen ist, untersucht den Vorfall, um die Ursache zu ermitteln. Dies kann technische Diagnosen, Systemüberprüfungen und Tests umfassen.
- Lösungsentwicklung und Implementierung: Basierend auf der Diagnose wird eine Lösung entwickelt, um den Vorfall zu beheben. Die Lösung wird implementiert, um den normalen Betrieb wiederherzustellen.
- Überwachung und Eskalation: Der Vorfall wird weiterhin überwacht, um sicherzustellen, dass die implementierte Lösung erfolgreich ist. Bei Bedarf erfolgt eine Eskalation an höhere Ebenen oder spezialisierte Teams.
- Kommunikation: Die Kommunikation spielt eine wichtige Rolle im Vorfallmanagement. Stakeholder werden über den Vorfall, den Fortschritt bei der Lösung und ergriffene Maßnahmen informiert.
- Dokumentation und Berichterstattung: Alle Aktivitäten im Zusammenhang mit dem Vorfall werden sorgfältig dokumentiert, einschließlich der Ursachenanalyse, der durchgeführten Maßnahmen und der Zeitpunkte der Wiederherstellung. Berichte können erstellt werden, um Trends und Muster zu analysieren.
- Abschluss und Verbesserung: Nach der erfolgreichen Lösung des Vorfalls wird dieser als abgeschlossen markiert. Eine Nachbetrachtung wird durchgeführt, um zu ermitteln, wie ähnliche Vorfälle in Zukunft vermieden werden können.
Systemtest
Bei dieser Testmthode wird die gesamte Softwareanwendung als Ganzes getestet, um sicherzustellen, dass sie die spezifizierten Anforderungen erfüllt und in ihrer Umgebung ordnungsgemäß funktioniert.
T
TaaS
„Testing as a Service“ (TaaS) ist ein Modell, bei dem Unternehmen externe Dienstleister in Anspruch nehmen, um ihre Softwareanwendungen zu testen. Anstatt ein internes Team für das Testen einzustellen und die erforderliche Infrastruktur bereitzustellen, können Unternehmen auf die Expertise und Ressourcen von externen Anbietern zurückgreifen.
Im TaaS-Modell übernimmt der Dienstleister die Verantwortung für den gesamten Testprozess, einschließlich der Testplanung, der Erstellung von Testfällen, der Durchführung von Tests und der Berichterstattung über die Ergebnisse. Der Kunde definiert die Anforderungen und Kriterien für die Tests, während der Dienstleister die technische Expertise und die Infrastruktur bereitstellt, um die Tests effektiv durchzuführen.
UseCase Beispiel
Die Vorteile von Testing as a Service liegen in der Skalierbarkeit, Flexibilität und Kosteneffizienz. Unternehmen können auf die Erfahrung und Ressourcen von Experten zugreifen, ohne interne Ressourcen binden zu müssen. Sie können die Testaktivitäten je nach Bedarf hoch- oder herunterskalieren und zahlen nur für die tatsächlich genutzten Dienstleistungen. Dies ermöglicht es Unternehmen, sich auf ihre Kernkompetenzen zu konzentrieren, während sie sicherstellen, dass ihre Softwareanwendungen gründlich getestet werden.
Es ist wichtig anzumerken, dass „Testing as a Service“ verschiedene Formen annehmen kann und je nach Anbieter und Kundenanforderungen unterschiedlich umgesetzt wird. Es kann sich um manuelles oder automatisiertes Testen handeln, um funktionale oder nicht-funktionale Tests, um Performance-Tests oder Sicherheitstests. Die genaue Ausgestaltung hängt von den spezifischen Anforderungen des Kunden ab.
Testanalyse
Die Testanalyse ist ein Prozess im Softwaretesten, bei dem Testanforderungen und -ziele definiert, Testdaten erstellt und Testfälle entwickelt werden. Dieser Prozess beinhaltet die umfassende Untersuchung der Softwareanforderungen, um sicherzustellen, dass die Tests relevante und umfassende Abdeckung bieten. Damit ist die Testanalyse ein kritischer Schritt im Testprozess, der sicherstellt, dass die Tests den Anforderungen gerecht werden und die Software zuverlässig und fehlerfrei funktioniert.
UseCase Beispiel
Ein Softwareentwicklungsteam arbeitet an einer neuen E-Commerce-Plattform, auf der Kunden Produkte suchen, auswählen und kaufen können. Für die Testanalyse gehen die Tester die Anforderungen sorgfältig durch. Sie identifizieren, dass das System die folgenden Funktionen unterstützen muss:
- Suche nach Produkten nach Kategorie und Schlüsselwörtern.
- Anzeigen von Produktinformationen, Bildern und Preisen.
- Hinzufügen von Produkten zum Warenkorb.
- Überprüfung des Warenkorbs und der Gesamtsumme.
- Durchführung der Zahlung und Abschluss des Kaufs
Für die Testanalyse entwickeln die Tester detaillierte Testfälle, die diese Funktionen abdecken. Zum Beispiel erstellen sie Testfälle für verschiedene Kategorien von Produkten, unterschiedliche Suchanfragen und verschiedene Kombinationen von Produkten im Warenkorb. Die Testanalyse hilft sicherzustellen, dass alle wichtigen Aspekte der Anwendung getestet werden und dass die Testabdeckung ausreichend ist, um mögliche Fehler zu identifizieren.
Testart
Der Begriff "Testart" bezieht sich auf die unterschiedlichen Methoden und Ansätze, die bei der Durchführung von Tests in verschiedenen Bereichen und Disziplinen angewendet werden. Testarten sind spezifische Arten von Tests, die für bestimmte Anwendungsfälle entwickelt wurden, um bestimmte Aspekte zu überprüfen, zu bewerten oder zu validieren. Sie können in verschiedenen Branchen und Domänen eingesetzt werden.
Testarten bilden die Grundlage für den gesamten Software-Testprozess und können je nach Projektanforderungen und -kontext angepasst und erweitert werden.
UseCase Beispiel
- Komponententest (Component Testing): Dieser Test konzentriert sich auf das Testen von einzelnen Softwarekomponenten oder Modulen, um sicherzustellen, dass sie ordnungsgemäß funktionieren. Oft werden hierbei Unit-Tests durchgeführt.
- Integrationstest (Integration Testing): Der Integrationstest zielt darauf ab, wie die verschiedenen Komponenten oder Module einer Anwendung zusammenarbeiten und miteinander integriert sind. Hier werden Schnittstellen und Datenfluss zwischen den Komponenten geprüft.
- Systemtest (System Testing): In diesem Test wird die gesamte Softwareanwendung als Ganzes getestet, um sicherzustellen, dass sie die spezifizierten Anforderungen erfüllt. Es handelt sich um einen End-to-End-Test, der die Funktionalität der Anwendung in ihrer gesamten Umgebung überprüft.
- Abnahmetest (Acceptance Testing): Der Abnahmetest wird vom Kunden oder Benutzer durchgeführt, um sicherzustellen, dass die Software seinen Anforderungen und Erwartungen entspricht. Dies kann in Form von Akzeptanztests oder Benutzertests erfolgen.
- Regressionstest (Regression Testing): Bei einem Regressionstest werden bereits getestete Funktionen erneut getestet, um sicherzustellen, dass sie nach Änderungen oder Erweiterungen der Software weiterhin ordnungsgemäß funktionieren.
- Lasttest (Load Testing): Der Lasttest prüft die Leistungsfähigkeit einer Anwendung unter erwarteter oder maximaler Last. Er zielt darauf ab, Engpässe und Leistungsprobleme zu identifizieren.
- Stresstest (Stress Testing): Beim Stresstest wird die Software unter extremen Bedingungen oder Lasten getestet, um ihr Verhalten in solchen Situationen zu bewerten. Dies kann helfen, potenzielle Absturzursachen zu ermitteln.
- Sicherheitstest (Security Testing): Hier wird die Software auf Sicherheitslücken und Schwachstellen geprüft, um sicherzustellen, dass sie vor Bedrohungen und Angriffen geschützt ist.
- Usability-Test (Usability Testing): Der Usability-Test konzentriert sich auf die Benutzerfreundlichkeit der Software, einschließlich Benutzeroberfläche, Navigation und allgemeiner Benutzererfahrung.
- Funktionstest (Functional Testing): Diese Testart überprüft die Funktionalität der Software gemäß den funktionalen Anforderungen, um sicherzustellen, dass sie ordnungsgemäß funktioniert.
Testautomatisierung
Testautomatisierung ist der Prozess der Verwendung von Software oder speziellen Tools, um Testfälle und -szenarien automatisch auszuführen und die Ergebnisse zu überprüfen, anstatt sie manuell durchzuführen. Ziel der Testautomatisierung ist es, die Effizienz, Genauigkeit und Wiederholbarkeit von Tests zu verbessern, insbesondere in Softwareentwicklungsprojekten, in denen häufige Änderungen vorgenommen werden und Tests wiederholt werden müssen.
UseCase Beispiel
Manuelle Durchführung:
- Besuchen Sie die Anmeldeseite.
- Geben Sie einen gültigen Benutzernamen und ein gültiges Passwort ein.
- Klicken Sie auf die Schaltfläche "Anmelden".
- Überprüfen Sie, ob die Anmeldung erfolgreich ist und Sie auf die Startseite weitergeleitet werden.
Automatisierte Durchführung:
- Das Testautomatisierungstool öffnet den Webbrowser und navigiert zur Anmeldeseite.
- Das Tool füllt automatisch die Benutzername- und Passwortfelder aus.
- Das Tool klickt automatisch auf die "Anmelden"-Schaltfläche.
- Das Tool überprüft automatisch, ob die Anmeldung erfolgreich war und ob die Startseite geladen wird.
Vorteile der Testautomatisierung in diesem Beispiel:
- Schnellere Ausführung: Die automatisierte Version des Tests ist in der Regel schneller als die manuelle Ausführung, was Zeit spart.
- Wiederholbarkeit: Der automatisierte Test kann beliebig oft wiederholt werden, um sicherzustellen, dass die Anmeldungslogik bei jeder Änderung intakt bleibt.
- Konsistenz: Da das Tool die gleichen Schritte jedes Mal wiederholt, gibt es keine menschlichen Variablen oder Fehler.
Testdaten
Testdaten sind Informationen, die in einem Testprozess verwendet werden, um sicherzustellen, dass eine Softwareanwendung oder ein System ordnungsgemäß funktioniert und die spezifizierten Anforderungen erfüllt. Diese Daten werden in Testfällen verwendet, um verschiedene Szenarien und Bedingungen zu simulieren, unter denen die Software getestet wird. Die Auswahl und Vorbereitung der richtigen Testdaten sind entscheidend, um sicherzustellen, dass Tests realistisch sind und eine ausreichende Abdeckung bieten.
UseCase Beispiel
Ein Automobilhersteller entwickelt eine neue Fahrzeugsteuerungseinheit und möchte sicherstellen, dass sie ordnungsgemäß funktioniert. In diesem Fall wären Testdaten für verschiedene Aspekte der Fahrzeugsteuerungseinheit erforderlich:
- Sensordaten: Um die Funktionen der Steuerungseinheit zu testen, benötigen Sie Testdaten von den verschiedenen Sensoren im Fahrzeug, wie zum Beispiel Daten von Beschleunigungssensoren, Temperatursensoren oder Abstandssensoren.
- Steuersignale: Sie müssen Testdaten für die Steuersignale bereitstellen, die von der Steuerungseinheit an andere Fahrzeugkomponenten gesendet werden, wie z.B. die Daten, die den Motor oder die Bremsen steuern.
- Fahrzeugzustände: Sie benötigen Testdaten, die verschiedene Fahrzeugzustände repräsentieren, wie z.B. den Motor im Leerlauf, das Beschleunigen, Bremsen oder Kurvenfahren.
- Fehlerdaten: Testdaten sollten auch Fehlerbedingungen abdecken, um sicherzustellen, dass die Steuerungseinheit angemessen auf Probleme reagiert. Das können beispielsweise Daten für einen niedrigen Öldruck oder einen überhitzten Motor sein.
- Umweltdaten: Je nach den Einsatzbedingungen des Fahrzeugs benötigen Sie möglicherweise Testdaten, die extreme Umgebungsbedingungen wie hohe Temperaturen, niedrige Temperaturen oder hohe Höhen simulieren.
Mit diesen Testdaten können Sie die Fahrzeugsteuerungseinheit in verschiedenen Szenarien und Bedingungen testen, um sicherzustellen, dass sie die erforderlichen Funktionen korrekt ausführt und auf unterschiedliche Situationen angemessen reagiert. Die Testdaten sind entscheidend, um die Sicherheit und Zuverlässigkeit der Fahrzeugsteuerungseinheit zu gewährleisten, bevor sie in einem Fahrzeug eingesetzt wird.
Testen
Das Testen ist der Prozess der systematischen Überprüfung und Evaluierung einer Softwareanwendung oder eines Systems, um sicherzustellen, dass es den spezifizierten Anforderungen entspricht und korrekt funktioniert. Dieser Prozess beinhaltet das Ausführen von Testszenarien, die Entwicklung von Testfällen und die Dokumentation von Testergebnissen.
UseCase Beispiel
Ein Softwareentwicklungsteam hat eine neue Version einer mobilen Banking-App entwickelt. Bevor sie diese App an Kunden ausliefern, führen sie umfangreiche Tests durch. Dies beinhaltet unter anderem:
- Funktionstests: Überprüfen, ob grundlegende Funktionen wie Überweisungen, Kontoaus-züge und das Einloggen korrekt funktionieren.
- Sicherheitstests: Überprüfen, ob die App gegen Bedrohungen wie Datenlecks oder unbefugten Zugriff geschützt ist.
- Usability-Tests: Überprüfen, ob die Benutzeroberfläche intuitiv und benutzerfreundlich ist, indem echte Benutzer die App verwenden.
- Leistungstests: Überprüfen, wie die App unter Last funktioniert, indem sie gleichzeitig von vielen Benutzern verwendet wird.
Während des Testprozesses werden Probleme entdeckt, wie zum Beispiel eine Sicherheitslücke, die es einem Benutzer erlaubt, auf vertrauliche Informationen zuzugreifen. Das Testteam dokumentiert diese Ergebnisse und gibt sie an das Entwicklungsteam weiter, das die Probleme behebt. Dieser iterative Prozess des Testens und Verbesserns hilft sicherzustellen, dass die App den Qualitätsstandards entspricht und sicher von Kunden verwendet werden kann. Das Testen ist somit ein entscheidender Schritt im Entwicklungsprozess, um Software von hoher Qualität zu gewährleisten.
Tester
Ein Tester ist eine Person, die in der Softwareentwicklung und anderen Branchen für die Qualitätssicherung und den Testprozess verantwortlich ist. Die Hauptaufgabe eines Testers besteht darin, Softwareanwendungen, Systeme oder Produkte zu überprüfen, um sicherzustellen, dass sie den spezifizierten Anforderungen entsprechen, ordnungsgemäß funktionieren und frei von Fehlern sind. Tester spielen eine entscheidende Rolle bei der Gewährleistung der Qualität und Zuverlässigkeit von Produkten, bevor sie an Kunden oder Benutzer ausgeliefert werden.
Testfall
Ein Testfall ist eine detaillierte Anweisung oder Beschreibung eines spezifischen Szenarios, das während des Softwaretestens getestet werden soll. Ein Testfall umfasst typischerweise
(1) Voraussetzungen des Tests: Wo wird getestet, warum wird getestet, was brauche ich um den Testfall durchführen zu können (zum Beispiel: System, Berechtigungen, User, Datenbanken, Zugriffsart)
(2) Schritte zur Durchführung des Tests inklusive vorgegebener Eingabewerte
(3) erwarteten Ergebnisse inklusive möglicher Akzeptanzkriterien.
UseCase Beispiel
Testfall - Überprüfung des E-Mail-Versands
Schritte:
- Öffnen Sie den E-Mail-Client im Browser XY
- Melden Sie sich mit gültigen Anmeldeinformationen an, welche sind: XY
- Klicken Sie auf die Schaltfläche "Neue E-Mail erstellen".
- Geben Sie die E-Mail-Adresse des Empfängers ein.
- Geben Sie einen Betreff und eine Nachricht ein.
- Klicken Sie auf die Schaltfläche "Senden".
Eingabewerte:
- E-Mail-Adresse des Empfängers: test@example.com
- Betreff: Test-E-Mail
- Nachricht: Dies ist eine Testnachricht.
Erwartetes Ergebnis:
- Die E-Mail wird erfolgreich gesendet.
- Die E-Mail erscheint im "Gesendet"-Ordner.
- Der Empfänger erhält die E-Mail in seinem Posteingang.
Wenn der Test durchgeführt wird und die E-Mail nicht gesendet wird oder andere unerwartete Probleme auftreten, wird dies als ein nicht bestandener Testfall (negativer Test) betrachtet.
Testfortschrittsbericht
Ein Testfortschrittsbericht ist ein Dokument, das den aktuellen Status und den Fortschritt der Testaktivitäten für eine Softwareanwendung oder ein System zusammenfasst. Er bietet Informationen über durchgeführte Tests, identifizierte Probleme, Testabdeckung und den Zeitplan für zukünftige Testaktivitäten. Die Darstellungerfolgt meinst grafisch mittels Privot oder Excel Tabellen, alternativ in speziellen Test-Tools die Reportingfunktionen besitzen.
Der Testfortschrittsbericht dient dazu, allen Projektbeteiligten, einschließlich Entwicklern, Mana-gern und anderen Stakeholdern, einen klaren Einblick in den Status der Testaktivitäten zu bieten. Er ermöglicht es, rechtzeitig auf Probleme zu reagieren, den Fortschritt zu verfolgen und sicherzu-stellen, dass das Projekt planmäßig voranschreitet. Dieser Bericht ist ein wichtiger Bestandteil des Qualitätsmanagements im Softwareentwicklungsprozess.
UseCase Beispiel
Ein Testmanager erstellt einen Testfortschrittsbericht für ein Projekt zur Anpassung der energiewirtschaftlichen Marktprozesse und Datenformaten nach BDEW/EDI@Energy Vorgaben für ein Release zum 01.10., das sich nach der Haupt-Entwicklungsphase, in der Testphase und vor der Stabiphase befindet. Der Bericht enthält folgende Informationen:
1. Übersicht: Eine Zusammenfassung des aktuellen Status der Testaktivitäten, einschließlich der abgeschlossenen und ausstehenden Tests.
2. Testabdeckung: Eine Aufschlüsselung der Testabdeckung, einschließlich der Anzahl der durchgeführten Testfälle im Vergleich zu den insgesamt geplanten Tests.
3. Probleme und Fehler: Eine Liste der während der Tests identifizierten Probleme, Fehler oder Qualitätsprobleme. Dies kann auch den Status der Fehlerbehebung enthalten.
4. Zeitplan: Eine Übersicht über den Zeitplan für zukünftige Testaktivitäten, einschließlich der geplanten Testphasen und Meilensteine.
5. Empfehlungen: Eventuelle Empfehlungen für Maßnahmen, die ergriffen werden müssen, um den Testfortschritt zu verbessern oder Probleme zu lösen.
Testing as a Service
„Testing as a Service“ (TaaS) ist ein Modell, bei dem Unternehmen externe Dienstleister in Anspruch nehmen, um ihre Softwareanwendungen zu testen. Anstatt ein internes Team für das Testen einzustellen und die erforderliche Infrastruktur bereitzustellen, können Unternehmen auf die Expertise und Ressourcen von externen Anbietern zurückgreifen.
Im TaaS-Modell übernimmt der Dienstleister die Verantwortung für den gesamten Testprozess, einschließlich der Testplanung, der Erstellung von Testfällen, der Durchführung von Tests und der Berichterstattung über die Ergebnisse. Der Kunde definiert die Anforderungen und Kriterien für die Tests, während der Dienstleister die technische Expertise und die Infrastruktur bereitstellt, um die Tests effektiv durchzuführen.
UseCase Beispiel
Die Vorteile von Testing as a Service liegen in der Skalierbarkeit, Flexibilität und Kosteneffizienz. Unternehmen können auf die Erfahrung und Ressourcen von Experten zugreifen, ohne interne Ressourcen binden zu müssen. Sie können die Testaktivitäten je nach Bedarf hoch- oder herunterskalieren und zahlen nur für die tatsächlich genutzten Dienstleistungen. Dies ermöglicht es Unternehmen, sich auf ihre Kernkompetenzen zu konzentrieren, während sie sicherstellen, dass ihre Softwareanwendungen gründlich getestet werden.
Es ist wichtig anzumerken, dass „Testing as a Service“ verschiedene Formen annehmen kann und je nach Anbieter und Kundenanforderungen unterschiedlich umgesetzt wird. Es kann sich um manuelles oder automatisiertes Testen handeln, um funktionale oder nicht-funktionale Tests, um Performance-Tests oder Sicherheitstests. Die genaue Ausgestaltung hängt von den spezifischen Anforderungen des Kunden ab.
Testkonzept
Ein Testkonzept ist ein Dokument, das die strategische Planung und Organisation von Testaktivitäten für ein Softwareentwicklungsprojekt oder ein anderes Projekt beschreibt, bei dem Tests erforderlich sind. Das Testkonzept legt den Rahmen fest, in dem die Tests durchgeführt werden, und dient als Leitfaden für das gesamte Testprojekt. Es enthält Informationen darüber, wie die Tests durchgeführt werden, welche Ressourcen benötigt werden und wie Testergebnisse dokumentiert und berichtet werden.
UseCase Beispiel
Der klassische Aufbau eines Testkonzepts kann wie folgt dargestellt werden:
- Zweck und Zielsetzung des Testkonzepts: Beschreibung des Zwecks des Testkonzepts und der damit verbundenen Ziele.
- Einführung in das Projekt: Übersicht über das Projekt, für das das Testkonzept entwickelt wird, einschließlich des Projektnamens, der Ziele und des Kontexts.
- Projektorganisation: Informationen über die Projektbeteiligten und deren Rollen im Testprozess, einschließlich des Testmanagers und der Testteammitglieder.
- Testumfang: Beschreibung des Umfangs der Testaktivitäten, d.h. welche Teile der Software oder des Systems getestet werden und welche nicht.
- Teststrategie: Darstellung der allgemeinen Teststrategie, die angewendet wird, um die Testziele zu erreichen. Dies kann beinhalten, welche Testarten (z.B. Funktionstests, Leistungstests) durchgeführt werden und wie sie durchgeführt werden.
- Testobjekte: Auflistung der spezifischen Elemente oder Komponenten, die getestet werden, z.B. bestimmte Funktionen, Module oder Schnittstellen.
- Testumgebung und Infrastruktur: Beschreibung der Testumgebung, einschließlich der Hardware, Software, Netzwerke und anderer Ressourcen, die für die Tests benötigt werden.
- Testdaten: Erklärung, wie Testdaten erstellt oder beschafft werden, um die Testfälle auszuführen.
- Testzeitplan: Zeitliche Planung der Testaktivitäten, einschließlich der Start- und Endtermine für die verschiedenen Testphasen.
- Testressourcen und -kosten: Auflistung der benötigten Ressourcen (z.B. Personal, Werkzeuge) und eine Schätzung der Testkosten.
- Testdurchführung: Beschreibung der geplanten Schritte und Prozesse für die Durchführung der Tests, einschließlich der Testvorbereitung, Testausführung und Fehlerverfolgung.
- Testergebnisse und -berichterstattung: Erklärung, wie Testergebnisse erfasst, analysiert und dokumentiert werden, und wie Berichte über den Testfortschritt und die Ergebnisse erstellt werden.
- Risikomanagement: Identifikation von Risiken im Zusammenhang mit den Tests und Strategien zur Risikominimierung oder -bewältigung.
- Abnahmekriterien: Festlegung der Kriterien, die erfüllt sein müssen, damit die Tests als abgeschlossen und erfolgreich angesehen werden können.
- Änderungs- und Konfigurationsmanagement: Beschreibung, wie Änderungen an den Anforderungen oder am Testprozess verwaltet werden, sowie die Handhabung von Konfigurationsänderungen.
- Testabschluss: Informationen darüber, wie der Testprozess abgeschlossen und wie die Testergebnisse überprüft und freigegeben werden.
Testmanager
Ein Testmanager ist eine wichtige Rolle in einem Softwareentwicklungsprojekt oder in anderen Projekten, die umfangreiche Tests erfordern. Der Testmanager ist für die Planung, Koordination und Überwachung aller Testaktivitäten im Projekt verantwortlich. Diese Rolle ist dafür zuständig, sicherzustellen, dass die Testziele erreicht werden, die Teststrategie umgesetzt wird und die Qualität des Produkts den Anforderungen entspricht.
UseCase Beispiel
In einem Unternehmen übernimmt der Testmanager unter anderem folgende Aufgaben:
(1) Testplanung
(2) Ressourcenmanagement
(3) Testkoordination der Testaktivitäten, Abnahmetests und Testfortschrittverfolgung
(4) Fehlermanagement
(5) Reporting und Berichterstattung
Testmethode
Eine Testmethode ist ein systematischer Ansatz oder eine Vorgehensweise, die verwendet wird, um Software oder andere Produkte zu überprüfen, zu evaluieren oder zu testen, um sicherzustellen, dass sie den spezifizierten Anforderungen entsprechen. Testmethoden sind strukturierte Techniken oder Verfahren, die verwendet werden, um Tests durchzuführen und Testergebnisse zu sammeln und zu bewerten.
UseCase Beispiel
- Black-Box-Testmethode: Bei dieser Methode wird die interne Implementierung eines Produkts nicht berücksichtigt. Stattdessen werden Eingaben in das Produkt gegeben, und die erwarteten Ausgaben werden überprüft, um sicherzustellen, dass die Funktionalität gemäß den Spezifikationen funktioniert.
- White-Box-Testmethode: Im Gegensatz zum Black-Box-Test wird bei dieser Methode der interne Code und die Implementierung eines Produkts überprüft. Der Tester untersucht die Logik, den Datenfluss und die Codeabdeckung, um sicherzustellen, dass alle Teile des Codes korrekt funktionieren.
- Unit-Testmethode: Diese Methode konzentriert sich auf das Testen einzelner Einheiten oder Komponenten einer Software, wie einzelne Funktionen oder Module. Sie dient dazu, sicherzustellen, dass jede Einheit in Isolation korrekt funktioniert.
- Integrationstestmethode: Hierbei werden die Interaktionen zwischen verschiedenen Komponenten oder Modulen einer Software überprüft, um sicherzustellen, dass sie ordnungsgemäß miteinander integriert sind.
- Systemtestmethode: Bei dieser Methode wird die gesamte Softwareanwendung als Ganzes getestet, um sicherzustellen, dass sie die spezifizierten Anforderungen erfüllt und in ihrer Umgebung ordnungsgemäß funktioniert.
- Abnahmetestmethode: Der Abnahmetest wird vom Kunden oder Benutzer durchgeführt, um sicherzustellen, dass die Software ihren Anforderungen entspricht und akzeptabel ist.
- Regressionstestmethode: Diese Methode wird verwendet, um sicherzustellen, dass bereits getestete Funktionen nach Änderungen oder Erweiterungen weiterhin ordnungsgemäß funktionieren.
- Last- und Leistungstestmethode: Hierbei wird die Leistung und Skalierbarkeit einer Software unter erwarteten oder maximalen Lastbedingungen getestet.
- Sicherheitstestmethode: Diese Methode überprüft die Sicherheit einer Software auf Schwachstellen und potenzielle Sicherheitslücken.
- Usability-Testmethode: Der Usability-Test konzentriert sich auf die Benutzerfreundlichkeit und die Benutzererfahrung einer Anwendung.
- Exploratives Testen: Bei dieser Methode geht der Tester ohne vorherige detaillierte Testfälle vor und erkundet die Software, um Fehler und Probleme zu entdecken.
Testobjekt
Ein Testobjekt ist das Element, die Komponente, das Produkt oder der Gegenstand, der während eines Testprozesses auf seine Qualität, Funktionalität oder Konformität mit den definierten Anforderungen hin überprüft wird. Testobjekte können in verschiedenen Bereichen und Branchen vorkommen, einschließlich Softwareentwicklung, Hardwareentwicklung, Fertigung und vielen anderen.
Testplan
Ein Testplan ist ein umfassendes Dokument, das die Strategie, den Umfang, die Ressourcen und den Zeitplan für die Durchführung von Tests in einem Softwareentwicklungsprojekt oder einem anderen Projekt festlegt. Der Testplan ist ein zentrales Steuerungsinstrument für die Testaktivitäten und dient dazu sicherzustellen, dass die Tests die Anforderungen und Qualitätsziele des Projekts erfüllen.
UseCase Beispiel
Projektname: Einführung von SAP HANA im Energiewirtschaftsbereich
Testplan Version: 1.0
Datum: [Datum]
Projektziele:
- Einführung von SAP HANA, um die Leistungsfähigkeit und Skalierbarkeit unserer Energiewirtschaftsprozesse zu verbessern.
- Sicherstellung der Datenintegrität und Echtzeit-Analysefähigkeiten für den Energiesektor.
Testziel:
- Durchführung umfassender Tests, um sicherzustellen, dass die SAP HANA-Implementierung den funktionalen und nichtfunktionalen Anforderungen entspricht.
Teststrategie:
- Nutzung von Black-Box-Tests.
- Verwendung von realistischen Daten aus der Energiewirtschaft.
- Schwerpunkt auf Performance- und Datenintegritätstests.
Testumfang:
- Funktionale Tests für die SAP HANA-Anwendung, einschließlich Datenimport und -export, Berichterstellung und Datenanalysen.
- Leistungstests zur Überprüfung der Skalierbarkeit und Reaktionszeit der SAP HANA-Umgebung.
- Datenintegritätstests, um sicherzustellen, dass die Daten konsistent und korrekt gespeichert werden.
Testumgebung:
- SAP HANA-Testumgebung, die der Produktionsumgebung ähnlich ist.
- Realistische Testdaten aus Energiewirtschaftsprozessen.
- Performance-Überwachungstools zur Erfassung von Metriken.
Testzeitplan:
- Vorbereitung der Testumgebung: [Startdatum] bis [Enddatum]
- Durchführung der Tests: [Startdatum] bis [Enddatum]
- Testauswertung und Berichterstellung: [Startdatum] bis [Enddatum]
- Fehlerbehebung und Re-Tests: [Startdatum] bis [Enddatum]
Testteam:
- Testmanager: [Name]
- Testanalysten: [Namen]
Testdaten:
- Testdaten aus realen Energiewirtschaftsprozessen, anonymisiert und gemäß Datenschutzrichtlinien.
Testmetriken:
- Durchschnittliche Antwortzeiten bei verschiedenen Nutzungsbelastungen.
- Anzahl der erfolgreich durchgeführten Berichte und Analysen.
- Anzahl der gefundenen und behobenen Fehler.
Risikomanagement:
- Identifizierte Risiken und Strategien zur Risikominimierung, insbesondere im Hinblick auf Datenintegrität und Performance.
Testabschluss:
- Bericht über die Testergebnisse, einschließlich der Erfüllung der Abnahmekriterien.
- Freigabe zur Produktionsbereitstellung nach erfolgreicher Abnahme.
Testreporting
Auch Testfortschrittsbericht: Ein Testfortschrittsbericht ist ein Dokument, das den aktuellen Status und den Fortschritt der Testaktivitäten für eine Softwareanwendung oder ein System zusammenfasst. Er bietet Informationen über durchgeführte Tests, identifizierte Probleme, Testabdeckung und den Zeitplan für zukünftige Testaktivitäten. Die Darstellungerfolgt meinst grafisch mittels Privot oder Excel Tabellen, alternativ in speziellen Test-Tools die Reportingfunktionen besitzen.
Der Testfortschrittsbericht dient dazu, allen Projektbeteiligten, einschließlich Entwicklern, Managern und anderen Stakeholdern, einen klaren Einblick in den Status der Testaktivitäten zu bieten. Er ermöglicht es, rechtzeitig auf Probleme zu reagieren, den Fortschritt zu verfolgen und sicherzustellen, dass das Projekt planmäßig voranschreitet. Dieser Bericht ist ein wichtiger Bestandteil des Qualitätsmanagements im Softwareentwicklungsprozess.
UseCase Beispiel
Ein Testmanager erstellt einen Testfortschrittsbericht für ein Projekt zur Anpassung der energiewirtschaftlichen Marktprozesse und Datenformaten nach BDEW/EDI@Energy Vorgaben für ein Release zum 01.10., das sich nach der Haupt-Entwicklungsphase, in der Testphase und vor der Stabiphase befindet. Der Bericht enthält folgende Informationen:
- Übersicht: Eine Zusammenfassung des aktuellen Status der Testaktivitäten, einschließlich der abgeschlossenen und ausstehenden Tests.
- Testabdeckung: Eine Aufschlüsselung der Testabdeckung, einschließlich der Anzahl der durchgeführten Testfälle im Vergleich zu den insgesamt geplanten Tests.
- Probleme und Fehler: Eine Liste der während der Tests identifizierten Probleme, Fehler oder Qualitätsprobleme. Dies kann auch den Status der Fehlerbehebung enthalten.
- Zeitplan: Eine Übersicht über den Zeitplan für zukünftige Testaktivitäten, einschließlich der geplanten Testphasen und Meilensteine.
- Empfehlungen: Eventuelle Empfehlungen für Maßnahmen, die ergriffen werden müssen, um den Testfortschritt zu verbessern oder Probleme zu lösen.
Teststufen
Teststufen beschreiben eine spezifische Form/Gruppe von Testaktivitäten, denen jeweils eigene Testziele, Methoden und gegebenenfalls auch Tools zu Grunde liegen.
Obwohl der Begriff Teststufe eine aufeinanderfolgende Bearbeitung der einzelnen Stufen suggeriert, kann es zwischen den einzelnen Teststufen auch zu Überschneidungen kommen. In einer perfekten Welt ist jedoch jede Teststufe als eigene Einheit zu sehen. Erst nach Abschluss wird, gegebenenfalls unter Verwendung der bereits vorhandenen Ergebnisse, mit der nächsten Teststufe begonnen.
Die einzelnen Teststufen sind jeweils direkt an Verantwortlichkeiten geknüpft. Während Komponententests in der Regel im Rahmen der IT-Umsetzung erfolgen, sind Abnahmetests Aufgabe der ausführenden Gruppe des zu testenden Prozesses bzw. Aufgabe einer festgelegten Gruppe von Fachtestern.
Beispiele für Teststufen:
- Komponententest oder auch Modul- und Unittests
- Integrationstest
- Abnahmetest
- Regressionstest
- Lasttest (Belastungstest)
- Sicherheitstest
- Usability-Test
UseCase Beispiel
In einem Projekt, welches sich mit der Integration einer Software mittels einer neuen Schnittstelle an eine bestehende Systemlandschaft beschäftigt, sollen Tests durchgeführt werden. In der Planung wird entschieden, dass erst einmal nur innerhalb der neuen Software getestet wird, bevor diese an Schnittstellen angebunden wird. Erst nach Abschluss der eigentlichen Funktionalitäten innerhalb der Software sollen weiter Tests und eine mögliche Abnahme folgen.
Daraus folgt ein Teststufenplan mit folgenden Stufen:
(1) Komponententests / Unittests
(2) Integrationstests
(3) Prozesstests / Abnahmetest
Testtools
Ein Testtool (auch als Testsoftware oder Testwerkzeug bezeichnet) ist eine Softwareanwendung oder ein Programm, das entwickelt wurde, um verschiedene Aspekte des Testprozesses zu unterstützen, zu automatisieren oder zu vereinfachen. Testtools werden in der Softwareentwicklung und anderen Bereichen eingesetzt, um Testfälle zu erstellen, Testdaten zu generieren, Tests durchzuführen, Testergebnisse zu überprüfen und Testberichte zu erstellen. Sie spielen eine entscheidende Rolle in der Testautomatisierung und tragen dazu bei, den Testprozess effizienter und reproduzierbarer zu gestalten.
UseCase Beispiel
Die Anbieter von Testtools am Markt sind vielfältig. Hier beraten wir sie unabhängig gern direkt und geben ihnen einen Überblick aller Möglichkeiten.
Testwerkzeuge
Ein Testtool (auch als Testsoftware oder Testwerkzeug bezeichnet) ist eine Softwareanwendung oder ein Programm, das entwickelt wurde, um verschiedene Aspekte des Testprozesses zu unterstützen, zu automatisieren oder zu vereinfachen. Testtools werden in der Softwareentwicklung und anderen Bereichen eingesetzt, um Testfälle zu erstellen, Testdaten zu generieren, Tests durchzuführen, Testergebnisse zu überprüfen und Testberichte zu erstellen. Sie spielen eine entscheidende Rolle in der Testautomatisierung und tragen dazu bei, den Testprozess effizienter und reproduzierbarer zu gestalten.
UseCase Beispiel
Die Anbieter von Testtools am Markt sind vielfältig. Hier beraten wir sie unabhängig gern direkt und geben ihnen einen Überblick aller Möglichkeiten.
U
Unit-Tests
Ein Komponententest, auch als Unit-Test bezeichnet, ist eine Art von Softwaretest, bei dem eine einzelne Komponente oder ein kleiner, isolierter Teil eines Softwareprogramms unabhängig von anderen Teilen getestet wird. Das Hauptziel eines Komponententests besteht darin, sicherzustellen, dass die einzelne Komponente oder Einheit korrekt funktioniert und die erwarteten Ergebnisse liefert.
UseCase Beispiel
siehe Komponententest
Usability-Test
Ein Usability-Test ist eine Teststufe, bei der die Benutzerfreundlichkeit und die Benutzererfahrung der Software bewertet werden, um sicherzustellen, dass sie für die Benutzer leicht verständlich und effektiv ist.
UseCase Beispiel
Benutzer werden gebeten, eine mobile App zu verwenden und ihre Erfahrungen bei der Navigation und der Interaktion mit der App zu bewerten.
V
Vorfall
Auch Incident oder Störung genannt.
Ein Vorfall ist ein unerwartetes Ereignis, eine Störung oder eine Abweichung von normalen Betriebsabläufen, die die Qualität, den Betrieb oder die Leistung eines Systems, einer Anwendung, eines Services oder eines Prozesses beeinträchtigen können. Incidents können in verschiedenen Bereichen und Branchen auftreten, einschließlich Informationstechnologie, Gesundheitswesen, Produktion, Kundenservice und mehr.
Ein Vorfall kann vielfältige Formen annehmen und kann sowohl technischer als auch nicht-technischer Natur sein.
W
White-Box-Test
Im Gegensatz zum Black-Box-Test wird bei dieser Testmethode der interne Code und die Implementierung eines Produkts überprüft. Der Tester untersucht die Logik, den Datenfluss und die Codeabdeckung, um sicherzustellen, dass alle Teile des Codes korrekt funktionieren.