Es sind mehrere Faktoren zu berücksichtigen. Um diese Punkte zu veranschaulichen, werde ich ein Beispiel für ein Feld verwenden, in dem ein Benutzer einen Prozentsatz in einem Kontext eines Kontingents eingeben sollte, das für eine bestimmte Aufgabe in Bezug auf den für die Aufgabe verfügbaren Speicherplatz definiert wurde. 0% bedeutet, dass der Task nichts auf die Festplatte schreiben kann. 100% bedeutet, dass der Task den gesamten Speicherplatz ausfüllen kann. Werte dazwischen bedeuten, was sie bedeuten.
Als Entwickler denken Sie wahrscheinlich, dass die akzeptablen Werte [0, 1, 2, 3, ⋯ 99, 100] sind, und alles andere ist albern. Mal sehen, warum Benutzer immer noch diese "albernen" Werte eingeben.
Tippfehler
%^
Der Benutzer hat den Wert 56 Shifteingegeben, bei der Eingabe jedoch versehentlich gedrückt (z. B. weil Sie auf der französischen Tastatur drücken müssen Shift, um Ziffern einzugeben, und der Benutzer ständig zwischen einer französischen Tastatur und einer QWERTZ umgeschaltet hat).
Auf die gleiche Weise können Sie eine Zahl mit etwas danach oder davor oder dazwischen erhalten:
56q
Hier hat der Benutzer wahrscheinlich die Ziffern eingegeben, gefolgt von einem Tab, um zum nächsten Feld zu gelangen. Anstatt zu drücken ⇆ , drückte der Benutzer die Nachbartaste.
Missverständnisse und Fehlinterpretationen
Eine leere Eingabe ist wahrscheinlich die üblichste. Der Benutzer stellte sich vor, dass das Feld optional ist, oder wusste nicht, was in dieses Feld eingefügt werden soll.
56.5
Der Benutzer hielt Gleitkommawerte für akzeptabel. Entweder ist der Benutzer falsch, und die Anwendung sollte höflich erklären, warum nur ganzzahlige Werte akzeptiert werden, oder die ursprünglichen Anforderungen waren falsch, und es ist sinnvoll, den Benutzern die Eingabe von Gleitkommawerten zu ermöglichen.
none
Der Benutzer hat falsch verstanden, dass die App eine Zahl erwartete, als er nach dem Platz gefragt wurde, den die Aufgabe einnehmen könnte. Dies könnte auf eine schlechte Benutzeroberfläche hindeuten. Wenn Sie beispielsweise den Benutzer fragen, wie viel Speicherplatz die Aufgabe belegen soll, werden Sie zu dieser Art von Eingaben aufgefordert, während ein Feld mit einem nachfolgenden Prozentzeichen weniger Eingaben erhält, da „none%“ keine Eingaben macht viel Sinn.
150
Der Benutzer hat falsch verstanden, was der Prozentsatz in diesem Fall bedeutet. Möglicherweise wollte der Benutzer mitteilen, dass die Aufgabe 150% des aktuell verwendeten Speicherplatzes beanspruchen kann. Wenn also auf einer Festplatte mit 2 TB 100 GB verwendet werden, kann die Aufgabe 150 GB beanspruchen. Auch hier könnte eine bessere Benutzeroberfläche helfen. Anstatt ein leeres Eingabefeld mit einem angehängten Prozentzeichen zu haben, könnte man zum Beispiel Folgendes haben:
[____] % of disk space (2 TB)
Wenn der Benutzer mit der Eingabe beginnt, ändert sich der Text im Handumdrehen wie folgt:
[5___] % of disk space (102.4 GB of 2 TB)
Vertretungen
Große Zahlen oder Zahlen mit Fließkomma können unterschiedlich dargestellt werden. Zum Beispiel kann eine Zahl 1234.56 könnte so geschrieben werden: 1,234.56
. Je nach Kultur würde sich die Textdarstellung der gleichen Nummer unterscheiden. In Französisch, wird die gleiche Zahl wie folgt geschrieben werden: 1 234,56
. Sehen Sie, ein Komma, wo Sie kein erwarten würden, und ein Leerzeichen.
Wenn Sie immer ein bestimmtes Format für ein bestimmtes Gebietsschema erwarten, bekommen Sie früher oder später Probleme, da Benutzer aus verschiedenen Ländern unterschiedliche Angewohnheiten haben, Zahlen, Datum und Uhrzeit usw. zu schreiben.
Menschen gegen Computer
Twenty-four
Gewöhnliche Menschen denken anders als Computer. "Vierundzwanzig" ist eine tatsächliche Zahl, unabhängig davon, was ein PC Ihnen sagen würde.
Obwohl (1) die meisten Systeme diese Art von Eingabe nicht verarbeiten und (2) sich fast jeder Benutzer nicht vorstellen würde, eine Zahl in Vollbuchstaben einzugeben, bedeutet dies nicht, dass eine solche Eingabe albern ist. In About Face 3 weist Alan Cooper darauf hin, dass das Nichtbearbeiten solcher Eingaben auf die Unfähigkeit von Computern hinweist, sich an Menschen anzupassen. Idealerweise sollte die Benutzeroberfläche in der Lage sein, diese Eingaben korrekt zu verarbeiten.
Das einzige, was ich zu Alan Coopers Buch hinzufügen muss, ist, dass in vielen Fällen Zahlen versehentlich in Ziffern geschrieben werden . Die Tatsache, dass Computer von ihren Benutzern erwarten, dass sie Fehler machen (und einen Benutzer, der richtig schreibt, nicht tolerieren), ist ärgerlich.
Unicode
5𝟨
Unicode behält sich seine eigenen Überraschungen vor: Charaktere, die gleich aussehen könnten, sind nicht gleich. Nicht überzeugt? Kopieren Sie sie "5𝟨" === "56"
in die Entwicklertools Ihres Browsers und drücken Sie Enter.
Der Grund dafür, dass diese Zeichenfolgen nicht gleich sind, ist, dass das Unicode-Zeichen 𝟨
nicht mit dem Zeichen übereinstimmt 6
. Dies würde eine Situation schaffen, in der ein verärgerter Kunde anruft und mitteilt, dass Ihre App nicht funktioniert, einen Screenshot einer Eingabe liefert, die legitim aussieht, und Ihre App behauptet, dass die Eingabe ungültig ist.
Warum sollte jemand ein Unicode-Zeichen eingeben, das wie eine Ziffer aussieht? Während ich nicht erwarten würde, dass ein Benutzer ungewollt eins eingibt, könnte dies durch Kopieren und Einfügen aus einer anderen Quelle verursacht werden, und ich hatte einen Fall, in dem der Benutzer tatsächlich ein solches Kopieren und Einfügen einer Zeichenfolge ausführte, die ein Unicode-Zeichen enthielt, das nicht der Fall war erscheint auf dem Bildschirm.
Fazit
Das sind die Fälle, die Sie für ein elementares Zahleneingabefeld erhalten. Ich würde Sie sich vorstellen lassen, was Sie für komplexere Formulare wie ein Datum oder eine Adresse tun müssen.
Meine Antwort konzentriert sich auf das, was Sie als "dumme" Eingabe bezeichnet haben. Beim Testen geht es nicht darum, die glücklichen Pfade zu überprüfen. Es geht auch darum zu überprüfen, ob Ihre App nicht kaputt geht, wenn ein böswilliger Benutzer absichtlich komische Dinge eingibt und versucht, sie zu kaputt zu machen. Wenn Sie also nach einem Prozentsatz fragen, müssen Sie auch testen, was passiert, wenn der Benutzer mit einer Zeichenfolge mit 1.000.000 Zeichen oder einer negativen Zahl oder einer Bobby-Tabelle antwortet .