Mobil Uygulama Testine Yeni Başlayanlar Kılavuzu

Yayınlanan: 2018-03-20

Diğer tüm yazılımlar gibi, mobil uygulamalar da her şeyin tam olarak amaçlandığı şekilde çalıştığından emin olmak için yayınlanmadan önce kapsamlı bir şekilde test edilmelidir.

Mobil uygulama testi zaten uzun ve zahmetli bir süreç olsa da, yeni el tipi mobil cihazların, işletim sistemi sürümlerinin ve uygulama test araçlarının günlük kullanıma sunulması, mobil uygulama testçilerinin işini her zamankinden daha karmaşık ve zorlu hale getirdi.

Mobil uygulama testinde kariyerine başlamayı planlayan yeni başlayan biriyseniz, bu kılavuz bu konuda her şeyi öğrenmenize yardımcı olacaktır. Mobil Uygulama Testinin gerçekte ne olduğunu anlamaya başlayalım!

Mobil Uygulama Testi Nedir?

Bir mobil uygulamanın başarısını, aldığı toplam indirme sayısı, aldığı olumlu yorumlar ve uygulama mağazasındaki sıralamasıyla belirlediği, rekabetin oldukça yüksek olduğu küresel pazarda, yeni geliştirdiğiniz mobil uygulama kullanıcıları çekmek, etkileşimde bulunmak ve elde tutmak için kusursuz olmalıdır ve bu yalnızca titiz mobil uygulama testleri ile başarılabilir.

What is Mobile App Testing

Mobil uygulama testi, temel olarak, bir mobil uygulamanın genel kalitesini, işlevselliğini, kullanılabilirliğini ve tutarlılığını iyileştirmek ve onu kullanıcılar için mümkün olduğunca kusursuz hale getirmek için bir mobil uygulamada hataları bulma ve düzeltme sürecidir. Mobil uygulama test araçları kullanılarak manuel olarak veya otomatik olarak veya her ikisinin bir kombinasyonu yoluyla gerçekleştirilen mobil uygulama testi, doğru bir şekilde yapılırsa yalnızca kullanıcılar için kusursuz ve tatmin edici bir deneyim sağlamakla kalmaz, aynı zamanda uygulamayı popüler hale getirmede hayati bir rol oynar ve neredeyse hiçbir zaman başarılı olmadı. Kısacası, mobil uygulama testi, her uygulamanın kusursuz, başarılı ve kaliteli olması için gereken şeydir.

Mobil Uygulama Testi için Temel Zorluklar

Mobil uygulama testi, geleneksel masaüstü testinden çok daha karmaşıktır ve bu nedenle hem testçiler hem de geliştiriciler için yepyeni bir dizi zorluk sunar. Aşağıda, bir mobil uygulamanın kalitesini ve performansını iyileştirirken test kullanıcılarının karşılaştığı temel zorluklar listelenmiştir:

Farklı Mobil Uygulama Türleri:

Bir mobil uygulama Native, Web veya Hybrid olabileceğinden başlı başına büyük bir zorluk. Her uygulama türü, hem kurulum süreci hem de işlevsellik açısından birbirinden farklı ve oldukça farklı oluşturulduğundan, tamamen farklı bir şekilde test edilmesi gerekir. Her uygulama türü arasındaki temel fark, mobil uygulama testine bir takım zorluklar getirir.

Çeşitli Mobil Cihazlar:

Mobil uygulama testçilerinin karşılaştığı en büyük zorluklardan biri, bugün piyasada bulunan çok çeşitli mobil cihazlardır. Bunlara akıllı telefonlar, tabletler, e-okuyucular, giyilebilir cihazlar ve yakın gelecekte çıkacak diğer mobil cihazlar dahildir. Farklı ekran boyutlarına, çözünürlüklere, giriş yöntemlerine ve donanım özelliklerine sahip olan bu cihazlar, mobil uygulama test cihazları için tamamen benzersiz bir dizi zorluk sunar.

İşletim Sistemi Çeşitliliği:

Farklı mobil cihazlar, farklı işletim sistemlerini kullanır ve belirli bir işletim sisteminin farklı sürümleri, herhangi bir zamanda farklı cihazlar tarafından kullanılır. Örneğin, Android hala kullanımda olan 8 farklı işletim sistemi sürümüne sahiptir; Öte yandan, Apple cihazlarının %65'i iOS 11 kullanırken, Apple cihazlarının %28'inde iOS 10 yüklü ve %7'si hala iOS'un önceki sürümlerini kullanıyor. Aynı işletim sisteminin farklı sürümlerinde çalışan birden fazla mobil cihazda tek bir uygulamayı test etmek, mobil uygulama testçileri için benzersiz bir zorluk teşkil eder.

OS Diversity

Sayısız Üretici:

Test uzmanlarının üstesinden gelmesi gereken bir diğer büyük zorluk, sürekli artan sayıda mobil cihaz üreticisidir. 2015 yılında 1200'e yakın mobil cihaz üreticisi vardı ve 2018'in başında bu sayı 1600'ün üzerine çıktı. Kuşkusuz bu rakamlar önümüzdeki yıllarda daha da artacaktır. Üreticilerin kendilerini diğerlerinden ayırmak için mobil cihazlarında yaptıkları farklı Donanım ve yazılım değişiklikleri, bir uygulamanın nasıl çalıştığı üzerinde doğrudan bir etkiye sahiptir ve test sürecini daha da karmaşık ve zorlu hale getirir.

Bağlantı Zorlukları:

Farklı mobil ağlar (2G/3G/4G LTE/4G VoLTE ve şimdi 5G), Wi-Fi, Bluetooth, Kızılötesi vb. gibi çeşitli bağlantı seçenekleriyle etkili bir şekilde başa çıkmak, bir asit testinden daha az değildir. Her türlü bağlantı modu için uygulama, mobil ağdaki bir değişiklik, dolaşım, zayıf ağ sinyalleri, ağ kapsamının olmaması, bağlantı hızının düşük olması gibi farklı ağ koşullarında sorunsuz çalışmalıdır. Ancak, bu zorluk büyük olarak sayılmaz. bir çevrimdışı uygulama için.

Sürekli Test:

Günümüzün kıyasıya rekabet piyasasında ayakta kalabilmek için, bir mobil uygulamanın yeni özellikler ve iyileştirmelerle sık sık güncellenmesi gerekiyor. Bu gereksinimi karşılamak için birçok geliştirici, mobil uygulamanın sürekli entegrasyonuna ve dağıtımına yol açan geleneksel Şelale yaklaşımı yerine Çevik Metodolojiyi kullanmayı tercih eder. Sonuç olarak, tüm iyileştirmelerin doğru bir şekilde yapıldığından emin olmak için uygulamanın sürekli olarak test edilmesi gerekir. Bu aynı zamanda mobil uygulama test kullanıcıları için oldukça zorlu bir uygulamadır!

Continuous Testing

Nasıl Test Edileceğini Seçme:

Test uzmanlarının üstesinden gelmesi gereken bir diğer engel de, doğru mobil uygulama test araçlarıyla uygun bir mobil uygulama test yaklaşımının seçilmesidir. Mobil uygulama testi için esas olarak iki yaklaşımın (Manuel ve Otomatik) kullanıldığı yerlerde, diğer yandan, pazar çeşitli otomatik mobil uygulama test araçlarıyla doludur ve doğru test araçlarının seçimini çok kafa karıştırıcı ve sıkıcı bir görev haline getirir. önceden planlanmış bir test stratejisi vardır.

Farklı Mobil Uygulama Testi Türleri

Diğer tüm yazılımlar gibi, bir mobil uygulamanın da birinci sınıf kalite, kullanılabilirlik ve güvenlik sağlamak için titizlikle test edilmesi gerekir. Aynısını başarmak için, mobil uygulama geliştirme sırasında çeşitli test metodolojileri kullanılır. Ne olduklarına ve birbirlerinden nasıl farklı olduklarına bir göz atalım.

İşlevsel Kullanıcı Arayüzü Testi:

En temel test türü olan İşlevsel test, uygulamanın önceden tanımlanmış kullanıcı gereksinimlerine göre kusursuz bir şekilde çalışmasını sağlar. Bu testler genellikle uygulamanın kullanıcı arayüzünün ve çağrı akışının düzgün çalışıp çalışmadığını kontrol etmek için yapılır. Bununla birlikte, İşlevsel testler manuel olarak yapılırsa, mobil cihazlara özgü çeşitli zorluklar nedeniyle genellikle son derece yoğun, karmaşık ve zaman alıcı bir görev olduğu ortaya çıkar.

Kullanılabilirlik testi:

Kullanılabilirlik, herhangi bir mobil uygulamanın ticari başarısını belirlemede hayati bir rol oynadığından, Kullanılabilirlik testi, temel olarak kullanıcı deneyiminin üç temel alanına odaklanır: Verimlilik, Etkililik ve Kullanıcı Memnuniyeti. Bu testler, tüm cihazlarda kullanıcı deneyiminin tutarlılığını sağlamak ve mobil uygulamanın son kullanıcılar için kullanımının kolay olup olmadığını kontrol etmek için yapılır.

Usability Testing

Uyumluluk Testi:

Uygulamanın farklı mobil cihazlarda, ekran boyutlarında, tarayıcılarda, çözünürlüklerde ve işletim sistemi platformlarında ve sürümlerinde iyi işlenip işlenmediğini kontrol etmek için uyumluluk testi yapılır. Örneğin, akıllı telefonda düzgün çalışan bir mobil uygulama, tablette tamamen farklı bir şekilde davranabilir. Bu nedenle uyumluluk testi, bir uygulamanın farklı mobil cihazlarda ve platformlarda işlevselliğini değerlendirir.

Bellek Sızıntısı Testi:

Düşük Seviyeli Kaynak Testi olarak da bilinen Bellek Sızıntısı Testi, uygulamanın kullanıldığı mobil cihazın dahili belleğini ne kadar verimli kullandığını kontrol etmek anlamına gelir. Öncelikle genel bellek kullanımının test edilmesini, belirli bir süre sonra geçici dosyaların otomatik olarak silinmesini ve yerel veritabanının büyüyen sorunlarını içerir. Mobil cihazlar, masaüstü cihazlara kıyasla bellek açısından çok sınırlı olduğundan, bir mobil uygulamanın düzgün çalışmasını sağlamak için bellek sızıntısı testi son derece önemlidir.

Performans testi:

Performans Testinin temel amacı, uygulamanın kötü ağ kapsama alanı, bağlantıyı mobil ağdan Wi-Fi'ye geçirme, uygulama dışında bir şey paylaşma, düşük kullanılabilir pil veya bellek, uygulama gibi çeşitli mobil cihaz zorluklarıyla başa çıkabilmesini sağlamaktır. hız, uygulamanın birçok kullanıcı tarafından aynı anda kullanılması ve diğer benzer koşullar. Diğer bir deyişle, mobil uygulama, ağ ve sunucu performansını kontrol etmek için Performans testi yapılır.

Kesinti/Çalışma Testi:

Bir uygulama çalışırken, mobil cihazda meydana gelen aramalar veya SMS, açılır bildirimler, güç kablosunun takılması veya çıkarılması, pilin çıkarılması, ağ kesintisi ve kurtarma, düşük pil uyarısı gibi çeşitli olaylar nedeniyle kesintiye uğrayabilir. Kesinti Testi mobil uygulamanın her olay gerçekleştiğinde kendini kapatarak ve sonrasında otomatik olarak yeniden başlatarak tüm bu kesintilere dayanıp dayanamayacağını kontrol etmek için yapılır.

Kurulum Testi:

Kurulum testi, kullanıcının herhangi bir zorlukla karşılaşmadan makul bir süre içinde kurulabileceğini, kaldırılabileceğini veya güncellenebileceğini doğrular. Bu test aşamasında, mobil uygulama test uzmanları yalnızca bu üç işlem sırasında meydana gelebilecek çökmelerle ilgilenmekle kalmaz, aynı zamanda kaldırma işlemi tamamlandıktan sonra tüm uygulama verilerinin cihaz deposundan tamamen kaldırılmasını sağlar.

Güvenlik Testi:

Bu, güvenlik açığı taraması, günlük görüntüleme, sızma testi, savaş arama, virüs algılama, şifre kırma vb. gibi çeşitli tekniklerin yardımıyla uygulama içinde kullanıcıların güvenliğinin ve veri gizliliğinin tehlikede olmadığının doğrulanmasını içerir. Güvenlik Testi, mobil uygulamanın gizliliğini, özgünlüğünü ve bütünlüğünü iyileştirmektir.

Security Testing

Yerelleştirme Testi:

Yerelleştirme Testi, çok çeşitli coğrafi bölgelerde ve saat dilimlerinde mobil uygulamanın kullanılabilirliğini, işlevselliğini ve erişilebilirliğini sağlar. Bu tür testler, özellikle uygulamanızı birkaç dile çevirmeyi veya farklı ülkelerde kullanıma sunmayı planladığınızda gerçekleştirilir. Yerelleştirme Testi, uygulama KG testinin son aşaması olarak kabul edilir.

Gerileme testi:

Bu tür testler, uygulama kodunda yapılan değişikliklerin herhangi bir eski veya yeni hatayı yeniden ortaya çıkarmadığından emin olmak için daha önce gerçekleştirilen başarılı testlerin yeniden çalıştırılmasını içerir. Regresyon testleri, dört test seviyesinden (birim, entegrasyon, sistem ve kabul) herhangi biri sırasında tekrar tekrar gerçekleştirilebildiğinden, otomatik test için ideal bir adaydır.

Regression Testing

Kazanan Bir Mobil Uygulama Test Stratejisi için Faydalı İpuçları

Mobil uygulama testinde gerçekten kazanmak istiyorsanız, net ve sağlam bir test stratejisi geliştirmek gözden kaçırmamanız gereken bir şeydir. Uygun bir mobil uygulama testi stratejik planı, yalnızca yukarıda bahsedilen mobil uygulama testi zorluklarını kolayca aşmanıza yardımcı olmakla kalmaz, aynı zamanda sizi iç karartıcı uygulama reddi senaryolarından da kurtarır. Mobil uygulamanızı verimli ve etkili bir şekilde test etmek için izlemeniz gereken en iyi uygulamalar aşağıdadır.

Otomatik ve Manuel Test:

Mobil uygulama testi, yukarıda da bahsedildiği gibi, manuel olarak veya Appium, SeeTest, Selenium ve Ranorex gibi otomatik mobil uygulama test araçlarının yardımıyla gerçekleştirilebilir. Bir mobil uygulamanın farklı yaşam döngüsü aşamalarında bir veya iki yaklaşımdan biri kullanıldığından, duruma göre aralarında seçim yapmakta uzman olmalısınız. Otomatik mobil uygulama testi, farklı geliştirme aşamalarında başarılı regresyon testinin anahtarı olduğundan, yalnızca şu durumlarda gerçekleştirilmelidir:

  • En sık test vakalarına sahipsiniz
  • Test senaryolarının öngörülebilir sonuçları var
  • Test senaryolarının otomatikleştirilmesi kolaydır
  • Test senaryoları çok zaman alıcıdır veya manuel olarak gerçekleştirilmesi imkansızdır
  • Uygulama sürekli büyüyor
  • Mobil uygulama geliştirme yaşam döngüsü çok uzun

Automated vs. Manual Testing

Aksine, Manuel Uygulama Testi yaklaşımı insan girdisine, analizine veya değerlendirmesine dayanır ve uygulama yeni özellikler ve işlevler içeriyorsa veya yalnızca bir veya iki kez test gerektiriyorsa kullanılmalıdır.

Emülatörler ve Fiziksel Cihazlar:

Tıpkı iki yaklaşım gibi, bir mobil uygulamayı test etmenin iki ana yolu vardır: ya sanal cihaz emülatörleri ya da gerçek hayattaki fiziksel cihazlar aracılığıyla. Cihaz öykünücülerinin kullanımı, temel işlevleri test etmek için uygulama geliştirmenin ilk aşamalarında son derece yararlı olsa da, Beta testi gibi testin sonraki aşamalarında fiziksel mobil cihazlar kadar verimli çalışmazlar. Üç tür mobil cihaz öykünücüsü vardır:

  • Cihaz Emülatörü : cihaz üreticileri tarafından sağlanır.
  • Tarayıcı Emülatörü : tarayıcılarda mobil cihazlar için oluşturmayı simüle edin.
  • İşletim Sistemi Emülatörü : işletim sisteminin kendisi tarafından sağlanır.

Emulators vs. Physical Devices

En iyi test sonuçlarını hızlı ve verimli bir şekilde elde etmek için, mümkün olduğunca çok hatayı tespit etmek ve düzeltmek için önce mobil uygulamanızı emülatörlerde test edin. Tatmin edici bir test düzeyine ulaşıldığında, daha gerçek bir yaşam senaryosu için uygulamanızı fiziksel mobil cihazlarda test etmeye geçebilirsiniz.

Doğru Mobil Cihaz Modellerinin Seçimi:

Mobil uygulamayı test etmek için hangi cihazın veya cihaz modelinin kullanılması gerektiğine karar vermek, gerçek dünya test ortamı oluştururken muhtemelen herhangi bir testçinin aklına gelen ilk şeydir. Bu, bazen gerçekten zor bir karar olabilir, çünkü seçtiğiniz cihazlar, uygulamanızın milyarlarca benzer cihazda nasıl çalışacağını belirler. Bu nedenle, hedef cihaz seçimi sırasında aşağıdaki üç temel faktör dikkate alınmalıdır:

  • OS sürümü
  • Ekran Boyutu ve Çözünürlük
  • Form faktörü

Selection of Right Mobile Device Models

Gerekirse, cihaz modelini seçerken dahili bellek, bağlantı seçenekleri vb. gibi diğer birkaç faktörü de dikkate almaktan çekinmeyin.

Bulut Testini Düşünün:

Test çalışmalarınızı yepyeni bir düzeye çıkarmak için bulut bilişim tabanlı mobil uygulama testini de deneyebilirsiniz. Web tabanlı bir mobil uygulama test ortamı sağlayan bulut testi, mobil uygulamalarınızı hızlı ve verimli bir şekilde dağıtmanıza, test etmenize ve yönetmenize olanak tanır. Genel proje maliyetini ve süresini azaltmanın yanı sıra, bulut tabanlı uygulama testi size aşağıdakiler gibi başka avantajlar da sunar:

  • Yüksek düzeyde ölçeklenebilir, tamamen senkronize edilmiş ve önceden yapılandırılmış test ortamları
  • Başka herhangi bir gelişmiş test aracına, kaynağa veya yapılandırmaya yatırım yapmaya gerek yok
  • Yanlış oluşturulmuş veya kararsız bir test ortamından kaynaklanan kusur olasılığını azaltır
  • Test uzmanlarını çok zaman alan ve genellikle proje gecikmelerine yol açan şirket içi test ortamları kurmaktan kurtarır
  • Şirket içi ortamda neredeyse imkansız olan karmaşık, dinamik ve farklı uygulamalar için test yapılmasını destekler.
  • Gerçek zamanlı test sonuçları
  • Otomatik yedekleme ve kurtarma

Consider Cloud Testing

Beta Testini Düzenleyin:

Beta testi, gerçek dünya cihazlarını kullanan gerçek son kullanıcıların yardımıyla bir mobil uygulamanın işlevselliğini ve kullanılabilirliğini analiz etmenin harika ve etkili bir yoludur. Bu aşama, uygulamanın gerçek cihazlarda ve ağlarda ne kadar iyi performans gösterdiğini kontrol etmenin yanı sıra, başlatmadan önce tüm hataların giderildiğinden emin olmak için gerçekleştirilir. iOS için bir uygulamayı test ediyorsanız, Beta testinizi yönetmek için ücretsiz TestFlight aracının gücünden yararlanabilirsiniz.

Organize Beta Testing

Benzer şekilde, Android uygulamanızı çeşitli Google Grupları veya Google+ toplulukları aracılığıyla beta testi için güvenilir kullanıcılara ve test kullanıcılarına dağıtmak için Google Play Console'u da kullanabilirsiniz.