SMS Doğrulama Testi: QA Ekipleri İçin Adım Adım Rehber
Kayıt ve giriş akışlarındaki OTP adımını gerçek numaralarla nasıl test edeceğinizi; kontrol listesi, uç durumlar, API ile otomasyon ve çalışan gizliliği başlıklarıyla anlatıyoruz.
İçindekiler
- Neden gerçek numaralarla test etmelisiniz?
- SMS doğrulama testi için kontrol listesi
- Mutlaka denemeniz gereken uç durumlar
- Süresi dolmuş kod
- Yeniden gönderme
- Yanlış kod
- Farklı ülkeler ve numara biçimleri
- Hız sınırı
- Kodun hiç gelmemesi
- Testleri API ile otomatikleştirme
- Test verisini ve çalışan gizliliğini koruyun
- Sonuç
Kayıt, giriş veya şifre sıfırlama gibi akışlarda tek kullanımlık kodla (OTP) doğrulama yapan her uygulama, bu adımın gerçek koşullarda düzgün çalıştığından emin olmak zorundadır. Kapsamlı bir SMS doğrulama testi, yalnızca kodun gelip gelmediğini değil; süresi dolmuş kodları, yeniden gönderme limitlerini ve hatalı girişleri de kontrol eder. Bu yazıda QA ekipleri ve geliştiriciler için pratik bir test planı, dikkat edilmesi gereken uç durumlar ve süreci otomatikleştirmenin yollarını ele alıyoruz.
Neden gerçek numaralarla test etmelisiniz?
Geliştirme ortamında SMS sağlayıcısını taklit eden sahte (mock) servisler hızlı geri bildirim sağlar, ancak gerçek dünyadaki her şeyi yansıtmaz. Operatör gecikmeleri, farklı ülke kodları, numara biçimlendirme farkları ve mesaj içeriğinin cihazda nasıl göründüğü ancak gerçek bir numarayla doğrulanabilir. Bir SMS doğrulama testini staging ortamında ve canlıya çıkış öncesinde gerçek numarayla yapmak, kullanıcıların karşılaşacağı sorunları önceden yakalamanızı sağlar.
Bu noktada ekip üyelerinin kişisel telefonlarını kullanmak hem pratik değildir hem de gizlilik açısından risklidir. Ayrıca ekipten ayrılan bir çalışanın numarasına bağlı kalan test hesapları zamanla erişilemez hale gelebilir. Geçici sanal numaralar, test verisini kişisel verilerden ayırmanın temiz bir yoludur. Konuya yabancıysanız sanal numara nedir yazımıza göz atabilirsiniz.
SMS doğrulama testi için kontrol listesi
Aşağıdaki liste, çoğu OTP akışı için temel bir test planı olarak kullanılabilir:
- Numara giriş alanı ülke kodunu ve farklı biçimleri (boşluklu, başında sıfır olan vb.) doğru işliyor mu?
- SMS makul bir süre içinde ulaşıyor mu ve içerik anlaşılır mı?
- Kod doğru girildiğinde akış bir sonraki adıma sorunsuz geçiyor mu?
- Kodun uzunluğu, formatı ve geçerlilik süresi dokümante edilen değerlerle tutarlı mı?
- Başarılı doğrulamadan sonra aynı kod tekrar kullanılamıyor mu?
- Hata mesajları kullanıcıyı yönlendiriyor ama sistem hakkında gereksiz bilgi vermiyor mu?
- Analitik araçlarında ve loglarda telefon numarası ile kodlar maskeleniyor mu?
- Kod giriş alanı kopyala-yapıştır ve cihazın otomatik kod doldurma özelliğiyle uyumlu çalışıyor mu?
Mutlaka denemeniz gereken uç durumlar
Süresi dolmuş kod
Kodu geçerlilik süresi dolduktan sonra girin. Sistem kodu reddetmeli ve kullanıcıya yeni kod isteme seçeneğini net biçimde sunmalıdır.
Yeniden gönderme
"Kodu tekrar gönder" butonuna art arda basın. Bekleme süresi uygulanıyor mu, yeni kod gönderildiğinde eskisi geçersiz oluyor mu, kontrol edin.
Yanlış kod
Birkaç kez hatalı kod girin. Deneme sınırı aşıldığında oturum geçici olarak kilitleniyor mu ve bu durum kullanıcıya anlaşılır biçimde bildiriliyor mu?
Farklı ülkeler ve numara biçimleri
Uygulamanız birden fazla ülkede kullanılıyorsa testleri tek bir ülke koduyla sınırlamayın. Farklı ülke kodlarında numara doğrulama kurallarının, SMS şablonunun ve karakter kodlamasının doğru çalıştığını kontrol edin. Özellikle Türkçe karakter içeren mesajların bazı cihazlarda bozuk görünmediğinden emin olun.
Hız sınırı
Aynı numaraya kısa sürede çok sayıda kod isteği gönderildiğinde sistemin sınır koyduğunu doğrulayın. Bu, hem SMS maliyetlerini hem de kötüye kullanım riskini azaltan önemli bir güvenlik kontrolüdür.
Kodun hiç gelmemesi
Kullanıcının kodu alamadığı senaryoda uygulamanızın ne yaptığını test edin: alternatif doğrulama yolu, destek bağlantısı veya anlaşılır bir yönlendirme var mı? Kullanıcı tarafındaki yaygın nedenler için SMS onay kodu gelmiyor yazımıza bakabilirsiniz.
Testleri API ile otomatikleştirme
Manuel testler başlangıç için yeterlidir, ancak regresyon testlerinde her sürümde aynı adımları elle tekrarlamak verimsizdir. OnaySIM, profilinizden alabileceğiniz kişisel bir API anahtarı sunar ve API'si yaygın SMS aktivasyon API'leriyle uyumludur. Tipik bir otomatik test şöyle ilerler:
- Test başlangıcında bakiye kontrol edilir.
- İlgili servis ve ülke için numara alınır.
- Test otomasyonu numarayı uygulamanın kayıt ekranına girer.
- Kod gelene kadar makul aralıklarla durum sorgulanır.
- Gelen kod uygulamaya girilir ve sonuç doğrulanır.
- Sipariş tamamlanır; kod gelmezse iptal edilir.
OnaySIM'de bir numara yaklaşık 20 dakika ayrılır; bu süre içinde kod gelmezse sipariş iptal edilir ve ücret bakiyenize iade edilir. Test zaman aşımlarınızı bu pencereye göre ayarlayın. Ayrıntılar için API dokümantasyonu sayfasını inceleyebilir, API erişimini profilinizdeki IP beyaz listesiyle yalnızca CI sunucularınıza açabilirsiniz.
Her test çalıştırmasının sonucunu, kodun ulaşma süresini ve iptal edilen siparişleri kayıt altına almak da faydalıdır. Böylece zamanla hangi senaryoların kararsız olduğunu görebilir, SMS gecikmesinden kaynaklanan başarısızlıkları uygulamanızdaki gerçek hatalardan ayırt edebilirsiniz.
Test verisini ve çalışan gizliliğini koruyun
- Test hesaplarını ayırın: Test için açılan hesapları bir isimlendirme kuralıyla işaretleyin ve üretim verisiyle karıştırmayın.
- Kişisel numara kullanmayın: Çalışanların kişisel numaralarının test veritabanlarına, loglara veya ekran görüntülerine girmesini engelleyin. Bu konuda telefon numarası gizliliği yazımız ek fikir verebilir.
- Kalıcı hesapları sanal numaraya bağlamayın: Sanal numaralar geçicidir; uzun süre erişmeniz gereken ortak hesaplarda kalıcı bir kurumsal numara ve ek kurtarma yöntemleri kullanın.
- Kurallara uyun: Test sırasında etkileşime girdiğiniz tüm servislerin kullanım koşullarına uyun; test altyapısını toplu hesap açma aracı olarak kullanmayın.
Sonuç
Planlı bir SMS doğrulama testi, kullanıcılarınızın kayıt ve giriş sırasında yaşayabileceği sorunları canlıya çıkmadan yakalamanızı sağlar. Kontrol listesini ve uç durumları test planınıza ekleyin, tekrarlayan senaryoları API ile otomatikleştirin ve ekip üyelerinin kişisel numaralarını süreçten uzak tutun. Başlamak için ücretsiz kayıt olabilir, ardından numara al sayfasından ilk testinizi yapabilirsiniz.


