Beruflich Dokumente
Kultur Dokumente
Die funktionalen und nicht-funktionalen Anforderungen sind die Haupt- oder nicht-funktionalen
Funktionen, die ein Programm erfüllen muss, und sie dienen auch dazu, den Kunden über die
Funktionalitäten zu informieren, die das Programm erfüllen wird. Diese Funktionen sind hier im
SEO-System aufgeführt.
Funktionale Anforderungen
Verbesserung der Positionierung gegenüber konkurrierenden Unternehmen
Aktualisierung der Website
Generierung von Website-Schlüsselwörtern
Mögliche URLs generieren
Analyse des technischen Inhalts der Website (Vorhandensein von Tags und JavaScript oder
Flash).
Berechnung der Absprungrate zur Ermittlung der Website-Popularität
Berechnung der Anzahl der Schlüsselwörter pro Seite
Nicht-funktionale Anforderungen
Das System muss über eine benutzerfreundliche Schnittstelle (Interface) verfügen.
Die Ziele des Unternehmens kennen
Wartung der Website (Software)
Analyse der Ladezeit der Hauptseiten (Performance)
Verwendung einer Datenbank zur Unterstützung der eingegebenen Informationen (Software)
FUNKTIONSANFORDERUNGEN
Name Datenbank
Typ Anforderung
Priorität Hoch
Beschreibung Jedes Mal, wenn ein neues Konto erstellt wird, müssen die
Daten jedes Benutzers in der Datenbank (Sean in der
Speichereinheit des PCs oder Servers) gespeichert werden.
Eingang Vom Benutzer eingegebene Daten
Prozess Benutzerdaten speichern
Ausgänge Registrierung der Daten
Tabelle 1: Funktionale Anforderungen - Datenbank
NICHT-FUNKTIONALE ANFORDERUNGEN
Funktionale Anforderungen
Funktionale Anforderungen sind Aussagen über die Dienste, die das System bereitstellen wird, und
zwar in der Art und Weise, wie es auf bestimmte Eingaben reagieren wird. Wenn wir von Eingaben
sprechen, meinen wir nicht unbedingt nur Benutzereingaben. Dabei kann es sich um Interaktionen
mit anderen Systemen, automatische Reaktionen oder vordefinierte Prozesse handeln. In einigen
Fällen wird in den funktionalen Anforderungen von Systemen auch ausdrücklich angegeben, was
das System nicht tun darf. Es ist wichtig, daran zu denken, dass eine FR auch eine negative Aussage
sein kann. Solange das Ergebnis seines Verhaltens eine funktionale Antwort an den Benutzer oder
an ein anderes System ist, ist es korrekt. Außerdem ist es nicht nur richtig, sondern auch notwendig,
sie zu definieren. Und das bringt uns zum nächsten Punkt.
Viele Probleme im Software-Engineering (gemeint ist der Entwicklungsprozess selbst) beginnen mit
ungenauen Anforderungsspezifikationen. Es ist ganz natürlich, dass ein Business Analyst (oder wer
auch immer die Systemanforderungen definiert und dokumentiert) einige Annahmen als
allgemeines Wissen oder bestimmte Verhaltensweisen als selbstverständlich voraussetzt. Aber
bedenken Sie, dass es für einen Systementwickler auch ganz natürlich ist, eine mehrdeutige
Anforderung so einfach wie möglich zu interpretieren, um ihre Umsetzung zu vereinfachen. Ein
deutliches Beispiel für diese Probleme findet sich in den gemeinsamen Funktionen im
Zusammenhang mit der Benutzererfahrung:
Benutzergeschichte: Als Benutzer möchte ich, dass die Anwendung einfach zu bedienen ist, so
dass ich nicht viel Zeit aufwenden muss, um die Bedienung zu erlernen.
Was bedeutet es, "benutzerfreundlich" zu sein?
Einfach für wen?
Wie wird sie gemessen?
Wie kann man das verfolgen?
Wie wird es getestet? Nach welchen Kriterien?
Dies ist nicht gegen die Entwickler gerichtet, sondern eher gegen das menschliche Verhalten. Wenn
Sie etwas annehmen, nehmen andere vielleicht etwas anderes an, und das ist in Ordnung. Der
Analyst ist jedoch für die Dokumentation verantwortlich, so dass es seine Aufgabe sein sollte, dafür
zu sorgen, dass es keine Verständnislücken oder Grauzonen gibt. Aus diesem Grund sind Pre-
Planning- und Storytelling-Sitzungen sehr wichtig, um sicherzustellen, dass das gesamte Team
hinsichtlich der Anforderungen, des Geschäftsziels und der Art und Weise ihrer Umsetzung auf
derselben Seite steht. Um auf das vorherige Beispiel zurückzukommen, könnten wir die
Anforderung in mehrere neue Anforderungen aufteilen, die einfacher zu verstehen, zu entwickeln,
zu testen, zu verfolgen und zu liefern sind. Eine davon könnte sein:
Benutzergeschichte: Als Benutzer möchte ich, dass bei der ersten Anmeldung eine Anleitung
angezeigt wird, damit ich sehen kann, wofür die einzelnen Optionen auf dem Startbildschirm
verwendet werden.
Sie wissen, was Sie zeigen müssen: ein Tutorial.
Sie wissen, was Sie ankreuzen müssen, was jede Option auf dem Startbildschirm erklärt.
Sie wissen, wann es angezeigt werden muss, nämlich bei der ersten Anmeldung des Benutzers
(Sie können später erklären, ob das Tutorial übersprungen werden kann, zu anderen Zeiten
angezeigt werden kann, aus einem bestimmten Bereich des Menüs aufgerufen werden kann
usw.).
Um auf FR zurückzukommen: Grundsätzlich sollte die Spezifikation der funktionalen
Anforderungen an ein System vollständig und konsistent sein. Vollständig bedeutet, dass alle vom
Benutzer und/oder einem anderen System angeforderten Dienste definiert sind. Konsistenz
bedeutet, dass die Anforderungen keine widersprüchliche Definition haben.
Nicht-funktionale Anforderungen
Es handelt sich um Anforderungen, die sich nicht direkt auf die vom System bereitgestellten
spezifischen Funktionen (Benutzereigenschaften) beziehen, sondern auf die Eigenschaften des
Systems: Leistung, Sicherheit, Verfügbarkeit.Einfacher ausgedrückt, es geht nicht darum, "was" das
System tut, sondern "wie" es es tut. Alternativ dazu definieren sie Systembeschränkungen wie die
Kapazität von Eingabe-/Ausgabegeräten und die Darstellung von Daten, die in der
Systemschnittstelle verwendet werden.
Nicht-funktionale Anforderungen ergeben sich aus den Bedürfnissen der Benutzer, aufgrund von
Haushaltszwängen, Organisationsrichtlinien, der Notwendigkeit der Interoperabilität mit anderen
Software- oder Hardwaresystemen oder externen Faktoren wie Sicherheitsvorschriften,
Datenschutzrichtlinien usw.
Es gibt verschiedene Arten von Anforderungen, die je nach ihrer Bedeutung klassifiziert werden.
Anforderungen an das Produkt. Sie spezifizieren das Verhalten des Produkts, z. B.
Leistungsanforderungen an die Ausführungsgeschwindigkeit des Systems und die benötigte
Speichermenge, Zuverlässigkeitsanforderungen, die die Fehlerquote des Systems als akzeptabel
festlegen, sowie Anforderungen an die Übertragbarkeit und die Benutzerfreundlichkeit.
Organisatorische Anforderungen. Sie leiten sich aus den bestehenden Richtlinien und Verfahren
der Kundenorganisation und der Organisation des Entwicklers ab: Standards für die zu
verwendenden Prozesse, Implementierungsanforderungen wie Programmiersprachen oder die
zu verwendende Entwurfsmethode und Lieferanforderungen, die festlegen, wann das Produkt
und seine Dokumentation geliefert werden.
Externer Bedarf. Sie ergeben sich aus Faktoren, die außerhalb des Systems und seines
Entwicklungsprozesses liegen. Dazu gehören Interoperabilitätsanforderungen, die festlegen, wie
das System mit anderen Systemen in der Organisation interagiert, rechtliche Anforderungen,
die befolgt werden müssen, um sicherzustellen, dass das System gesetzeskonform arbeitet, und
ethische Anforderungen. Letztere werden dem System auferlegt, um sicherzustellen, dass es
vom Benutzer akzeptiert wird.
In der Praxis ist es manchmal schwierig, solche Anforderungen quantitativ zu spezifizieren. Es ist
den Kunden nicht immer möglich, ihre Ziele in quantitative Anforderungen zu übersetzen. Für
einige von ihnen, wie z. B. die Instandhaltung, ist es möglicherweise nicht möglich, überhaupt
Metriken zu verwenden; die Kosten für eine objektive Überprüfung nichtfunktionaler quantitativer
Anforderungen können sehr hoch sein. Und deshalb ist es auch sehr wichtig, sie sehr sorgfältig zu
dokumentieren. Ein Analyst kann mit Unterstützung des Entwicklungsteams und des Testteams
messbare Kriterien definieren, um zu wissen, wann eine Anforderung erfolgreich als "erledigt"
markiert werden kann.
Wie bei den funktionalen Anforderungen ist eine Verallgemeinerung nie eine gute Sache, aber in
diesem Fall ist sie sogar noch wichtiger. Warum? Denn das Ergebnis der Entwicklung nicht-
funktionaler Anforderungen ist für den Endnutzer möglicherweise nicht eindeutig.
Schlechtes Beispiel für RNF: Das System muss sicher sein.
Wie sicher ist "sicher"?
In welchen Situationen?
Gibt es eine Norm, die erfüllt werden muss?
In welchen Abschnitten?
Was soll geschehen, wenn das System nicht so schnell wie erforderlich funktioniert?
In solchen Fällen kann die Umsetzung einer nicht definierten nichtfunktionalen Anforderung
problematisch, kostspielig und zeitaufwändig sein. Auch weil ein NFR in den meisten Fällen nicht
etwas ist, an dem das Team isoliert für einen bestimmten Zeitraum arbeitet. Die RNF kann während
des gesamten Projekts (und sogar vor Beginn oder nach der Lieferung, in der Wartungsphase)
behandelt werden. Auch hier könnte das obige Beispiel in mehrere Anforderungen unterteilt
werden, die sich leichter verfolgen und umsetzen lassen.
Gutes Beispiel für RNF: Die gesamte externe Kommunikation zwischen den Datenservern, der
Anwendung und dem System-Client muss mit dem RSA-Algorithmus verschlüsselt werden.
Sie wissen, welche Art von Kommunikation verschlüsselt werden muss.
Sie wissen, welchen Algorithmus Sie verwenden und validieren müssen.
In jedem Fall sollten sowohl RFs als auch NFRs immer dokumentiert werden, auch wenn es
schwierig ist, die Beziehung zwischen ihnen in den Artefakten herzustellen. Dies wird dem Team
helfen, Hin- und Herdiskussionen zu reduzieren, Zeit zu sparen und vor allem unnötige Probleme
mit dem Kunden zu vermeiden.
Funktionale Anforderungen: Beispiele
Die funktionalen Anforderungen eines Systems sind diejenigen, die eine Aktivität beschreiben, die
das System ausführen muss, mit anderen Worten, das bestimmte Verhalten oder die Funktion
eines Systems oder einer Software, wenn bestimmte Bedingungen erfüllt sind.
Dazu gehören in der Regel Funktionen, die von bestimmten Bildschirmen ausgeführt werden,
Beschreibungen der vom System auszuführenden Arbeitsabläufe und andere geschäftliche,
Compliance-, Sicherheits- oder andere Anforderungen.
In diesem Artikel stellen wir Beispiele für funktionale Anforderungen vor, die sich auf
Geschäftsfunktionen, auf die in die Systembildschirme einzugebenden Daten (grafische
Schnittstelle), auf die Zugangskontrolle oder auf die Erstellung von Berichten, die von den
Aufsichtsbehörden verlangt werden, beziehen, sowie auf andere.
Die Lösung validiert automatisch den Kunden, der einer Bestellung zugeordnet ist, mit dem
Kontaktmanagementsystem.
In das Feld Betrag können nur numerische Werte mit zwei Dezimalstellen eingegeben
werden.
Das Feld für das Transaktionsdatum akzeptiert nur Daten, die vor dem heutigen Tag liegen
(aktueller Tag).
In das Namensfeld können nur alphabetische Zeichen eingegeben werden.
In das Adressfeld können alphabetische, numerische und Sonderzeichen eingegeben
werden.
Das Länderfeld wird aus einer Auswahlliste bestehen. Das mit einer Adresse verbundene
Land muss zuvor im System registriert worden sein.
Das Feld Staat, Provinz oder Departement enthält eine Auswahlliste. Den Nutzern werden
nur die Staaten angezeigt, die mit dem zuvor ausgewählten Land verbunden sind. Das
auszuwählende Departement oder die Provinz muss in der entsprechenden Funktionalität
registriert sein.
Das Feld Positionsmaterial auf dem Bestellanforderungsbild ist eine Vorauswahlliste, die nur
die im Materialstamm registrierten Materialien anzeigt.
In das Feld für das Buchungsdatum können nur Daten eingegeben werden, die einer im
System offenen Buchungsperiode entsprechen.
Der Zahlungsregistrierungsbildschirm kann die Daten auf dem Bildschirm auf dem Drucker
ausgeben.
Der Name, die Gesamtgröße, der verfügbare Speicherplatz und das Format eines an den
USB-Anschluss des Computers angeschlossenen USB-Sticks oder Flash-Laufwerks werden
angezeigt.
Das System muss den Zugang kontrollieren und nur befugten Benutzern Zugang gewähren.
Die Datenbank wird mit Prüfpfaden eingerichtet.
Bei Tabellenkalkulationen werden die Daten durch elektronische Signaturen gesichert.
Das System ermöglicht die Erstellung und Herausgabe des XX-Regulierungsberichts
gemäß den in den geltenden Vorschriften und Gesetzen festgelegten Anforderungen.
Die Verkaufs- und Einkaufsbücher werden in dem von den zuständigen Steuerbehörden
festgelegten Format ausgestellt.
Beispiele für Sicherheitsanforderungen
Das System muss den Zugang kontrollieren und nur befugten Benutzern Zugang gewähren. Die
Benutzer müssen sich mit einem Benutzernamen und einem Passwort am System anmelden.
Das System sendet eine Warnung an den Systemadministrator, wenn eines der folgenden
Ereignisse eintritt: Registrierung eines neuen Kontos, Anmeldung eines Kunden, 2 oder mehr
Fehlversuche bei der Eingabe des Benutzerpassworts und Änderung des Benutzerpassworts.
Mitglieder der Benutzergruppe Analytiker können Anfragen eingeben, aber nicht
genehmigen oder löschen.
Mitglieder der Benutzergruppe Manager können Bewerbungen eingeben und genehmigen,
aber nicht löschen.
Mitglieder der Benutzergruppe "Administrator" können keine Bewerbungen eingeben oder
genehmigen, aber sie können sie löschen.
Der Austausch von Daten über das Internet durch die Software erfolgt über das
verschlüsselte https-Protokoll.
Funktionale Anforderungen sollten so formuliert werden, dass der Leser die Funktionsweise des
Systems auch ohne besondere technische Kenntnisse verstehen kann.
Wichtig ist, dass ein Standard für die Formulierung von Anforderungen festgelegt wird und dass
dieser in allen Dokumenten eingehalten wird.
Ebenso müssen funktionale Anforderungen nicht unbedingt in Form von schriftlichen
Beschreibungen definiert werden, sondern können auch in Form von Diagrammen oder
Prozessabläufen festgelegt werden, die in die funktionale Spezifikation der zu entwickelnden
Software oder des Systems aufgenommen werden.
Um funktionale Softwareanforderungen zu ermitteln und zu dokumentieren, werden zwei Schritte
unternommen: Zunächst werdenTechniken zur Anforderungserhebung angewandt, wie z. B.
Beobachtung, Befragung, Beobachtung und andere.
Das Ergebnis der Anforderungserhebung wird im Software-Anforderungsdokument dokumentiert.
Im Folgenden stellen wir Ihnen eine Vorlage zur Verfügung:
>Software-Anforderungsdokument
Wir präsentieren den dritten Teil der Serie über nicht-funktionale Anforderungen mit einigen
Beispielen, die Sie bei der Definition dieser Anforderungen unterstützen.
Sie sind oft schwer zu definieren, da ihre Konformität oder Nichtkonformität frei interpretiert werden
kann, so dass es ratsam ist, ihre Definition mit messbaren Akzeptanzkriterien zu versehen.
Zu den vorgestellten Beispielen für nicht-funktionale Anforderungen gehören solche, die sich auf
Attribute wie Effizienz, Sicherheit, Zuverlässigkeit und Benutzerfreundlichkeit des Systems
beziehen. Wir stellen auch Beispiele für nicht-funktionale organisatorische und externe
Anforderungen vor.
Wenn Sie weitere Informationen zum Konzept der nicht-funktionalen Anforderungen suchen,
empfehlen wir Ihnen den ersten Teil dieser SerieNicht-funktionale Anforderungen: Warum sie
wichtig sind
Auf einer ersten Ebene können nicht-funktionale Anforderungen in Produkt-, Organisations- und
externe Anforderungen unterteilt werden, wie wir Ihnen im Artikel über dieKlassifizierung von
nicht-funktionalen Anforderungen gezeigt haben.
Wenn die Phasen der Anforderungserhebung und -analyse abgeschlossen sind, können die nicht-
funktionalen Anforderungen in einem Software-Anforderungsdokument festgehalten werden.
Nachstehend finden Sie eine Vorlage:
Wie wir in dem Artikel über dieKlassifizierung nichtfunktionaler Anforderungen gezeigt haben,
können sie auf einer ersten Ebene in Produkt-, Organisations- und externe Anforderungen
unterteilt werden.
Im Folgenden sind Beispiele für nichtfunktionale Anforderungen aufgeführt, die nach diesen
verschiedenen Bereichen geordnet sind.
Wirkungsgrad
Das System muss in der Lage sein, N Transaktionen pro Sekunde zu verarbeiten. Dies wird
mit Hilfe desSoapUI-Tools gemessen, das für das Testen von Webservice-Software eingesetzt
wird.
Alle Systemfunktionen und Geschäftstransaktionen müssen in weniger als 5 Sekunden auf
den Benutzer reagieren.
Das System muss in der Lage sein, mit bis zu 100.000 Nutzern mit gleichzeitigen Sitzungen
zu arbeiten.
Geänderte Daten in der Datenbank müssen für alle zugreifenden Benutzer in weniger als 2
Sekunden aktualisiert werden.
Industrielle Sicherheit
Das System darf nicht weiter betrieben werden, wenn die Außentemperatur unter 4 Grad
Celsius liegt.
Das System darf im Falle eines Brandes nicht weiter betrieben werden. (z.B.. Ein Aufzug).
Benutzerfreundlichkeit
Die Einarbeitungszeit für einen Benutzer sollte weniger als 4 Stunden betragen.
Die Benutzerfehlerquote muss weniger als 1 % der gesamten im System ausgeführten
Transaktionen betragen.
Das System muss über gut strukturierte Benutzerhandbücher verfügen.
Das System muss Fehlermeldungen ausgeben, die informativ und auf den Endbenutzer
ausgerichtet sind.
Das System muss über ein Online-Hilfemodul verfügen.
Die Webanwendung muss"responsiv" gestaltet sein, damit sie auf mehreren PCs, Tablet-
PCs und Smartphones korrekt angezeigt wird.
Das System muss über gut gestaltete grafische Schnittstellen verfügen.
Verlässlichkeit
Das System muss zu 99,99 % der Zeit verfügbar sein, wenn ein Benutzer versucht, darauf
zuzugreifen.
Die Zeit für das Starten oder Wiedereinschalten des Systems darf 5 Minuten nicht
überschreiten.
Die Ausfallrate des Systems darf 0,5 % der Gesamtbetriebszeit nicht überschreiten.
Die durchschnittliche Störungsdauer darf 15 Minuten nicht überschreiten.
Die Ausfallwahrscheinlichkeit des Systems darf 0,05 nicht überschreiten.
Nicht-funktionale Anforderungen werden in der Regel allgemein und ohne Bezug auf ein Modul,
eine Transaktion oder ein Merkmal des Systems formuliert, da sie sonst zufunktionalen
Anforderungen werden würden.
Zum Beispiel:
Das System muss sicherstellen, dass die Daten vor unbefugtem Zugriff geschützt sind
Das System muss ein Verfahren zur Benutzerautorisierung umfassen, bei dem sich die Benutzer
mit einem Benutzernamen und einem Passwort identifizieren müssen. Nur die auf diese Weise
autorisierten Benutzer können auf die Daten im System zugreifen.
Nicht-funktionale Merkmale eines Systems oder einer Anwendung werden oft auf variablen Skalen
quantifiziert, wie z. B. die Antwortzeiten bei Leistungstests.
Das ISTQB weist darauf hin, dass die Unterlassung von nichtfunktionalen Tests zu potenziell
katastrophalen Qualitätsproblemen nach der Produktionsfreigabe führen kann. Diese Art von Tests
ist jedoch kostspielig, so dass die Risiken vor der Bindung von Projektressourcen bewertet werden
sollten.
In diesem Artikel stellen wir Ihnen 10 Arten von nicht-funktionalen Tests vor, insbesondere
Usability-, Sicherheits-, Last-, Stress-, Volume-, Konfigurations-, Performance-, Skalierbarkeits-,
Recovery- und Wartbarkeitstests.
Im Folgenden finden Sie eine nicht erschöpfende Liste von 10 Arten von nicht-funktionalen Tests,
die Sie in IhrenSoftwaretestplan aufnehmen können.
1. - Belastungstests
Bei Lasttests werden die Anforderungen an eine Softwareanwendung simuliert und das Ergebnis
gemessen. Diese Tests werden sowohl bei erwarteter Nachfrage als auch bei Überlastung
(Nachfragespitzen) durchgeführt.
Zur Durchführung dieser Tests ist die Verwendung vonLastsimulations-Tools wieSoapUI
erforderlich.
Lasttests helfen bei der Ermittlung der maximalen Betriebskapazität einer Anwendung sowie bei
der Identifizierung von Engpässen und Ursachen für eine mögliche Leistungsverschlechterung.
Wenn die Testlast die erwarteten Parameter übersteigt, werden diese Tests als Stresstests
bezeichnet.
2. - Stresstest
Dabei handelt es sich um Belastungstests, die bei Anforderungen durchgeführt werden, die über
der Betriebskapazität liegen, oft bis zur Bruchgrenze.
DieseArt von Softwaretests dient dazu, die Stabilität eines Systems oder einer Anwendung zu
ermitteln, wobei besonderes Augenmerk auf die Verfügbarkeit und die Fehlerbehandlung bei
Überlast gelegt wird.
Wie bei den Lasttests werdenTools benötigt, um die Nachfrage zu simulieren. SoapUI ist ein
solches Tool, mit dem Sie Anfragen für Webanwendungsserver simulieren können.
Durch Stresstests lassen sich u. a. Schwachstellen und Grenzen für die sichere Nutzung der
Anwendung ermitteln, die Entwurfsspezifikationen bestätigen und die Art und Weise, in der das
System versagt, feststellen.
3. - Volumenprüfungen
Beim Volumentest wird die Leistung der Anwendung mit bestimmten Datenmengen überprüft.
Wenn Sie zum Beispiel das Verhalten einer Anwendung mit einer bestimmten Datenbankgröße
sehen wollen, erweitern Sie die Datenbankgröße auf diese Parameter und führen dann Abfragen,
Prozesse oder Funktionalitäten der Anwendung aus, um ihre Leistung zu messen.
Der Testgegenstand ist nicht auf Datenbanken beschränkt, sondern kann beispielsweise auch
dazu verwendet werden, die Leistung einer Schnittstelle zu messen, wenn die Schnittstellendatei
(eine Textdatei, xml usw.) eine bestimmte Größe überschreitet.
Ziel ist es, festzustellen, ob die Anwendung bei einem bestimmten Datenvolumen normal
funktioniert, wo die Grenzen des Datenvolumens für den Betrieb liegen, und Fehlerbedingungen zu
ermitteln.
4. - Konfigurationstests
Anstatt die Leistung einer Anwendung aus der Lastperspektive zu testen, werden
Konfigurationstests verwendet, um zu überprüfen, welche Auswirkungen bestimmte
Konfigurationsänderungen auf die Leistung haben.
Ein typisches Beispiel für diese Situation ist das Experimentieren mit verschiedenen
Lastausgleichsmethoden, um zu sehen, wie die Anwendung auf ähnliche Überlastungen reagiert.
Ein weiteres Beispiel ist die Überprüfung, ob das System in verschiedenen Versionen oder
Konfigurationen von Hardware- und Software-Umgebungen, wie z. B. verschiedenen Internet-
Browsern, Browser-Versionen usw., ordnungsgemäß funktionieren kann.
5. - Gebrauchstauglichkeitsprüfung
Einfache Erlernbarkeit: Wie einfach ist es für die Benutzer, grundlegende Funktionen bei der
ersten Verwendung der Anwendung auszuführen.
Effizienz:Wie schnell können erfahrene Benutzer ihre Aufgaben erledigen.
Einprägsamkeit: Wie leicht lässt sich die Anwendung einprägen, d. h. kann sich ein
Benutzer, der die Anwendung längere Zeit nicht benutzt hat, an genügend Informationen erinnern,
um sie beim nächsten Mal effektiv zu nutzen, oder muss er von vorn anfangen zu lernen?
Fehler: Wie viele dem Entwurf zurechenbare Fehler der Benutzer macht, wie
schwerwiegend sie sind und wie leicht sie zu beheben sind.
Zufriedenheit: Wie gerne (oder ungern) der Nutzer das System benutzt.
6. - Sicherheitsprüfung
Sie besteht darin, die Sicherheitsattribute oder -merkmale des Systems zu testen, ob es ein
sicheres System ist oder nicht, ob es durchbrochen werden kann, ob es eine Zugangskontrolle
durch Benutzerkonten gibt und ob diese Zugänge durchbrochen werden können.
7. - Ausdauertests
Bei Dauertests wird ein System oder eine Anwendung über einen bestimmten Zeitraum hinweg
einer bestimmten Belastung ausgesetzt, um festzustellen, wie es sich nach längerem Gebrauch
verhält.
Ein Computersystem kann sich in den ersten Stunden normal verhalten, aber nach einiger Zeit
verursachen Probleme wie Speicherlecks häufig Ausfälle.
Diese Fehler in der Softwareentwicklung können im Rahmen normaler Funktionstests nicht erkannt
werden, daher ist es wünschenswert, Stresstests in dieSoftwaretests einzubeziehen.
Bei den Skalierungstests wird die Fähigkeit einer Anwendung zur Skalierung ihrer nichtfunktionalen
Merkmale überprüft, wie z. B. die von ihr unterstützte Last, die Anzahl der Transaktionen, das
Datenvolumen und andere.
Damit die Ergebnisse zuverlässig sind, müssen dieTestumgebungen und ihre Konfiguration
konstant gehalten werden.
9. - Abhilfetests
Wiederherstellungstests werden durchgeführt, um zu überprüfen, wie schnell und wie gut sich eine
Anwendung nach einem Hardware- oder Softwarefehler erholt.
Daher muss bei Wiederherstellungstests der Ausfall erzwungen und dann überprüft werden, ob die
Wiederherstellung ordnungsgemäß erfolgt.
Ziehen Sie beispielsweise bei einer laufenden Anwendung das Netzwerkkabel ab oder
unterbrechen Sie bei einermobilen Anwendung die Verbindung zum Wi-Fi-Netz oder zum
Betreiber und stellen Sie die Verbindung anschließend wieder her.
Sie bestehen im Wesentlichen darin, zu bewerten, wie einfach es ist, ein System oder eine
Anwendung zu warten. Das bedeutet, wie einfach es ist, diese Änderungen zu analysieren, zu
ändern und zu testen.
Um diesen Test durchzuführen, muss die Art und Weise, wie die Anwendung implementiert ist,
nach guten Software-Engineering-Verfahren bewertet werden. Das heißt, dass die empfohlenen
Software-Engineering-Muster befolgt werden und dass keine Anti-Muster versehentlich eingeführt
werden, d. h. dass keineüblichen Programmierfehler gemacht werden.
Nicht-funktionale Produktanforderungen
Er bezieht sich in der Regel auf Grenzen oder Beschränkungen für das Verhalten des Systems
und setzt damit Grenzen und Beschränkungen für die Möglichkeiten der Softwareentwickler
(Softwarearchitekten) und Softwareingenieure.
Einige dieser Anforderungen lassen sich leicht quantifizieren, z. B. Leistung und Zuverlässigkeit,
andere hingegen sind schwieriger, z. B. Benutzerfreundlichkeit und Anpassungsfähigkeit.
Ein nützliches Tool zum Testen der Effizienz eines Systems ist SoapUI, das Last- oder Stresstests
von Webservices ermöglicht. Hier finden Sie einige Artikel zu diesem Thema:
Sie leiten sich aus organisatorischen Richtlinien und Verfahren wie Prozessstandards oder
Implementierungsanforderungen ab.
Einer der Aspekte, die als organisatorischeFunktionsanforderungen dokumentiert werden, ist die
Umgebung, insbesondere dieWartungs- und Verwaltungsverfahren der
Softwareentwicklungsumgebung.
Diese ergeben sich aus dem organisatorischen Umfeld (nicht dem technischen Umfeld), in dem
das System entwickelt wird, und können entweder auf das Produkt (die entwickelte Software) oder
auch auf den Softwareentwicklungsprozess bezogen werden.
Regulatorische Anforderungen:Gesetze und Vorschriften, die festlegen, was das System tun
muss und wie es es tun muss, um den Anforderungen zu entsprechen. Der Schwerpunkt eines
Systems oder einer neuen Funktion kann ausschließlich auf der Einhaltung einer Vorschrift liegen.
Ethische Anforderungen: Anforderungen, die sicherstellen, dass das System für den
Benutzer und die Allgemeinheit akzeptabel ist und den Gepflogenheiten der Gesellschaft
entspricht, in der es eingesetzt wird oder dient.
Gesetzliche Anforderungen:Merkmale, die das System erfüllen muss, um den
gesetzlichen Vorschriften zu entsprechen, z. B. im Bereich der Rechnungslegung
(Rechnungslegungsvorschriften und Finanzstandards), Anforderungen an die Arbeitssicherheit (für
kritische Systeme) und andere Aspekte.
Eine unvollständige oder ungenaue Spezifikation der nichtfunktionalen Anforderungen kann zum
Scheitern Ihres Softwareentwicklungsprojekts führen.
https://www.youtube.com/user/codigofacilito
https://www.youtube.com/channel/UC4CEqh4d3-6RcyyJxhFCMGg
https://marvelapp.com/.