Mobil Uygulama Testi Nedir ?
Mobil uygulama testleri sayesinde farklı test senaryoları oluşturularak kullanıcılara sunulan mobil platform uygulamalarından alınacak verimin arttırılması ve kalite gereksinimlerinin karşılanması hedeflenir.
Manuel veya otomatize gerçekleştirilen mobil uygulama testleri, ihtiyaç doğrultusunda aşağıdaki farklı değişkenler dikkate alınarak gerçekleştirilir.
Mobil Uygulama Testlerinde Dikkat Edilmesi Gereken Noktalar Nelerdir?
Mobil uygulamaların kullanımı her geçen gün artmaktadır.Günümüzde mobil cihazlarda artık bir bilgisayar görevi görebildiği için web üzerinden yapılan işlemlerin neredeyse tamamı mobil uygulamalardan da yapılabiliyor.Ürünlerde kullanılan fonksiyonlar arttıkça mobil testlerde önceliklendirmede önem kazanmaktadır.
Önce geliştirme kontrol edilmeli sonra geliştirmeye göre test senaryoları netleştirilmelidir.Mesela bir mobil uygulamaya üye olmak için e-posta , şifre ,isim , soyisim gibi alanları doldurmamız gerekmektedir.Bu alanlar için şöyle caseler oluşturulmalıdır:doğru mail ,yanlış mail, şifreye uymayan karakterler ,yanlış gsm numarası ile üye olma gibi senaryolar denenir.
Testler farklı cihazlarda(IOS/Android/Huawei/Emülatör.), farklı versiyonlarda (Android 12.0.0 / IOS 16.5.3 vs.) yapılmalıdır.IOS ve Android cihazların farklı sürümleri ve farklı cihazları kullanılmalıdır. Büyük- küçük ekran, eski- yeni cihaz sürümleri şeklinde ayrıştırılarak test edilmelidir. Eski sürümlere destek verilmiyorsa bu özellik de kontrol edilmelidir.Elimizde yeterli test cihazları yok ise device farmlar satın alınıp farklı cihazlar, farklı versiyonlarda testleri manuel gerçekleştirebilirsiniz.Mobil testler için Samsung Remote Test Lab ,AWS Device Farm,Perfecto, gibi device farmlar çok sayıda cihaz desteği sağlıyor. Böylece hem birçok farklı versiyon , ekran ve işletim sisteminde testler manuel olarak yürütülebiliyor hem de bizi her yeni çıkan mobil cihazı alma derdinden kurtarıyor.Bu sayede hem maddi ve hem zaman yönetiminde fayda sağlamış oluyor.
Uygulamada tüm bağlantılar kapalıyken açılarak kontrol edilmelidir.Mesela bir banka uygulamasında cihazın bluetoothu açık iken crash aldığı görülebilir.Bir başka örnek verecek olursak uygulama arka plana alındığında ve tekrar uygulamaya gelindiğinde uygulamada crash oluşabilir.Mobil süreçlerde bu tarz durumlarda göz önünde bulundurulmalıdır.Önce fonksiyonel testler yapılır daha sonrasında yeni geliştirmeden etkilenen bir yer varsa monkey test sayesinde bunlar tespit edilir.Monkey testte hiçbir kural yoktur; bu teknik önceden tanımlanmış herhangi bir test senaryosunu veya stratejiyi izlemez ve bu nedenle test uzmanının ruh hali ve içgüdüsü üzerinde çalışır.Örnek bir senaryodan bahsedecek olursak bir butona birden fazla kez tıkladığında ,bir butondan başka bir butona ya da ekrana tıklayınca uygulamanın crash alması gibi senaryolar örnek verilebilir.
Uygulamanın açık olmasına rağmen işlem yapılmaması ihtimalinde göstereceği davranış kontrol edilmelidir. Şayet bir finans uygulaması test ediliyorsa uygulamanın logout olması beklenir. Bu bir güvenlik testi niteliği taşır.Ayrıca başka bir örnek verecek olursak uygulamaya başka bir cihazdan giriş sağlandığında bir önceki cihazdan otomatik çıkış yapması da bir güvenlik testi örneğidir.
Bir alışveriş sitesinin ödeme ekranı test ediliyorsa dijital cüzdanların desteklendiğinin kontrolü yapılmalıdır.
Cihaz sağa ve sola çevrilerek uygulamanın rotate özelliği kontrol edilmesi gereklidir.
Test edilen uygulamanın sosyal ağ, navigasyon ve paylaşım yapma gibi seçeneklere izin verip vermediği kontrol edilmelidir.
Klavye testi yapılırken veri gerekliliği göz önüne alınarak rakam ya da harf özelliğine göre kullanım filtrelenmelidir. Örneğin rakam yazılması gereken alanlarda klavyede sadece rakam kullandırılıyor olmalıdır. Rakam girişi yapılması gereken alanlara alfabeden yazılamıyor olması gerekir.
Çıkan yeni geliştirmenin bir önceki versiyonu bozmadığı test edilmelidir. Eklenen özelliğin bir önceki versiyonda herhangi bir alanı bozmadığı test edilmelidir.
Test Case Nedir Nasıl Yazılır?
Test, bir programın davranışını statik ve dinamik yöntemlerle, bir küme içinden seçilerek ve test durumlarını (test caseleri) kullanarak, beklenen davranışa uyup uymadığını tespit etme işlemidir.
Yazılım test süreçlerinin temeli olan test senaryosu hazırlamak ve test caselerini işletmek, hem yazılımın kalitesini artırmaktadır hem de önceden çıkabilecek hataların önüne geçmeyi amaçlamaktadır. Test sayesinde yazılımın, hem fonksiyonel hem de fonksiyonel olmayan gereksinimlerin, kalite seviyesini belirlemek mümkündür.
Doğru şekilde tasarlanmış ve başarıyla tamamlanmış bir test, bir yazılımdaki genel risk algısının düşmesini sağlar. Buda production ortamına daha az hatalı hatta hatasız ürün sunmak demektir. Test caseler ihtiyaca göre hazırlanan, input ve output parametrelerine göre beklenen sonucu kontrol etmeye yarayan (steps) adımlardır.
Test senaryosu nedir?
Test senaryosu, test gerekliliklerinin, fonksiyonelitiye göre üst seviye bir sınıflandırılmasıdır. Bu dokümantasyonda test edilecek fonksiyonların senaryolarını dokümante etmeniz beklenir ve çok detaylı yazılmazlar.
Kafanızda daha iyi canlandırmanız adına biraz daha açmak gerekirse;test edilecek bir modülünüz var, bu modülün fonksiyonlarını test etmek için belirlediğiniz kriterlerin dokümantasyonudur.
Test durumu (Test Case) nedir?
Test durumu, başarılı ve başarısız yöntemlerle koşulabilecek test senaryosu prosedürleridir. Detaylandıracak olursak; bir test senaryosu sonunda başarılı bir işlem gerçekleşmesini bekliyorsanız başarılı bir test durumunuz olur. Tam tersi olarak, test senaryosu sonunda başarısız bir işlem bekliyorsanız negatif bir test durumunuz olur. Tabii bu noktada, pozitif test durumları başarılı, negatif test durumları başarısızdır yargısı oluşmamalıdır. Negatif test durumlarınızın sonunda negatifi yakalamalısınız , pozitif test durumlarınızda ise pozitifi yakalamalısınız. Eğer test sonuçlarınızda elinizdeki sonuçlar eşleşiyorsa, testinizi başarılı ilan edebilirsiniz.
Test Case Nasıl Yazılır?
Test senaryolarında olması gereken alanlar:
Test Case ID
Test Scenario (Test Senaryosu )
Pre-Condition(Ön Koşullar)
Test Steps(Test Adımları)
Test Data (Test verileri)
Expected Result (Beklenen sonuçlar)
1. Test Case ID
Bu alan bir test senaryosunu benzersiz bir şekilde tanımlar.
2. Test Scenario (Test Senaryosu )
Bu alan test senaryosunun hedefini açıklar.
3. Pre-Condition(Ön Koşullar)
Bu alan, test adımları yürütülmeden önce izlenmesi gereken koşulları veya adımları belirtir.
4. Test Steps(Test Adımları)
Bu alanda, test senaryosunu gerçekleştirmek için tüm adımlar belirtilir.
5. Test Data (Test verileri)
Eylem sırasında ekranda yer alan inputlara veri girişi yapabilmesi için kullanılacak test verisi yazılmalıdır. Oturum açma ekranında sisteme giriş yapabilmesi için kullanıcı adı ve parola bilgisine ihtiyacı vardır.Bu durumda test verisi olarak kullanıcı ve parola belirtilmelidir.
6. Expected Result (Beklenen sonuçlar)
Gerçekleştirilen eylem sonucunda yazılımın vermesini beklediğimiz tepkiyi belirtmeliyiz. Beklenen sonuç yazılırken sadece ilgili test adımında yapılan sonucun kullanıcı gözünden yazılması gerekmektedir. Yine oturum açma ekranı ile ilgili örnek vermek gerekirse kullanıcı ve parola alanlarını boş bırakarak “giriş yap” butonuna basıldığında eylemin sonucunda beklenilen sonuçla karşılaşacaktır.
Yaptığımız açıklamaların pekişmesi için MultiPay uygulamasına ait bir login senaryosu oluşturalım;
Bu login senaryosunda geçerli gsm ve geçersiz e-posta caseleri ele alındı.Bu senaryolar arttırılabilir , geçerli e-posta ile başarılı giriş , geçersiz gsm ile giriş ve e-posta cep telefonu alanı boş bırakılıp giriş senaryoları şeklinde devam ettirilebilir.
Bir sonraki yazımız device farmlar hakkında olacaktır.
Okuduğunuz için teşekkür ederiz.