Testkonzeption und Risikobasiertes Testen | BeST Practice (5.1.1)

academy.A
24 May 202315:13

Summary

TLDRDieses Video dreht sich um das Testen von Softwareprojekten und wie man Risiken identifiziert und minimiert. Es erklärt die Bedeutung von Testabdeckung und wie man diese im Lebenszyklus einer Software beibehält. Der Schwerpunkt liegt auf dem risikobasierten Testen, das darauf abzielt, Fehler zu minimieren, indem man sich auf Bereiche konzentriert, die ein hohes Schadenspotenzial haben. Es wird auch die Testpyramide und ihre Bedeutung für Testautomatisierung diskutiert.

Takeaways

  • 🔍 Der Testprozess zielt darauf ab, Eigenschaften eines IT-Systems zu bestimmen und den Unterschied zwischen dem tatsächlichen und dem erforderlichen Zustand zu verdeutlichen.
  • 🛠 Software-Systeme werden typischerweise entwickelt, um eine Aufgabe zu erfüllen, nicht unbedingt einer spezifischen Spezifikation zu entsprechen.
  • 🎯 Tests können nicht beweisen, dass Software korrekt ist, sondern nur Fehler aufdecken oder die Wahrscheinlichkeit, dass keine Fehler vorhanden sind, erhöhen.
  • 📈 Die Testabdeckung sollte sich auf die wesentlichen Aspekte konzentrieren, die für die Zuverlässigkeit der Software und die Erfüllung der gestellten Aufgaben notwendig sind.
  • 🔄 Es gibt kein einheitliches Rezept für Testing, aber es gibt Leitgedanken und Umsetzungspraktiken, die im Modul 'Test' behandelt werden.
  • 🚀 Der risikobasierte Testansatz ist ein zentrales Thema, das im Video besprochen wird und auf die Notwendigkeit abzielt, Risiken zu minimieren, die mit Qualitätsmängeln der Software verbunden sind.
  • 🔢 Risiko wird als der potenzielle Schaden, der durch einen Fehler entsteht, multipliziert mit der Wahrscheinlichkeit, dass dieser Fehler tatsächlich auftritt, definiert.
  • 🧩 Eine gute Softwarearchitektur und sauberes Design minimieren Abhängigkeiten und Schnittstellen zwischen Komponenten, was den Testaufwand reduziert.
  • 📊 Die Testpyramide ist ein Leitbild für die Gestaltung einer Testautomatisierungsstrategie, wobei die Basis durch Unit- und Komponententests gebildet wird.
  • 🛑 Ein grünes Testresultat bedeutet nicht, dass das Programm fehlerfrei ist, sondern nur, dass der Test keine Fehler aufgedeckt hat. Es ist wichtig, zwischen diesen beiden Möglichkeiten zu unterscheiden.

Q & A

  • Was ist der Hauptzweck des Testens in Softwareprojekten?

    -Der Hauptzweck des Testens ist es, den Abgleich zwischen dem tatsächlichen Zustand (was ist) und dem erforderlichen Zustand (was sein sollte) eines IT-Systems zu überprüfen.

  • Was bedeutet der Ausdruck 'risikobasiertes Testen'?

    -Risikobasiertes Testen bezieht sich auf einen Ansatz, bei dem Tests auf der Grundlage der potenziellen Risiken durch Qualitätsdefizite in der Software durchgeführt werden, um diese Risiken zu minimieren.

  • Warum ist es unmöglich, die Korrektheit von Software durch Tests vollständig zu beweisen?

    -Es ist unmöglich, die Korrektheit von Software vollständig zu beweisen, da es unpraktisch ist, alle möglichen Pfade durch den Quellcode zu durchlaufen und zu überprüfen, insbesondere bei komplexen Softwaresystemen.

  • Was ist die Bedeutung von 'Testabdeckung' im Kontext des Risikobasierten Testens?

    -Testabdeckung bezieht sich auf die Intensität, mit der bestimmte Teile der Software getestet werden. Im Risikobasierten Testen wird die Testabdeckung auf die Bereiche konzentriert, in denen das Risiko am höchsten ist.

  • Wie wird die 'Testpyramide' in Bezug auf die Testautomatisierung verwendet?

    -Die Testpyramide ist ein Leitbild für die Gestaltung einer Testautomatisierungsstrategie, wobei der Schwerpunkt auf Unit- und Komponententests liegt, gefolgt von API-Tests und schließlich von akzeptanzbezogenen Tests wie Usability-Tests.

  • Was ist der Unterschied zwischen 'Ist-Zustand' und 'Soll-Zustand' in der Softwaretestpraxis?

    -Der 'Ist-Zustand' bezieht sich auf den aktuellen Zustand der Software, während der 'Soll-Zustand' den erforderlichen Zustand beschreibt, den die Software haben sollte, um ihre Aufgabe zu erfüllen.

  • Wie kann man die Testabdeckung effektiv reduzieren?

    -Man kann die Testabdeckung effektiv reduzieren, indem man die Software in unabhängige Teile zerlegt, sodass die Anzahl der zu testenden Pfade exponentiell wächst, aber nur innerhalb jedes Teils.

  • Was ist das Ziel des strukturierten Testvorgehens?

    -Das Ziel des strukturierten Testvorgehens ist es, die erforderlichen Fähigkeiten der Software tatsächlich abdeckt, indem man definiert und begründet, welche Teile wie intensiv auf welche Weise getestet werden.

  • Wie wird das Risiko in der Softwaretestpraxis definiert?

    -Das Risiko wird definiert als der Schaden, den ein aufgetretener Fehler in Produktion erzeugt, multipliziert mit der Wahrscheinlichkeit, dass dieser Fehler tatsächlich auftritt.

  • Warum ist es wichtig, die Qualität der Tests zu verstehen, wenn man von einer grünen Testsuite auf die Korrektheit des Programms schließen möchte?

    -Es ist wichtig, weil eine grüne Testsuite nur besagt, dass der Test keine Fehler aufgedeckt hat, nicht aber, dass das Programm fehlerfrei ist. Man muss zwischen einer gut durchgeführten Testsuite, die keine relevanten Fehler enthält, und einer schlecht durchgeführten Testsuite, die Fehler nicht erkennen kann, unterscheiden.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
TeststrategieRisikobasiertSoftwaretestQualitätssicherungTestautomatisierungTestabdeckungTestbudgetRegelwerkTestvorgehenTestfälle
Do you need a summary in English?