1 – Dokümantasyon Testi
Aslında test, yazılım geliştirme sürecinden önce başlar. Testçiler, tasarımda görünmeyen gezinme çizelgeleri, ekran düzenleri ve diğer gereksinimleri alır. Bu gereksinimler, eksiksizlik ve tutarsızlık açısından analiz edilir. Gereksinimlerdeki çelişkiler, geliştirme başlamadan önce çözülmesi gerekmektedir.
Gereksinimler (Spesifikasyon, PRD), Test Planı, Test Durumları, İzlenebilirlik Matrisi gibi eserler bu aşamada oluşturulur ve analiz edilir.
2- Fonksiyonel Test
Fonksiyonel testin, tanımlanan gereksinimlere göre çalıştığından emin olmak amaçlanır. Basit bir ifadeyle, uygulamanın genellikle şartnamede açıklanan veya iş süreçlerinin mantığına karşılık gelen beklenen işlevleri yerine getirip getirmediğini kontrol ediyoruz. Mobil uygulamanızın işlevsel testini sağlarken aşağıdaki önemli faktörlere dikkat etmek gerekir;
İş işlevselliği ile tanımlanan uygulama türü (sosyal ağlar, bankacılık, eğitim, yemek siparişi ve teslimatı, biletler, oyun endüstrisi vb.),
Hedef kitle (şirketler, kullanıcılar, eğitim ortamı vb.),
Dağıtım kanalları (doğrudan teslimat, Google Play, App Store vb.),
Mobil uygulama işlevselliğini test etmek için geçilmesi gereken ana doğrulamaları İşlevsellik Testi sayfasından ulaşabilirsiniz.
3- Kullanılabilirlik Testi
Kullanılabilirlik testi, uygulamanın kullanım kolaylığını sağlamayı amaçlar, kabul edilen standartlara uygun sezgisel bir arayüz oluşturur. Hızlı ve kullanımı kolay uygulamalar oluşturmak için yapılır. Uygulamaların değerlendirilmesi için 3 ana temel kriter mevcuttur; Memnuniyet, Yeterlik, Verimlilik.
Mobil uygulama kullanılabilirliğini test etmek için basit kontrol listesini ele alırsak,
Butonların normal boyutta olduğundan ve ekranın bir alanına yerleştirildiğinden emin olma,
Uygulamanın gerektiğinde çoklu görev modunda çalıştığını doğrulama,
Önemli uygulama modüllerinin navigasyonunu kontrol etme,
Uygulama ortamında simgelerin ve resimlerin doğal görünmesini sağlama,
Aynı işlevi gören düğmelerin renginin aynı olduğunu doğrulama,
Metinler mobil uygulama üzerinde basit, açık ve kullanıcı tarafından görülebilir olmalıdır. Kısa cümleler ve paragraflar tercih edilmelidir.
En uygun yazı tipi boyutunu tanımlama,
Yakınlaştırma ve Uzaklaştırma sisteminin doğru çalışmasını sağlama,
Bağlam menülerinin aşırı yüklenilmediğini doğrulama,
Uygulamanın herhangi bir durum tarafından sonlandırılabileceğinden ve aynı durumda çalışmaya devam ettiğinden emin olma,
Uygulama bileşenlerinin kullanıcının eylemleriyle senkronize edildiğinden emin olma,
Kullanıcının yanlış butona basması durumunda işlemi iade edebileceğini veya iptal edebileceğini doğrulama,
Elemanın tepki hızının yeterince yüksek olduğunu doğrulama…
Mobil uygulama kullanılabilirliğini test etmek için önemli uyglulamaları arasında, Loop11, Reflector ve User Zoom gelmektedir.
4– Arayüz Testi
Uygulamanın grafik kullanıcı arayüzü hakkında sonuçlara varmak ve arayüzle ilgili emin olmak adına Kullanıcı Arayüzü (UI) testi yapılır.
Mobil uygulama kullanıcı arayüzünü test etmek için gerekli bazı doğrulamaları ele alalım;
UI standartlarına uygunluğu sağlamak,
Uygulamanızın kullanıcı arayüzünü standart ekran çözünürlükleriyle kontrol etmek: 640 × 480, 800 × 600, 1024 × 768, 1280 × 800, 1366 × 768, 1400 × 900, 1680 × 1050,
Farklı cihazlardaki uygulamaların yanıt verme yeteneğini doğrulamak,
Ana tasarım öğesini test etmek; düğmeler, simgeler, renkler, bağlantılar, yazı tipleri, yazı tipi boyutları, düzen, metin kutuları, metin biçimlendirme, etiketler, başlıklar, düğmeler, listeler vb…,
Reklamların uygulama kontrol düğmeleriyle örtüşmediğini doğrulama,
Reklamın erişilebilir bir kapatma düğmesine sahip olduğundan emin olma,
Retina ve retina olmayan ekranlarda çeşitli öğelerin doğru görüntülendiğinden emin olma,
Tüm öğelerin dikey ve yatay sayfa yönlendirmesiyle görüntülendiğini doğrulama.
Mobil uygulama arayüzünü test etmek için faydalı bazı araçlardan birkaçı, FitNesse, iMacros, Coded UI, Jubula, LoadUI uygulamalarıdır.
5- Uyumluluk Testi
Uyumluluk (Konfigürasyon) testi, farklı cihazlarda; boyutları, ekran çözünürlüğü, sürümü, donanımı vb. dikkate alınarak optimum uygulama performansını sağlamak için yapılır.
İşletim Sistemi Yapılandırması,
Tarayıcı Yapılandırması,
Veritabanı Yapılandırması,
Cihaz konfigürasyonu,
Ağ Yapılandırması,
Çapraz platform testi, mobil uygulamayı farklı işletim sistemlerinde test etmeye yardımcı olur.
Çapraz tarayıcı testi, uygulamanın farklı tarayıcı yapılandırmalarında doğru çalışmasını sağlar. Örnek olarak, Mozilla Firefox, Google Chrome, Opera Mini vb. tarayıcıların hepsinde uyumluluk arar.
Veritabanı testi, uygulamanızın farklı veritabanı yapılandırmalarında doğru çalıştığını doğrulamayı amaçlar. Örnek olarak Oracle, DB2, MySql, MSSQL Server, Sybase gibi veritabanları (hangisi kullanılıyorsa) uyumluluğu test eder.
Cihaz Yapılandırma testi için dikkate alınması gereken parametreler;
Cihaz tipi: akıllı telefon, tablet vb.,
Cihaz konfigürasyonu: RAM, işlemci tipi, ekran çözünürlüğü, pil kapasitesi vb.,
Farklı ağ yapılandırmalarında (GSM, TDMA) ve standartlarda (2G, 3G, 4G) doğru çalışmayı sağlamak için ağ yapılandırma testi yapılır.
Mobil uygulama uyumluluğunu test etmek için,
Bir kapsam matrisi oluşturmak (tüm olası konfigürasyonların girildiği tablo),
Yapılandırmalara öncelik verme,
Belirlenen önceliklere göre her bir konfigürasyonu adım adım kontrol etme gibi planlı bir çalışma yapılabilir.
Mobil uygulama performans uyumluluğunu test etmek için bazı faydalı araçlar ise, BrowserStack, CrossBrowserTesting, Litmus, Browsera, Rational Clearcase by IBM, Ghostlab gibi oldukça çeşitli araç seçeceği bulunmaktadır.
6- Performans Testi
Performans testi, amacı farklı kullanım senaryoları ve yükleri altında çalışabilirliği, kararlılığı, kaynak tüketimini ve uygulama kalitesinin diğer özelliklerini belirlemek olan bir dizi test türüdür.
Performans testinin ana amaçları:
Yük testi: Uygulamanın normal kullanıcı yükü gereksinimlerine göre çalıştığından emin olmak için uygulamanın çeşitli istek türlerine yanıt süresinin kontrol edilmesi.
Stres testi: Kullanıcının birkaç katı aşan yüklerde uygulamanın çalışma kapasitesinin test edilmesi.
Kararlılık testi: Normal yük altında uzun süreli çalışma için uygulamanın çalışabilirliğini inceleyin.
Hacim testi: Normal süre altında “genişletilmiş” veritabanı koşullarında çalışmayı kontrol edin.
Eşzamanlılık testi: Uygulama ile aynı anda çalışabilecek kullanıcı sayısını belirleyin.
Mobil uygulamanızın performans testi için gerekli doğrulamalar;
Uygulamanın farklı ağ koşulları altında aynı şekilde çalışıp çalışmadığını belirleme,
Uygulama performansını azaltan çeşitli uygulama ve altyapı darboğazlarını bulma,
Uygulamanın planlanan yük hacimleriyle başa çıkma yeteneğini değerlendirme,
Uygulamanın yanıt süresinin gereksinimleri karşıladığını doğrulama,
Sert kullanıcı yükü koşulları altında uygulama kararlılığını kontrol etme,
İnternete kalıcı olmayan bir bağlantı koşulları altında çalışıyorsa, uygulamanın performansını sağlama,
Mevcut istemci-sunucu yapılandırmasının en iyi performansı sağladığından emin olma
Mobil uygulama performansını test etmek, Neotys’ye ait NeoLoad, Apteligent (eski adıyla Crittercism), New Relic gibi araçlar kullanılmaktadır.
7- Güvenlik Testi
Güvenlik testi, sistemin güvenliğini kontrol etmenin yanı sıra uygulama korumasına bütünsel bir yaklaşım ve bilgisayar korsanları, virüsler, hassas verilere yetkisiz erişim sağlamayla ilişkili riskleri analiz etmeyi amaçlar.
Mobil uygulama güvenliğini test etmek için geçmeniz gerekli bazı doğrulamalara değinirek belirtelim;
Uygulamanın kullanıcılarının verilerinin (oturum açma bilgileri, şifreler, banka kartı numaraları) otomatik sistemlerin ağ saldırılarından korunduğundan ve seçim yoluyla bulunamadığından emin olma,
Uygulama güvenlik sisteminin güçlü bir parola gerektirdiğini ve saldırganın diğer kullanıcıların parolalarını ele geçirmesine izin vermediğini doğrulama,
Uygulamanın, uygun kimlik doğrulama olmadan hassas içeriğe veya işlevlere erişim vermediğinden emin olma,
Uygulamayı SQL enjeksiyon tipi saldırılara karşı koruma,
Uygulamayı ve ağı DoS Saldırılarından koruma,
Uygulamayı istemcilere yönelik kötü niyetli saldırılara karşı koruma,
Program çalışırken sistemi kötü niyetli uygulamalardan koruma,
Bilgileri yetkisiz kullanıcılardan korumak için oturum yönetimi sağlama,
Dosya önbelleğe almanın olası kötü niyetli sonuçlarını önleme,
Kullanıcı dosyalarını inceleyin ve olası zararlı etkilerini önleme,
Sistem dosyalarının etkileşimini analiz edin, güvenlik açıklarını belirleme ve düzeltme,
Çerezlerin olası kötü niyetli eylemlerini önleme.
Mobil uygulama güvenliğini test etmek için kullanılan bazı araçların başında, Retina CS Community, OWASP Zed Attack Proxy, SQL Map, Veracode ve Google Nogotofail gelmektedir.
8- Kurtarma Testi
Kurtarma testi, test edilen uygulamanın yazılım hataları, donanım arızaları veya iletişim sorunlarından kaynaklanan olası arızalara dayanma ve başarılı bir şekilde kurtarma yeteneği açısından doğrular.
Öngörülemeyen kilitlenme senaryolarından sonra uygulamanın etkili bir şekilde kurtarıldığını doğrulama,
Bağlantıda bir kesintiden sonra veri kurtarma sürecini kontrole etme,
Bir sistem hatası ve bir işlem hatasından sonra kurtarmayı test etme,
Uygulamanın bir elektrik kesintisi durumunda (düşük pil, hatalı uygulama kapatma vb.) işlemleri gerçekleştirebildiğini doğrulama, gibi kurtarma doğrulamaları yapılmalıdır.
9- Yerelleştirme Testi
Yerelleştirme testi, kültürel özelliklerine uygun olarak belirli bir hedef kitle için mobil uygulama uyarlamasını test etmeyi sağlar.
Yerelleştirme testi için bazı doğrulamalar,
Uygulama tarafından desteklenen dilleri belirleme,
Çevirinin doğru olduğundan emin olma,
Uygulamanın temasına göre çevirinin doğruluğunu kontrol etme,
Tarih biçimlerini kontrol etme,
Sayılardaki sınırlayıcıları kontrol etme,
Mobil uygulama yerelleştirmesini test etmek için Ubertesters ve eggPlant etkili olabilirler.
10- İlişkili Değişim Testi
Tüm aşamaları geçerek bulunan hataların üzerine yapılan değişiklikler neticesinde yapılan test aşamasıdır.Testin temel hedefleri şu şekildedir;
Ekibin, tespit ettiği tüm hataları başarıyla düzelttiğini doğrulama (Yeniden test etme veya Onay testi), Hataları ilk tespit eden test senaryoları yeniden çalıştırılır ve bu sefer hata olmadan geçilmesi beklenir,
Yeni değişikliklerin yeni hataların ortaya çıkmasına neden olmadığını doğrulama (Gerileme testi),
Regresyon testi sağlayarak, yalnızca tespit edilen hataların olduğu test senaryolarını değil, aynı zamanda uygulamanın tüm işlevlerini kontrol eden test senaryoları da geçilmelidir.
Uygulamanızın değişiklikle ilgili testleri için kullanılan araçlar, Appium, Robotium, Ranorex v.b. uygulamalardır.
11- Beta Testi
Mobil uygulamanın yayın öncesi tam işlevsellik sürümüne sahip olduğunu varsayarsak, programın olanaklarını ve istikrarını gelecekteki kullanıcıları açısından değerlendirmek doğru olacaktır.
Beta testi, programın beta sürümünün hata ayıklama ve kontrol aşamasıdır. Ana amacı, uygulamanın piyasaya son sürümünden önce sonraki ortadan kaldırılması için çalışmalarındaki maksimum hata sayısını belirlemektir. Çoğu uygulamanın beta sürümleri ile mutlaka karşılaşmışsınızdır.
Benzer türdeki uygulamalarla çalışma deneyimi olan kişiler, daha iyisi, uygulamanın önceki sürümüyle beta testçileri rolüne seçilir.
Mobil uygulamanın beta testini yapmadan önce şu faktörlere dikkat edilmelidir;
Bir dizi test katılımcısı, Test süresi, Nakliye, Demografik kapsam, Test maliyetleri. Beta testi için ekstra para harcamanması gerekse de, mobil uygulamasının kalitesi için iyi bir yatırımdır.
Mobil uygulamaların beta testi için bazı popüler platformlar: HockeyApp, Ubertesters, TestFlight.
12- Sertifika Testi
Her uygulama mağazası için bir yükleme dosyasını (.apk) düzenlemek için belirli kurallar ve uygulama tasarımı için kurallar vardır. Sertifika testi, uygulamanın Google Play, App Store ve Windows Phone gibi en popüler mağazaların gereksinimlerini karşıladığını doğrular.
Standartlara, lisans anlaşmalarına ve kullanım koşullarına uygunluk için ana kriterleri ele alalım.
Android:
Uygulamanın yükleme dosyası (.apk) Program Politikaları ile eşlemeli,
Uygulama UIG gereksinimlerini karşılamalı,
Uygulamada virüs olmamalı (Android market, uygulamayı virüslere karşı yarı otomatik olarak kontrol eder ve tespit ederse hesabınızı engelleyebilir.),
Uygulamanızın güncellenmiş bir sürümünü yayınlamanız durumunda sürüm kontrol sırasını izlenmelidir.
iOS:
Uygulama, İnsan Arayüzü Yönergelerinin gereksinimlerini karşılamalı,
Uygulamanın benzersiz bir adı olmalı,
Geliştiriciden geri bildirim için bir bağlantı sağlanması gerekli,
Başvuru, belirlenen belirli kategoriye konulmalı,
App Store, uygulamayı uyumluluk açısından test etmeli,
Uygulama, yasaklanmış materyaller, işte öngörülemeyen gecikmeler veya mevcut işlevlerin tekrarı içermemelidir.
E-Ticaret Evreni – 2022