android app testing tutorial
Android Uygulamalarını Test Etmeden önce temel bilgi toplama:
Başlığından da anlaşılacağı gibi, bu eğitimde Android test süreci hakkında daha fazla tartışacağız.
Ancak, Android test sürecinin çeşitli ayrıntılarına girmeden önce birkaç soru sormak istiyorum.
Bir cep telefonun var mı?
Şimdi, bu soru ne kadar aptalca! Elbette hepimiz yapıyoruz. Herkesin bir cep telefonu var. Cep telefonları günümüzde insan varlığının temel bir gereği haline geldi.
Telefonunuzda bulunan işletim sistemini bana söyleyebilir misiniz?
Telefonunuzu 2014-16 arasında satın aldıysanız, telefonunuzun Android'de çalışma şansı% 80-85 civarındadır.
Ne öğreneceksin:
- Android'in Büyümesi
- Android Uygulaması Tanıtımı
- Test Süreci başlamadan önce 'Yapılacaklar' listesi
- Mobil Uygulamalar için Test Türleri
- Android Uygulama Testinde En İyi Uygulamalar
- Android Test Çerçevesi
- Sonuç
- Önerilen Kaynaklar
Android'in Büyümesi
Aşağıdaki istatistikler, kolayca anlaşılabilir bir şekilde Android'in büyümesi hakkında daha fazla bilgi vermektedir.
- 2009'da Android bir acemiydi ve toplam pazarın yalnızca% 3,9'unu oluşturuyordu.
- O zamanlar en büyük katkıda bulunan,% 47'lik (Nokia'nın Altın günleri) büyük bir sayı ile Symbian işletim sistemiydi.
- Bu eğilim yıllar içinde değişmeye başladı ve Android artık 2016'da% 85,2'ye ulaştı.
( görüntü kaynağı )
- Yukarıdaki numaralar yalnızca Cep telefonları içindir. Android işletim sistemi, tablet endüstrisinde de büyük bir etkiye sahip. 2011'de% 4,4 olan pazar payından 2015'te% 35,7'ye, insanların Android destekli tablet cihazlara yönelik geliştirdiği ilgiden bahsediliyor.
( görüntü kaynağı )
- Google Play mağazası da indirme sayılarında hızlı bir artış gördü. 2010'dan 2016'ya kadar sayılar ayda 1 milyar indirmeden, ayda 65 milyar indirmeye çıktı.
- Uygulama indirmeleri, iOS uygulamalarına kıyasla Android uygulamalarının düşük fiyatlarından (Ort: 0,06 $ / uygulama) etkilenir.
Neden tüm bu sayılara baktım?
Bu sadece sizi Android'in ne kadar geniş bir alanda büyüdüğünü, uygulama geliştirmenin ne kadar zor hale geldiğini ve bu işletim sisteminin son on yılda ne kadar pazar kaptığını bilmenizi sağlamaktı.
Her web sitesi, Windows uygulaması ve Mac Uygulamasının artık bir android kardeşi var. Herkes bir web sitesi / Windows uygulaması geliştirmeyi planladığı anda Android için bir uygulama geliştirmeye gider. Müşteriler son yıllarda bilgisayar uygulamaları veya web siteleri yerine mobil uygulamaları tercih etmeye başladıkları için artık gerekli hale geldi.
Günlük aktivitelerimizde çok sık kullanılan uygulamalardan bazıları Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp vb.
Android pazarındaki artışın nedeni şudur:
- Açık bir sistemdir, dolayısıyla özelleştirmesi, öğrenmesi kolaydır ve hatta uygulama geliştirme daha kolaydır.
- Google Play mağazasında bir uygulama yayınlamak, diğer oyun mağazalarına kıyasla oldukça kolaydır.
- Piyasada Sony, HTC, Samsung, Motorola gibi Android telefonlar için birkaç üretici var.
- Android'de DualSIM, microSD, çıkarılabilir pil vb.Gibi çok sayıda özellik vardır ve bu da ona ek bir avantajdır.
- Android telefonların fiyatları çok yüksek değil ve uygun fiyatlı vs.
Android Uygulamalarının geliştirme gereksiniminin yanı sıra, android testleri konusunda bilgili test uzmanlarına yönelik gereksinimde de artış olmuştur.
Bir test cihazı olarak, herhangi bir android yerleşik uygulamayı test etmeye başlamadan önce çok sayıda ev ödevi yapmanız gerekir. Yapılacak ilk şey, işletim sistemini ve geçmişini incelemektir. İşletim sistemini bilmiyorsanız, uygulamayı çeşitli sürümlerle test edemezsiniz. İşletim sistemi sürümünün temel işlevselliği, kullanıcı arayüzü, GPS, ağ türü desteği, pil ömrü vb., Bir uygulamayı etkileyen önemli unsurlardan bazılarıdır.
Android ile, sadece işletim sistemi değil, aynı zamanda bir çalışma gerektiren çok sayıda cihaz var.
Piyasada çok sayıda cihaz mevcuttur, bu nedenle test yatağınızı sonlandırmadan ve dondurmadan önce, hedef kitlenin cihaz payını bulmanız gerekir. DualSIM, çift kamera, ekran çözünürlüğü, temalar gibi farklı özellikler sunan çeşitli cihazlar bir uygulamayı etkiler ve test edilmeleri gerekir.
Bu nedenle, bir QA'nın Android ekosisteminin tamamı hakkında kapsamlı bir bilgi toplaması çok önemlidir.
Android Uygulaması Tanıtımı
Bir Android uygulamasının başarıyla onaylanmasının izlediği çeşitli test yöntemleri vardır.
Tipik bir Android uygulama mimarisi, aşağıda gösterilen diyagrama benzer görünür:
video dosyalarını dönüştürmek için en iyi program
Yukarıdaki şekle göre, bir uygulama için 2 olasılık vardır:
1) Web uygulaması için Mobil Uygulama: Müşterinin bir web uygulaması olması ve bunun için bir mobil uygulama yapmak istemesi mümkün olabilir. Amazon, Jabong, Myntra vb. Aynı şeyi yaptı ve mobil uygulamalar pazarda patlama yaratmaya başladığı anda bu ticari şirketler, insanların yakında web uygulamalarından mobil uygulamalara geçeceğini fark etti.
2) Ayrı bir işletme olarak Mobil Uygulama: İşi artırmak için benzer bir lojistik uygulamasını test ettim, sorunsuz bir teslimatı kolaylaştırmak için sürücüleri için ayrı bir uygulama oluşturdu ve evrak işlerini kaldırdı.
Sürücüler, gönderiyi farklı teslimat aşamalarına ve ilgili durumlarına taşımak için telefonlarına uygulamayı yüklediler ve teslimat güncellemeleri mevcut web uygulamalarına yansıdı.
Diğer böyle Örnekler Mobil uygulamanın ayrı bir varlık olduğu durumlarda WhatsApp, S Health gibi sağlık izleme uygulamaları vb.
Test Süreci başlamadan önce 'Yapılacaklar' listesi
Normal bir test döngüsünden farklı olarak, bir mobil uygulamanın ilk sürümü için, uygulamanın başarılı bir şekilde sunulması için fazladan araştırma ve planlama gerektiren birkaç öğe vardır.
Aşağıda, bir kalite güvencesinin gerçek test başlamadan önce gerçekleştirmesi gereken bazı faaliyetler yer almaktadır:
# 1) İşletim Sistemi ve Cihazlarla İlgili Araştırma:
Uygulama gereksinimlerini anlamanın yanı sıra, çeşitli işletim sistemi sürümlerinin ve cihaz modellerinin etkisini de anlamanız gerekir. İşletim sistemi ve cihaz modelleri ile test senaryoları veya senaryolar oluşturmanız gerekir.
#iki) Test ortamı:
Masaüstü, web ve iOS uygulamalarının aksine, android uygulamaları için test yatağı oluşturma, açık Android sistemi nedeniyle çok zordur. Hedef kitleyi bulmak için BA, geliştiriciler ve ürün sahipleri ile görüştükten sonra karar alınmalıdır.
# 3) Test planı:
İlk sürüm olduğu için, onaylı test yatağı, test türleri vb. İçeren onaylı bir plan mevcut olmalıdır. İşlevleri veya iş kurallarını araştırmak için ayrı bir süre gerekiyorsa veya test zor olacaksa vb. Her şey planda kapsanmalıdır.
# 4) Otomasyon Araçları:
Mobil uygulamalar için gerekli olan otomasyon araçları, masaüstü veya web uygulamalarından çok farklıdır. Bu nedenle, aracı öğrenmek için fazladan zaman ve çaba harcamanız gerekebilir. Bunun için gereken zaman ve çaba, ürün sahibi veya müşteri tarafından onaylanmalıdır.
# 5) Test Teknikleri veya Yöntemleri:
Normalde yaptığımız geleneksel testlerin aksine, mobil uygulamalara çok özel birkaç test vardır. Yani saha testi, GPS testi, görüntü yakalama testi, vb. Bunlar, bu tiplerin nasıl test edileceği ile birlikte test senaryolarında belgelenmelidir.
Mobil Uygulamalar için Test Türleri
Bir Android uygulamasını onaylamak için aşağıdaki test türleri gerçekleştirilir:
1) Fonksiyonel Test:
Test, normalde kullanıcı arayüzü tarafından başlatılan test akışları ile gerçekleştirilir. Sadece kullanım senaryosunun akışı test edilmez, aynı zamanda çeşitli iş kuralları da test edilir. Test, gereksinimleri onaylayarak yapılır. Örneğin, uygulamanın gereksinimlere göre çalışıp çalışmadığı.
Alalım Misal Zomato uygulaması.
Konuma bağlı olarak uygulamayı başlattığınızda, restoranların listesi görünür. Şimdi bir QA olarak, restoranların listesini test etmeniz gerekiyor.
4 yıllık deneyim için selenyum mülakat soruları ve cevapları
Bu işlevsellik testidir ve burada aşağıdaki gibi işlevleri test edeceksiniz:
- Restoran kartlarının konuma göre gösterilip gösterilmediğini doğrulayın.
- Gösterilen restoranların konuma göre verilen aralıkta (km) olup olmadığını doğrulayın.
- Her kart için inceleme sayısının verilen incelemelerle uyumlu olup olmadığını doğrulayın.
- Bir konum için yeni bir restoran eklemenin listeye yansıtılıp yansıtılmadığını kontrol edin.
- Restoranların Zomato vb. Filtreleme kurallarına göre listelenip listelenmediğini doğrulayın.
2) Android UI Testi:
Bu, uygulamanın kullanıcı merkezli bir testidir. Bu test aşamasında, uygulamanın çeşitli ekranlarındaki metinlerin görünürlüğü, etkileşimli mesajlar, verilerin hizalanması, uygulamanın farklı ekranlar için görünümü ve verdiği his, alanların boyutu vb. Öğeler bu kapsamda test edilir.
Yukarıdaki Zomato Örneği için UI testleri şöyle olacaktır:
- Kartların mobil ekran boyutuna uygun şekilde gösterilip gösterilmediğini doğrulayın.
- Restoranın resminin beklendiği gibi gösterilip gösterilmediğini doğrulayın.
- Kart ayrıntılarının, restoranın derecelendirmesinin, yemek türünün, adresin vb. Doğru hizalanmış olarak gösterilip gösterilmediğini doğrulayın.
- Listenin kaydırılmasının sorunsuz olup olmadığını ve uzun bir kart listesi kaydırıldığında vb. Kartların yanlış hizalanmış olarak gösterilip gösterilmediğini doğrulayın.
3) Uyumluluk Testi:
Bu test çoğunlukla OS Vs uygulaması ve Cihaz modeli Vs uygulamasının iki matrisi şeklinde yapılır. Genellikle, desteklenen işletim sistemlerinin (ve bazen cihazların) bir listesi ürün sahibi veya müşteri tarafından sağlanır.
Bu teste duyulan ihtiyaç şudur:
- Android gibi bir işletim sistemi hesaba katıldığında, yama sürümlerinin / EP'lerin sayısını ihmal eden 7 temel sürüm bulunur.
- Şu anda tüm dünyada çalışan Android cihaz türlerini tahmin edebilir misiniz? 1000? 2000 mi? Yanlış! Doğru cevap 24000'dir. Dünyada mevcut ve aktif olan 24000 benzersiz Android cihaz türü vardır.
- Bunun gibi varyasyonlarla uyumluluk testi, bir android uygulamasının onaylanmasında hayati bir rol oynar.
- Yalnızca işletim sistemini ve cihazın türünü doğrulamamız değil, aynı zamanda uyumluluk testine giren diğer birkaç özelliği de doğrulamamız gerekiyor. Özellikler şunları içerir:
- Ekran boyutu
- Ekran çözünürlüğü
- Ağ bağlantısı
4) Arayüz Testi:
Başka bir deyişle, Entegrasyon testi olarak da adlandırılır. Bu test, uygulamanın tüm modülleri tamamen geliştirildikten, ayrı ayrı test edildikten ve tüm hatalar doğrulandıktan sonra yapılır.
Arayüz testi, uygulamanın eksiksiz bir uçtan uca testi, Haritalar, sosyal uygulamalar vb. Gibi diğer uygulamalarla etkileşim, metin girmek için Mikrofon kullanımı, bir barkod taramak veya resim çekmek için Kamera kullanımı vb. Gibi testleri içerir.
Yine Zomato göz önüne alındığında, entegrasyon testleri şöyle olacaktır:
- Kullanıcının bir restoran için masa rezervasyonu yapıp yapamadığını doğrulayın.
- Kullanıcının menüyü görüntüleyebildiğini ve çevrimiçi yemek sipariş edip edemediğini doğrulayın.
- Kullanıcının yemek siparişi verirken PayTM kuponu alıp alamadığını doğrulayın.
- Kullanıcının, restoranın konumunu Google Haritalar'da görüntüleyebildiğini doğrulayın.
- Kullanıcının telefon çeviriciyi açıp açamayacağını ve restoranı vb. Arayabileceğini doğrulayın.
5) Ağ Testi:
Ağ Testinin temel özellikleri şunları içerir:
- Uygulama, işlemi gerçekleştirmek için ara hizmetle konuşmalıdır.
- Bu test sırasında, hizmete / hizmetten gelen istek / yanıt çeşitli koşullar için test edilir.
- Bu test esas olarak, senkronizasyondan sonra verileri yenilemek veya oturum açtıktan sonra verileri yüklemek gibi aktivitenin gerçekleştirildiği yanıt süresini doğrulamak için yapılır.
- Bu, hem güçlü wifi bağlantısı hem de mobil veri ağı için yapılır.
- Bu şirket içi bir testtir.
6) Performans Testi:
Uygulamanın bazı özel koşullarda performansı kontrol edilir.
Bu koşullar şunları içerir:
- Cihazdaki bellek yetersiz.
- Batarya aşırı derecede düşük seviyede.
- Zayıf / Kötü ağ alımı.
Performans temel olarak 2 uçtan, uygulama ucundan ve uygulama sunucusu ucundan test edilir
7) Kurulum Testi:
Bir Android cihazda iki tür uygulama vardır; Önceden yüklenmiş uygulamalar ve daha sonra kullanıcı tarafından yüklenen uygulamalar.
Yukarıdakilerin her ikisi için de kurulum testinin gerçekleştirilmesi gerekir. Bu, uygulamanın hatalar, kısmi kurulum vb. İle sonuçlanmadan sorunsuz kurulumunu sağlamak içindir.
Yükseltme ve kaldırma testleri, Kurulum testinin bir parçası olarak gerçekleştirilir.
8) Güvenlik Testi:
Gizlilik ve güvenlik, bir uygulamanın 2 ana gereksinimidir. Ancak Bankacılıkta sağlık hizmetleri, bu birincil gereksinim haline gelir.
Şifreleme ve şifre çözme mekanizması için veri akışının test edilmesi bu aşamada test edilecektir. Depolanan verilere erişim de bu aşamada test edilir.
9) Saha Testi:
Saha testi, özellikle mobil veri ağı için yapılır ve şirket içinde değil, dışarı çıkıp uygulamayı normal bir kullanıcı olarak kullanarak yapılır. Bu test, 'yalnızca' tüm uygulama geliştirildikten, test edildikten ve geri çekildikten sonra yapılır (hatalar ve test durumları için).
Temel olarak, telefonun 2G veya 3G bağlantısı olduğunda uygulamanın davranışını doğrulamak için yapılır. Alan testi, uygulamanın yavaş ağ bağlantısı altında kilitlendiğini veya bilgilerin yüklenmesi çok uzun sürdüğünü doğrular.
Saha testi hakkında daha fazla bilgiyi makalemizde okuyabilirsiniz. 'Mobil uygulamalar için Saha Testinin önemi ve gerekliliği'
10) Kesinti Testi:
Bu test türü, Çevrimdışı Senaryo Doğrulaması olarak da bilinir. Ortada iletişimin kesildiği durumlar çevrimdışı koşullar olarak adlandırılır.
Bir ağdaki kesintilerin test edilebileceği bazı koşullar şunlardır:
- Veri aktarım işlemi sırasında veri kablosunun çıkarılması.
- İşlem gönderme aşamasında ağ kesintisi.
- Bir kesintiden sonra ağ kurtarma.
- İşlem aşamasındayken pil çıkarma veya Gücü Açma / Kapatma.
Android Uygulama Testinde En İyi Uygulamalar
Mobil uygulama testi için bir strateji belirlerken dikkate alınması gereken belirli faktörler vardır.
Onlar:
1) Cihaz Seçimi:
- Bu, android uygulama test sürecine başlamadan önce en kritik adımlardan biridir.
- Test işlemi için hangi cihazların dikkate alınacağına karar verin.
- Seçim, hedef müşteri sayısını maksimize edecek şekilde yapılmalıdır.
- İşletim sistemi sürümü, Ekran çözünürlükleri ve Form faktörleri (Tablet veya akıllı telefonlar) gibi faktörler seçim aşamasında hayati bir rol oynar.
- Gerekirse, Emülatörlerin yardımı bile dikkate alınabilir.
- Ancak, Emülatörler fiziksel cihaz test sürecinin yerini almamalıdır.
- Aygıt emülatörleri uygun maliyetlidir ve ilk geliştirme aşamasında kullanışlı olurlar.
- Ancak gerçek hayat senaryolarını test etmek için fiziksel cihazlar şarttır. Optimize edilmiş bir sonuç için hem emülatörler hem de fiziksel cihazlar dengeli bir şekilde kullanılmalıdır.
2) Uygulamanın Beta Testi:
- Beta testi, gerçek dünyadaki kullanıcılar, gerçek cihazlar, gerçek ağlar ve geniş bir coğrafyada kurulu uygulamalarla yapılan testlerde çok etkilidir.
- Bu, ağ yoğunluğu, ağ varyasyonları (Wi-Fi, 4G, 3G ve 2G) ve uygulama üzerindeki etkinin net bir resmini verir.
- Gerçek dünyada beta testi, türünün bir örneğidir ve kontrollü bir ortamda kopyalanamaz.
3) Bağlantı:
- Normalde, Android uygulamaları çeşitli gereksinimler için internete bağlanır.
- Farklı cihazlardaki bağlantı, stratejinin oluşturulmasında önemli bir rol oynar.
- Çoğunlukla bağlantı, test sırasında ağ hızını, gecikmeyi ve sınırlı bağlantıyı düzenlemeye yardımcı olan simülasyon yazılımı tarafından kontrol edilir.
- Gerçek ağ bağlantıları altında testin gerçek zamanlı sonuç / veriler için her zaman tavsiye edildiği söylenir.
4) Manuel veya Otomatik Test:
- Otomasyon testi, ilk çalıştırma için çok fazla zaman alsa da, testin tekrarlanması gerektiğinde işe yarar. Bu aynı zamanda farklı geliştirme aşamalarında genel test süresini de azaltır.
- Uygulama geliştirme aşamasında regresyon testi tekrarı yüksek olduğunda, farklı işletim sistemi sürümlerinde, geriye dönük uyumluluk kontrol noktalarında vb. Aynı uygulama için uyumluluk testi yapılması gerektiğinde, Android Otomasyonu Manuel test ile birleştirilmelidir.
Android Test Çerçevesi
Mevcut olan bir avuç Android test çerçevesi var.
Bu eğitimde, en sık kullanılan 3 farklı çerçeve türünü tartışacağız:
- Robotium test çerçevesi
- Robo-elektrik test çerçevesi
- Appium test Çerçevesi
1) Robotium Test Çerçevesi:
- Bu çerçeve, Android uygulamaları için sofistike ve sağlam kara kutu test durumları yazmak için kullanılır.
- Hem yerel hem de hibrit istemcileri destekler.
- Fonksiyonlar, sistem test senaryoları ve Kullanıcı kabul testi senaryoları bu çerçeve kullanılarak yazılabilir.
- Robotium, Android 1.6 ve üzerini destekler ve ayrıca Diyaloglar, Menüler, Etkinlikler vb. İçin destek sağlar.
- Bu çerçeve, birden çok Android etkinliğini otomatik olarak işler.
- Android uygulamasının farklı grafik bileşenleri ile etkileşim kurmak için Robotium'un bir parçası olarak bir dizi yöntem verilmiştir. Bunlardan bazıları aşağıdaki gibidir:
- geri gitmek();
- getButton ();
- isRadioButtonChecked ();
- searchText ('Kullanıcı');
- düğmesine tıklayın ('Çıkış');
2) Robo-elektrik Test Çerçevesi:
- Bu çerçeve, Android uygulamalarının JUnit4 çerçevesine dayalı olarak JVM'de test edilmesine yardımcı olur.
- Android API kullanır.
- Bu, test senaryolarının yazılmasına ve bunları JVM'de çalıştırılmasına yardımcı olur.
- Bunun altında, tüm sınıflar gölge nesneler adı verilen bir şeyle değiştirilir.
- Bir yöntem uygulandığında, Robo-electric çağrıyı dahili olarak gölge nesneye gönderir.
- Uygulamaya bağlı olarak, bir yöntem gölge nesne tarafından uygulanırsa bir değer döndürülür. Aksi takdirde, NULL döndürülür.
- Gölge nesneler ve JVM nedeniyle, yürütme daha hızlı hale gelir.
3) Test Çerçevesi dönemleri;
- Bu çerçeve, Android cihazlar için yerel, karma ve mobil –web uygulamalarında çalışır.
- Appium, yardımcı programı kullanmakta serbesttir.
- Tek API hem Android hem de iOS platformu için çalışır. Bu, platformlar arası testi destekleyen çerçevelerden biridir.
- Android uygulaması ile etkileşim için Selenium Web sürücüsünü kullanır.
- Appium, Java, C #, Python, PHP, Ruby vb. Gibi birçok programlama dili kullanarak komut dosyası yazmayı destekler.
Sonuç
Android uygulama otomasyonu ihtiyaca göre manuel olarak toplanabilmektedir. Bununla birlikte, stratejiye Androind Otomasyon testi eklenirse, doğru aracı seçmek büyük bir görevdir. Otomasyon aracı seçerken Çoklu platform desteği, Test iş akışı, Aracın fiyatı, servis / destek vb. Faktörler dikkate alınmalıdır.
Android uygulama testinde çeşitli zorluklar vardır. Android test süreci gerçekten uygulanmadan önce dikkate alınması gereken farklı faktörler vardır, ancak bir kez yapıldığında bu çok ilginç bir görev haline gelir.
Hakkında daha fazla bilgi edinmek için yaklaşan eğiticimizi izleyin Mobil Test Zorlukları ve Çözümleri.
Önerilen Kaynaklar
- Android Uygulamalarını Test Etmek İçin En İyi 11 Otomasyon Aracı (Android Uygulama Test Araçları)
- Mobil Uygulama Beta Test Hizmetleri (iOS ve Android Beta Test Araçları)
- Android Uygulaması için Appium Testleri Oluşturun
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- Mobil Uygulama Testi Eğitimleri (30'dan Fazla Öğretici içeren Tam Bir Kılavuz)
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Alfa Testi ve Beta Testi (Tam Kılavuz)
- Yeni Başlayanlar İçin Derinlemesine Eclipse Eğiticileri