Nicht funktionale Tests

โšก Intelligente Zusammenfassung

Nichtfunktionale Tests รผberprรผfen die Zuverlรคssigkeit, Benutzerfreundlichkeit, Sicherheit, Skalierbarkeit und andere Qualitรคtsmerkmale einer Softwareanwendung. Diese Anleitung erlรคutert Ziele, Parameter, Merkmale, gรคngige Testarten und praktische Beispieltestfรคlle, die von Qualitรคtssicherungsteams verwendet werden.

  • ๐ŸŽฏ Qualitรคtsfokus: Nicht-funktionale Tests messen, wie ein System funktioniert, und nicht, was es tut.
  • ๐Ÿ“ Messbare Kriterien: Jede Anforderung wird quantifiziert, wodurch subjektive Formulierungen wie gut, besser oder am besten entfallen.
  • ๐Ÿ” Kritische Parameter: Sicherheit, Zuverlรคssigkeit, Skalierbarkeit, Benutzerfreundlichkeit und Portabilitรคt dominieren die nicht-funktionale Verifikation.
  • ๐Ÿงช Verschiedene Testarten: Leistungs-, Belastungs-, Stress-, Erholungs- und Kompatibilitรคtstests befassen sich jeweils mit spezifischen Qualitรคtsrisiken.
  • ๐Ÿ“Š Auswirkungen auf das Geschรคft: Durch aussagekrรคftige nicht-funktionale Tests werden Produktionskosten, Ausfallzeiten und Kundenunzufriedenheit รผber verschiedene Releases hinweg reduziert.

Nicht funktionale Tests

Was sind nichtfunktionale Tests?

Nichtfunktionale Prรผfung Funktionstests sind eine Kategorie von Softwaretests, die die nicht-funktionalen Aspekte einer Anwendung validiert โ€“ Leistung, Benutzerfreundlichkeit, Zuverlรคssigkeit und รคhnliche Qualitรคtsmerkmale. Sie bewerten die Einsatzbereitschaft des Systems anhand von Kriterien, die bei Funktionstests nicht berรผcksichtigt werden, und stellen so sicher, dass die Anwendung die Erwartungen des Unternehmens unter realen Bedingungen erfรผllt.

Ein klassisches Beispiel fรผr nicht-funktionale Tests ist die Messung der Anzahl gleichzeitiger Benutzer, die sich ohne LeistungseinbuรŸen in eine Anwendung einloggen kรถnnen. Nicht-funktionale Tests sind genauso wichtig wie funktionale Tests, da sie die Kundenzufriedenheit und die allgemeine Produktwahrnehmung direkt beeinflussen.

Was ist ein รœbersichtsdiagramm zum nicht-funktionalen Testen?

Ziele nicht-funktionaler Tests

Nichtfunktionale Tests werden durchgefรผhrt, um die Gesamtqualitรคt und Lebensdauer eines Produkts zu verbessern. Zu den wichtigsten Zielen gehรถren:

  • Die Benutzerfreundlichkeit, Effizienz, Wartungsfreundlichkeit und Portabilitรคt des Produkts sollen verbessert werden.
  • Reduzierung des Produktionsrisikos und der Kosten, die mit nicht-funktionalen Mรคngeln verbunden sind.
  • Optimieren Sie die Art und Weise, wie das Produkt installiert, eingerichtet, ausgefรผhrt, verwaltet und รผberwacht wird.
  • Erhebung von Messwerten und Kennzahlen fรผr interne Forschungs- und Entwicklungsarbeiten.
  • Das Verstรคndnis fรผr das Verhalten des Produkts und die verwendeten Technologien verbessern.

Merkmale nicht-funktionaler Tests

Die folgenden Merkmale definieren, wie nicht-funktionale Tests geplant und durchgefรผhrt werden sollten:

  • Es muss messbar sein, subjektive Beschreibungen wie gut, besser oder am besten dรผrfen keinen Raum lassen.
  • Die genauen Zahlen sind zu Beginn des Anforderungsprozesses in der Regel unbekannt.
  • Die Anforderungen mรผssen priorisiert werden, sodass die Bereiche mit dem hรถchsten Risiko zuerst angegangen werden.
  • Qualitรคtsmerkmale werden wรคhrend der Softwareentwicklungsphase prรคzise identifiziert.

Nichtfunktionale Testparameter

Zur Abgrenzung des Umfangs nicht-funktionaler Tests werden typischerweise elf Parameter verwendet:

  1. Sicherheit: Misst, wie gut ein System vor vorsรคtzlichen und versehentlichen Angriffen von internen oder externen Quellen geschรผtzt ist. Verifiziert durch Sicherheitstests.
  2. Zuverlรคssigkeit: Das AusmaรŸ, in dem ein System seine spezifizierten Funktionen kontinuierlich und fehlerfrei erfรผllt. Verifiziert durch Zuverlรคssigkeitstests.
  3. รœberlebensfรคhigkeit: Bestรคtigt, dass das System weiterhin funktioniert und sich nach einem Ausfall selbst wiederherstellt. Verifiziert durch Wiederherstellungstests.
  4. Verfรผgbarkeit: Bestimmt, inwieweit sich ein Benutzer wรคhrend des Betriebs auf das System verlassen kann. Verifiziert durch Stabilitรคtstests.
  5. Benutzerfreundlichkeit: Die Benutzerfreundlichkeit, mit der Anwender das System erlernen, bedienen, Eingaben vorbereiten und Ausgaben verarbeiten kรถnnen. Durch Usability-Tests verifiziert.
  6. Skalierbarkeit: Der Grad, in dem eine Softwareanwendung ihre Verarbeitungskapazitรคt erweitern kann, um steigender Nachfrage gerecht zu werden. Verifiziert durch Skalierbarkeitstests.
  7. Interoperabilitรคt: Prรผft die Schnittstellen eines Softwaresystems zu anderen Softwaresystemen. Verifiziert durch Interoperabilitรคtstests.
  8. Effizienz: Inwieweit das System Kapazitรคt, Menge und Reaktionszeit unter Last bewรคltigt.
  9. Flexibilitรคt: Die Leichtigkeit, mit der die Anwendung auf verschiedenen Hardware- und Softwarekonfigurationen, wie z. B. unterschiedlichen RAM- oder CPU-Spezifikationen, funktionieren kann.
  10. Portabilitรคt: Die Flexibilitรคt der Software, von ihrer aktuellen Hardware- oder Softwareumgebung in eine andere zu wechseln.
  11. Wiederverwendbarkeit: Bezeichnet den Teil eines Softwaresystems, der fรผr die Verwendung in einer anderen Anwendung angepasst werden kann.

Diagramm der Parameter fรผr nicht-funktionale Tests

Art des Softwaretests

Softwaretests werden im Allgemeinen in drei Kategorien eingeteilt:

  • Funktionsprรผfung
  • Nichtfunktionale Prรผfung
  • Wartungstests

Jede Kategorie umfasst mehrere Teststufen, die von den Teams oft als Testtypen bezeichnet werden. Da verschiedene Bรผcher und Nachschlagewerke die Klassifizierung leicht voneinander unterscheiden kรถnnen, sind kleinere Abweichungen zu erwarten.

Die Liste der Testarten ist nicht vollstรคndig โ€“ es existieren รผber 100 verschiedene Testarten, und stรคndig kommen neue hinzu. Nicht jede Testart eignet sich fรผr jedes Projekt; der Umfang hรคngt von der Art, dem Risikoprofil und der Komplexitรคt der zu testenden Anwendung ab.

Arten von nichtfunktionalen Tests

Zu den hรคufigsten Arten von nicht-funktionalen Tests, die von QA-Teams durchgefรผhrt werden, gehรถren:

  • Performance Testing
  • Load Testing
  • Failover-Tests
  • Kompatibilitรคtstests
  • Benutzer-Tests
  • Belastbarkeitstest
  • Wartbarkeitstests
  • Skalierbarkeitstests
  • Volumentest
  • Sicherheitstests
  • Tests zur Notfallwiederherstellung
  • Anforderungsprรผfung
  • Portabilitรคtstests
  • Effizienzprรผfung
  • Zuverlรคssigkeitsprรผfung
  • Basistests
  • Ausdauertests
  • Dokumentationstests
  • Wiederherstellungstests
  • Internationalisierungstests

Beispielhafte Testfรคlle fรผr nicht-funktionale Tests

Die folgenden Beispiele veranschaulichen, wie nicht-funktionale Testfรคlle in realen Projekten geschrieben werden:

Testfall # Testfall Domain
1 Die Ladezeit der Anwendung sollte 5 Sekunden nicht รผberschreiten, wenn bis zu 1000 Benutzer gleichzeitig darauf zugreifen. Performance Testing
2 Die Software sollte auf allen unterstรผtzten Versionen installierbar sein. Windows und macOS. Kompatibilitรคtstests
3 Alle Webbilder sollten beschreibende Alt-Tags enthalten. Test der Barrierefreiheit

Hรคufig gestellte Fragen

Funktionstests รผberprรผfen, ob das System die vorgegebenen Anforderungen erfรผllt. Nicht-funktionale Tests messen die Systemleistung, einschlieรŸlich Geschwindigkeit, Zuverlรคssigkeit, Benutzerfreundlichkeit und Sicherheit, und stellen sicher, dass die Anwendung รผber die Kernfunktionen hinaus Qualitรคtsstandards erfรผllt.

Zu den beliebten Tools gehรถren JMeter und LoadRunner fรผr optimale Leistung, Selenium fรผr die Automatisierung der Benutzerfreundlichkeit Burp Suite und OWASP ZAP fรผr Sicherheit und BrowserStack fรผr Kompatibilitรคt. Jedes Tool zielt auf einen spezifischen, nicht-funktionalen Bereich ab, den QA-Teams messen mรถchten.

Nicht-funktionale Tests sollten beginnen, sobald das System funktional stabil ist und vor grรถรŸeren Releases. Leistungs-, Sicherheits- und Zuverlรคssigkeitstests werden รผblicherweise in spรคteren Testphasen eingeplant, Shift-Left-Strategien fรถrdern jedoch eine frรผhere Durchfรผhrung parallel zur Entwicklung.

Jeder Parameter wird anhand quantifizierbarer Schwellenwerte gemessen. Die Leistung wird anhand der Reaktionszeit und des Durchsatzes, die Sicherheit anhand der Anzahl der Schwachstellen, die Benutzerfreundlichkeit anhand der Aufgabenabschlussraten und die Zuverlรคssigkeit anhand der mittleren Zeit zwischen Ausfรคllen gemessen. Numbers ersetzen subjektive Meinungen.

Beides. Leistungs-, Last-, Stress- und Sicherheitstests sind aufgrund des Umfangs und der Wiederholbarkeit stark von Automatisierung abhรคngig. Usability- und Barrierefreiheitstests erfordern neben automatisierten Tools oft manuelle Beobachtung, Expertenbewertungen oder die Prรผfung von Hilfstechnologien.

KI generiert Lastprofile, prognostiziert Leistungsengpรคsse, priorisiert risikoreiche Testfรคlle und analysiert Protokolldaten automatisch. KI-gestรผtzte Plattformen verkรผrzen die Ausfรผhrungszeit und decken Regressionen schneller auf.ping QA-Teams skalieren die nicht-funktionale Abdeckung รผber mehrere Releases hinweg.

Nein. KI beschleunigt zwar Scans, die Erstellung von Baselines und die Anomalieerkennung, aber erfahrene Tester interpretieren weiterhin die Ergebnisse, validieren Exploit-Ketten und entwerfen Testszenarien. KI ergรคnzt das menschliche Urteilsvermรถgen bei nicht-funktionalen Tests, anstatt erfahrene QA-Ingenieure zu ersetzen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: