1983 yılında tarihin ilk taşınabilir el telefonunu Motorola markası DynaTAC (Dynamic Adaptive Total Area Coverage) 8000X modeli ile üretmiştir. Telefonun geliştirme aşamaları yaklaşık 15 yıl sürmüştür. Üretilen ilk taşınabilir telefon antenli, tuşlu, kalın ve çok büyük bir bataryaya sahiptir. Dünyada üretilen ikinci cep telefonu modelinin ilk geliştirilen modele göre bataryası ve anteni küçülmüştür. Ayrıca, kapak ve ekran özelliği de gelmiştir. Daha sonra üretilen her yeni model için yeni özellikler eklenmiş ya da var olan özellikler daha da geliştirilmiştir. Zamanla telefon kapağı değişebilme, GPS modülü, MP3 çalabilme, qwerty klavye, bluetooth, kamera özellikli, dokunmatik ekranlı, PDA (Personal Data Assistant ) özellikli cep telefonlar üretilmiştir. Şu an 2020 yılında olduğumuzu düşünürsek, cep telefonları artık yerini akıllı telefonlara bırakmıştır.
Günümüzde akıllı telefonlar bizleri şaşırtacak özelliklere sahip olmayı başarmıştır. Bu özellikler sayesinde akıllı telefonları iletişim dışında birçok alanda kullanıyoruz. Örneğin akıllı telefonlarımızdan oyun konsoluyla oyunlar oynayabiliyor, neredeyse profesyonel bir kamera kadar net fotoğraf/video çekebiliyor, yakınlarımızla görüntülü konuşabiliyor, telefon numarasını bile bilmediğimiz tanıdıklarımıza internetten ulaşabiliyor, her türlü alışverişimizi (kozmetik, kitap, gıda, kırtasiye, giyim, teknoloji, gibi, vb..) fiziki mağazaya gitmeden yapabiliyor, eğitim videoları izleyerek (yemek yapma, örgü örme, resim yapma, matematik dersi, vb..) kurslara gitmeden mobil uygulamalar aracılığı ile öğrenebiliyoruz. 7/24 online yemek siparişi verebiliyor, dil öğrenme uygulamaları farklı diller öğrenebiliyor, banka kuyruklarını beklemeden evimizden internet bankacılığı sayesinde neredeyse tüm işlemlerimizi yapabiliyor, online seyahat/konaklama uygulamalarını kullanarak rezervasyonlarımızı yapabiliyoruz. Artık tüm bilgiler cebimizde. Hal böyle olunca dünyada cep telefonu kullanım sayısı da hızlı bir şekilde artıyor.
Motorola DynaTAC 8000X telefonu
We Are Social’ın yayınladığı Digital 2020 Turkey Raporu’na göre; Dünyada cep telefonu kullananların sayısı 5.19 milyar. Bu rakam dünya nüfusunun %67’sine karşılık geliyor. 2019 yılında +124 milyon kullanıcı cep telefonu edinmiştir. Dünya nüfusunda %2.4 oranında bir artış göstermiştir. Türkiye’de cep telefonları kullananların sayısı ise 77.39 milyon ile nüfusun %92’sine karşılık gelir. 2019 yılına göre +2.6 milyon kullanıcı artmıştır. Türkiye nüfusunda %3.4 oranında bir artış göstermiştir.
Dünyada ve Türkiye’de akıllı telefon kullanımlarındaki sürekli artış, cep telefonu üreten firmalar arasında ciddi boyutlarda rekabet nedeni olmuştur. Bu sebepten, cep telefonu üreten dev firmalar birbirinden farklı boyut, işletim sistemi ve donanıma sahip cep telefonu modelleri üretmeye başlamıştır. Dünyanın ilk cep telefonu 1983 yılında üretilirken, dünyanın ikinci cep telefonu ise 1989 yılında Motorola markası tarafından üretilen MicroTAC 9800X’tir. Günümüzde ise Motorola firmasının yanına ek olarak Samsung, Apple, Huawei, Oppo, Xiaomi, vb. olmak üzere cep telefonu üreten birçok dev marka vardır. Bu markalar her yıl en az bir yeni modelini piyasaya sürüyor.
Günümüzde farklı yazılım ve donanımla geliştirilen çok fazla sayıda akıllı telefonun bulunması mobil uygulama testlerini diğer platform testlerinden ayıran en önemli özelliktir. Test Mühendislerinin aynı test senaryolarını farklı cihazlarda ve farklı yazılım sürümlerinde test etmesi gerekiyor. Çünkü, aynı caseleri farklı cihazlarda test ettiğimizde farklı sonuçlarla karşılaştığımızı görürüz.
Ekran Çözünürlüğü ve Boyutu
Mobil testlerde dikkat etmemiz gereken bir diğer önemli nokta ise cihazların farklı çözünürlüklere sahip olduğunu unutmamızdır. Hatta günümüzde hemen hemen aynı özelliğe sahip telefonların farklı çözünürlüklerde modelleri vardır. Mobil uygulama testlerinde ekran çözünürlük sorunu hemen hemen neredeyse tüm uygulamalarda mutlaka yaşanılan bir problemdir. X cihazını 3.5 inç, Y cihazının da 12 inç olduğunu düşünelim. X ve Y cihazlarında uygulamanın log-in sayfasını manuel test ediyor olalım. Y cihazını elimize aldık ve test ettiğimiz log-in sayfasını açtık. Arayüzünde gördüğümüz butonları, yazıları, başlıkları ve resimleri olması gerektiği gibi yerli yerinde olarak gördük ve testi başarıyla tamamladık. Daha sonra X cihazını elimize aldığımızda yazıların ekrana sığmadığını sağa sola doğru kaydığını görebiliriz. Bu sorunun çözümü yazılım açısından çok fazla efor gerektirmez ve yoğun bir kod değişikliğine gidilmez. Fakat, bu hata ile canlıya çıkan uygulamanın kullanıcı açısından değeri ve önemi kalmaz. Unutmamalıyız ki kullanıcıların ürün hakkındaki düşünceleri çok önemlidir. Çünkü, ürün prestijinin önemli bir kısmını gerçek kullanıcıları sayesinde kazanır.
Cihaz Bataryası
Mobil uygulama testlerinde dikkat etmemiz gereken bir diğer nokta ise bataryanın durumudur. Örneğin, geliştirilen herhangi bir uygulamanın performans testini yapmamız gerekiyor. Batarya seviyesinin %100 dolu olduğu, bitmek üzere olduğu, orta seviyede ve şarj aletine takılı olan durumlar için ayrı ayrı ayrı caseler oluşturmayı unutmamalıyz. Çünkü, batarya seviyesinin azaldığı ve özellikle cep telefonlarının şarj aletine takılı olduğu durumlar için test ettiğimiz ürünün nasıl davrandığı çok önemlidir. Performans testlerimizi gerçekleştirirken özellikle bataryaları farklı doluluk oranına sahip cihazlarda test yapmayı unutmamalıyız.
Mobil Uygulama Testleri ve Farklı İşletim Sistemleri
Bunun yanında, test ettiğimiz tüm uygulamaları farklı işletim sistemlerine sahip cihazlarda mutlaka kontrol etmeliyiz. Diyelim ki bir tetris oyunu geliştirildi ve bu oyunu test etmemiz gerekiyor. Android cihazına oyunumuzu yükledik ve kontrol etmeye başladık. Oyunun en başındaki müzikler, imajlar, level, puanlama gibi öğeler olması gerektiği gibi ve testi başarıyla tamamladık. Aynı caseleri IOS işletim sistemine ait bir cihazda da test ettiğimizde farklı sonuçlarla karşılaşır isek hiç şaşırmamalıyız.
Erişim İzinleri ve Bellek Kullanımı
Ayrıca geliştirilen bazı uygulamaları kullanabilmemiz için cep telefonlarından konum, kamera, rehber ya da galeri gibi bazı alanlara erişim izni vermemiz gerekebilir. Örneğin, navigasyon uygulamasını test etmemiz gerekiyor. Bu uygulama için konum bilgilerimizi uygulama ile paylaşmamız gerekir. Uygulama ile konum bilgilerimizi her zaman paylaşabiliriz, sadece uygulamayı çalıştırdığımızda paylaşabiliriz ya da hiçbir zaman konum bilgilerimizi paylaşmıyor olabiliriz. Oluşturacağımız mobil uygulama testleri senaryolarında tüm durumları göz önünde bulundurmamız gerekmektedir. Çünkü, farklı cihazlarda farklı izin verilen durumlarda, farklı sonuçları gözlemleyebiliriz.
Galerideki resimlerimize photoshop yapabileceğimiz bir uygulama geliştirildiğini düşünelim. Biz de bu uygulamanın testini yapacağız. Öncelikle programımızın çalışabilmesi için kullanıcının galeriye izin vermesini bekleriz. Uygulamamızı kullanan kullanıcıların birçoğu bu yetkiyi uygulamaya verebilir. Ya da sadece programı kullanırken yetki verebilir ya da galeriye hiçkimsenin erişim yetkisini istemediği için erişim iznini vermeyebilir. İşte bu yüzden test mühendisleri bu durumlar için ayrı caseler oluşturmalıdır. Bunun yanında bellek/hafıza durumuna göre de ayrı caseler oluşturabiliriz. Çünkü, farz edelim ki kullanıcı galeriye erişim iznini verdi, ve başarılı bir şekilde resmine photoshop yapabildi. Kullanıcı resmi çok beğendi ve cep telefonuna bu yeni düzenlediği resmi kayıt etmek istiyor ancak, belleği çok dolu ve telefona yeni resim kayıt edebilecek hiçbir alan yok. İşte bu yüzden kullanıcının uygulamaya verdiği izinler ve bellek durumlarına göre ayrı caseler yazmayı unutmamalıyız.
Uygulama Sürümleri
Mobil uygulama testleri koşarken dikkat etmemiz gereken bir diğer önemli konu ise bilgilerin güvenli bir şekilde korunmasıdır. Diyelim ki photoshop benzeri bir uygulamanın testini yapıyoruz. Uygulama henüz yeni geliştirildi ve 1.0.0 sürümü var. Zamanla uygulamaya yeni özelliklerin eklendiğini ve bazı hataların giderildiğini düşünelim. Artık uygulamamız 1.1.0 versiyonuna hazır hale geldi. Kullanıcı yeni sürümünü indirmek/güncellemek istediğinde şu an hali hazırda kullandığı uygulama verilerini asla kaybetmemesi gerekmektedir. Bu noktada kullanıcının yedekleme için uygulamaya izin vermesi gerekir. Test caselerimizi hazırlarken kullanıcının yedekleme için izin verip vermediği durumlarda nasıl davrandığını mutlaka test etmemiz gerekmektedir. Ayrıca kullanıcıların bir kısmı uygulamanın yeni sürümünü hemen güncellemeyebilir. Bu durumları da unutmamamız gerekmektedir.
Mobil Uygulama Testleri için Araçlar ve Cihaz Parkurları
Piyasada farklı çözünürlüklerde, farklı yazılım ve donanımlarda çok fazla model vardır. Yeni cep telefonu modelleri de sürekli üretilmeye devam etmektedir. Firmalarda mobil testler için her yeni çıkan modelleri sürekli satın almak zorunda kalmaktadır. Bu durum, firmalara çok ciddi maddi kayıplara neden olmaktadır. Bu yüzden, gerçek telefon ortamı sağlayabilen platformlar geliştirilmiştir. Gerçek cihaz ile yapılması gereken testleri cihaz parkurları (Device Farm) aracılığı ile tamamlayabiliriz. Cihaz parkurlarında, platform ayırt etmeksizin geliştirilen mobil ve internet uygulamaları sayısız farklı marka ve modeldeki cihazlar üzerinde test edilerek gerekli geliştirmeler tespit edilebilir.
Işıl Özatik
Yazılım Test Mühendisi