Home QA & Testing soorten Nicht-funktionale Tests

Nicht-funktionale Tests

Was sind nicht-funktionale Tests?

  • Stress Tests
  • Performance-/Load Tests
  • Failover Tests
  • Recovery Tests
  • Soak Tests

Was sind nicht-funktionale Tests?

Nicht-funktionale Tests konzentrieren sich auf Ihre Anwendung als ganzheitliches Produkt. Dabei soll überprüft werden, wie gut die Anwendung in bestimmten Fällen reagiert und welchen Einfluss dies mit Bezug auf die Verwendung der Software hat? Es geht also dabei nicht um die Einordnung der geschäftlichen Anforderungen oder banale Fehlersuche, sondern eher darum, ob das Produkt gut zu gebrauchen ist. Wie fällt die Benutzererfahrung aus, ist die Software sicher, schnell, angenehm in der Anwendung usw.? Anders gesagt, nicht-funktionale Tests geben die Antwort auf die Frage: Erfüllt die Software die Erwartungen des Endbenutzers?

Arten von nicht-funktionalen Tests

Da nicht-funktionales Testing ein breites Spektrum von Themen abdecken kann, gibt es auch unterschiedliche Arten von nicht-funktionalen Tests. Darunter zählen:

  • Performance-/Load Tests. Die Software wird unter Last getestet, wobei geprüft wird, ob die Leistung der Software innerhalb bestimmter Normen oder Grenzen bleibt. 
  • Stress Tests. Hierbei wird eine höhere (extreme) Belastung der Anwendung simuliert, um zu sehen, wie die Software darauf reagiert und welchen Grenzen möglich sind. Bei Performance Tests wird es mit der maximal erforderlichen Last getestet, bei Stress Tests werden die Lasten getestet, die die Maximallast überschreiten, wobei auch geprüft wird, was ggf. passieren kann.
  • Failover Tests. Eine sichere Software hat in der Regel Backup-Systeme, die eingeschaltet werden, wenn ein Fehler auftritt oder das System überlastet wird. Failover-Tests dienen dazu, die Funktion dieser Systeme und die Wiederherstellung der Basisanwendung nach ihrem Ausfall zu überprüfen.
  • Soak Tests. Hierbei wird die Software über einen längeren Zeitraum mit einem gewissen stabilen Arbeitsaufwand getestet. Wie verhält sich das System in der Praxis bei langfristiger und intensiver Nutzung? Kann es damit gut umgehen?
  • Security Tests. Was passiert mit der Software, wenn externe Faktoren versuchen, diese zu überwältigen? Wie gut ist die Sicherheit und wie reagiert die Software während und nach einem potenziellen Angriff?
  • Usability Tests. Wie einfach ist die Software zu bedienen? Wie werden bestimmte Bereiche der Anwendung gehandhabt, die unübersichtlich sind? Dies betrifft hauptsächlich den UI-Test.

Nicht-funktionale und funktionale Tests

Bei der Erstellung von Anforderungen und Spezifikationen werden nicht-funktionale Tests oftmals vergessen. Der Fokus liegt in der Regel auf der Beschreibung der funktionalen Anforderungen, eine sehr große Rolle spielt dabei,was in bestimmten Fällen von der Software generell erwartet wird. Die nicht-funktionalen Tests werden fälschlicherweise als "schwieriger zu beschreiben oder zu ermitteln" betrachtet.

Während sich funktionale Tests auf den Vergleich der vordefinierten Funktionen einer Anwendung mit dem Endergebnis konzentrieren, sorgen nicht-funktionale Tests für die Integrität dergesamten Anwendung. Funktionale Tests können häufig manuell durchgeführt werden, während nicht-funktionale Tests oft simuliert werden müssen.

Nicht-funktionale Tests auslagern?

Ist es also möglich, die Durchführung von nicht-funktionalen Tests auszulagern? Im Gegenteil zu funktionalen Tests, wobei der Aufwand für die Vermittlung des Know-hows über Anforderungen und erwartete Funktionen relativ groß ist, kann man diese Regel bei nicht-funktionalen Tests eigentlich umgehen. Hierbei ist es sehr wichtig anzugeben (und ggf. zu untersuchen), was die Endbenutzer eigentlich von der Anwendung erwarten und welche Störungen vermieden werden sollten, um eine angenehme Verwendung der Software zu gewährleisten. Erfahrene Testingenieure können hier einen wichtigen Beitrag zur Vorbereitung und Durchführung verschiedener Tests leisten. Fachleute können dank dem Einsatz moderner Tools bestimmte Bereiche und möglich auftretende Probleme abdecken, die man selbst weder simulieren noch wiedergeben kann.

Agiles Testen. Nicht-funktionale Tests müssen von Anfang an in der Agile-Entwicklungsmethodik eingegliedert werden und dürfen nicht erst gegen Ende der Entwicklungsiteration ausgeführt werden. Gerade durch einen rechtzeitigen Durchlauf bestimmter nicht-funktionaler Tests kann man etwaige Mängel zu einem späteren Zeitpunkt kurzer Hand beheben. Das spart Zeit, Geld, Frustrationen und unzufriedene Endbenutzer.

  • Minimaler Aufwand zur Übertragung von Know-how
  • Integration in Ihr agile Entwicklungsteam
  • Transparente Kostenstruktur
  • Mängelbeseitigung noch in der Entwicklungsphase

Egor Gucinsky - QA manager

Qualitätssicherung und Testing sind bei der Einstufung nicht-funktionaler Eigenschaften von Software unverzichtbar.

Wichtige Aspekte bei der allgemeinen Beurteilung der Alltagstauglichkeit eines Systems können durch einen erfahrenen Testmanager oder Leiter QA noch in der Phase der Anforderungsbeschreibung berücksichtigt werden. Wichtig dabei sind in erster Instanz die Definierung der Details zur:

  • allgemeinen Benutzbarkeit
  • Sicherheit mit Bezug auf unerlaubten Zugriff
  • Verlust von Kundendaten

Viele nicht-funktionale Anforderungen wie z.B. ‚Benutzbarkeit‘ sind nur schwer quantitativ zu beschreiben, da der genaue Rahmen noch nicht festgelegt wurde und die Anforderungsdefinition eigentlich mehr Wert auf die funktionale Beschreibung legt.

Wir unterstützen unsere Kunden dabei, die wichtigsten KPI's für Ihre Software zu ermitteln und gehen gemeinsam den Weg von der Definition bis hin zur Ausführung.

Siehe die Entwicklung von Technosoft

1977 Heute
1998
Projektmanagementsoftware
1983
Markenregistrierung Technosoft
1984
Start der Entwicklung CAD Software
2000
Übernahme der Tätigkeiten von Brunel und Niederlassung in Deventer
2007
Technosoft Deutschland
2009
Technosoft Moldawien
2015
Technosoft Rumänien
1993
Von DOS zur Windows-Plattform
2001
Start Verkauf AxisVM Software
2014
Einführung 3Muri Erdbebensoftware + erste KOMO Zertifizierung
2013
Start Business Unit Qualitätssicherung & Testing
2011
Übergang zu Eurocodes
2012
Start von Nearshoring unter dem Markennamen In-shore
2006
Technosoft von Brunel verkauft durch ein Management Buy Out
2016
Integrationsstart de Internationalen belegschaft
2017
Zusammenfügung aller Aktivitäten unter dem Namen Technosoft
2018
Technosoft aktiv in 6 Europäische Länder