Dikkate alınması gereken birkaç faktör var. Bu noktaları göstermek için, görevin ne kadar disk alanı kullanabileceği konusunda, kullanıcının belirli bir görev için tanımlanmış bir kota bağlamında yüzde girmesi gereken bir alan örneği kullanacağım. % 0, görevin diske hiçbir şey yazamayacağı anlamına gelir; % 100, görevin tüm disk alanını doldurabileceği anlamına gelir. Aradaki değerler ne anlama geldiklerini ifade eder.
Bir geliştirici olarak, muhtemelen kabul edilebilir değerlerin [0, 1, 2, 3, ⋯ 99, 100] olduğunu ve diğer her şeyin saçma olduğunu düşünüyorsunuz. Kullanıcıların neden bu “aptal” değerleri girdiğini görelim.
Yazım hataları
%^
Kullanıcı 56 değerini giriyordu, ancak Shiftbunları girerken yanlışlıkla basıldı (örneğin, Fransızca klavyede, Shiftrakam girmek için basmanız gerekir ve kullanıcı sürekli bir Fransızca klavyeyle bir QWERTY arasında geçiş yapıyordu).
Aynı şekilde, ondan önce veya sonra veya arasında bir şey olan bir sayı alabilirsiniz:
56q
Burada, kullanıcı muhtemelen rakamları giriyordu, ardından bir sonraki alana geçmek için bir sekme takip ediyordu. Basmak yerine ⇆ , kullanıcı komşu tuşa basar.
Yanlış anlamalar ve yanlış yorumlar
Boş bir giriş muhtemelen en yaygın olanıdır. Kullanıcı, alanın isteğe bağlı olduğunu veya bu alana ne koyacağımızı bilmiyordu.
56.5
Kullanıcı kayan nokta değerlerinin kabul edilebilir olduğunu düşünüyordu. Kullanıcı yanlış, uygulama niye kibarca sadece tamsayı değerlerinin kabul edildiğini veya ilk gereksinimlerin yanlış olduğunu açıklamalı ve kullanıcıların kayan nokta değerlerini girmelerine izin vermek mantıklı olmalı.
none
Kullanıcı, görevin alabileceği alan sorulduğunda uygulamanın bir sayı beklediğini yanlış anladı. Bu, zayıf bir kullanıcı arayüzü olduğunu gösteriyor olabilir. Örneğin, kullanıcıya “Görev ne kadar disk alanı kullanmalı?” Sorusunu bu tür girişlere davet ederken, izleyen yüzde işaretli bir alan bu tür girişlerden daha az alır, çünkü “hiçbiri” yapmaz çok mantıklı.
150
Kullanıcı, bu durumda yüzdesinin ne demek olduğunu yanlış anladı. Belki kullanıcı, görevin şu anda kullanılan alanın% 150'sini alabileceğini söylemek istedi, yani 2 TB'lık bir diskte 100 GB kullanılıyorsa, görev 150 GB kullanabilir. Yine, daha iyi bir kullanıcı arayüzü yardımcı olabilir. Örneğin, yüzde işareti eklenmiş çıplak bir giriş alanına sahip olmak yerine, şunlara sahip olabilir:
[____] % of disk space (2 TB)
Kullanıcı yazmaya başladığında, şu anda olması gereken anında metni değiştirir:
[5___] % of disk space (102.4 GB of 2 TB)
Beyanlar
Kayan noktalı büyük sayılar veya sayılar farklı şekilde gösterilebilir. Örneğin, bir numara 1.234,56 böyle yazılmış olabilir: 1,234.56
. Kültüre bağlı olarak, aynı sayının metin gösterimi farklı olacaktır. Fransız olarak, aynı sayıda böyle yazılır: 1 234,56
. Bakın, beklemeyeceğiniz bir virgül ve bir boşluk.
Belirli bir yerel ayar kullanarak her zaman belirli bir format beklemek er ya da geç başınızı belaya sokar, çünkü farklı ülkelerden gelen kullanıcılar sayı, tarih ve saat gibi farklı yazma alışkanlıklarına sahip olurlar.
İnsanlara karşı bilgisayar
Twenty-four
Sıradan insanlar, bilgisayarlarla aynı şekilde düşünmezler. “Yirmi dört” , bir PC'nin size söyleyeceğinden bağımsız olarak gerçek bir sayıdır.
Her ne kadar (1) çoğu sistem bu tür bir giriş ile başa çıkmasa ve (2) hemen hemen her kullanıcı tam harflerle yazılmış bir sayı girmeyi düşünmese de, bu girişin aptalca olduğu anlamına gelmez. In Yüz 3 Hakkında Alan Cooper böyle girişlerini işleyen bir nokta insanlara uyum sağlamak ve ideal, arayüz doğru bu girdileri işlemek gerekir bilgisayarların yetersizlik göstergesidir yapar.
Alan Cooper'ın kitabına eklemem gereken tek şey, birçok durumda, sayıların yanlışlıkla rakamlarla yazılmasıdır . Bilgisayarların kullanıcılarının hata yapmasını beklemesi (ve doğru yazan bir kullanıcıya tolerans göstermemesi) can sıkıcıdır.
Unicode
5𝟨
Unicode kendi sürprizlerini saklı tutar: aynı görünebilecek karakterler aynı değildir. İkna olmadınız mı? "5𝟨" === "56"
Tarayıcınızın geliştirici araçlarına kopyalayıp yapıştırın ve tuşuna basın Enter.
Bu dizginin eşit olmama nedeni, Unicode karakterinin karakterle 𝟨
aynı olmamasıdır 6
. Bu, öfkeli bir müşterinin arayacağı, uygulamanızın çalışmadığını söyleyen, okunaklı görünen bir girişin ekran görüntüsünü sağlayan ve girişinizin geçersiz olduğunu iddia eden uygulamanızın ortaya çıkacağı bir durum yaratacaktır.
Neden biri rakam gibi görünen bir Unicode karakterine girsin ki, neden sorarsın? Kullanıcının istemeden girmesini beklememize rağmen, farklı bir kaynaktan kopyala yapıştır işlemi buna neden olabilir ve kullanıcının aslında Unicode karakteri içermeyen bir dize gibi bir kopya yapıştırması yaptığı bir durum vardı. ekranda belirir.
Sonuç
Temel numara giriş alanı için aldığınız davalar bunlar. Tarih veya adres gibi daha karmaşık formlar için neler yapabileceğinizi hayal etmenize izin veririm.
Cevabım, "saçma" girdisi olarak adlandırdığınız şeye odaklanır. Test etmek, mutlu yolları kontrol etmekle ilgili değildir; Ayrıca, kötü niyetli bir kullanıcı kasıtlı olarak garip şeylere girdiğinde, kırmaya çalışırken uygulamanın kırılmadığını kontrol etmekle de ilgilidir. Bunun anlamı, yüzde istemeniz durumunda, kullanıcının 1.000.000 karakter içeren bir dize veya negatif sayı veya bir bobby tabloyla yanıt vermesi durumunda ne olacağını test etmeniz gerektiği anlamına gelir .