iOS Uygulama Testi Eğitimi
⚡ Akıllı Özet
iOS Uygulama Testi, bir uygulamanın Apple cihazlarında doğru şekilde yüklendiğini, çalıştığını ve davrandığını doğrular. Çökmeleri, uyumsuzlukları ve bellek sızıntılarını erken aşamada yakalamak için manuel teknikleri XCTest ve XCUITest gibi otomatik çerçevelerle birleştirir.

iOS Uygulama Testi Nedir?
iOS Uygulama Testi Bir iOS uygulamasının, kurulum süresi, kullanıcı arayüzü, kullanıcı deneyimi, görünüm, davranış, işlevsellik, yükleme süresi, performans, Uygulama gibi belirli kullanıcı eylemleri için beklendiği gibi çalışıp çalışmadığını kontrol etmek amacıyla gerçek Apple cihazlarında test edildiği bir test sürecidir. Mağaza girişi, işletim sistemi sürümü desteği vb.
Neden iOS Uygulama Testi?
iOS Uygulama Testi iOS, Apple'ın mobil uygulamalar için geliştirdiği ve ilk olarak 29 Haziran 2007'de piyasaya sürülen platformu olduğu için gereklidir. AndroidApple, iOS'un Apple dışı donanımlara yüklenmesi için lisans vermez. iOS ve iOS uygulamaları yalnızca Apple cihazlarına yüklenebilir; bu nedenle, iOS uygulamanızın kullanıcılarınızın sahip olduğu iOS sürümleri ve iOS cihazlarıyla uyumlu olması gerekir.
Aşağıdaki şekil, geliştiricilerin bir iOS uygulaması oluştururken karşılaştığı yaygın soruları göstermektedir.
Tasarım ve uygulama için ne kadar zaman harcarsanız harcayın, hatalar kaçınılmazdır ve yazılım hataları ortaya çıkacaktır. Aşağıdaki şekilde iOS uygulamalarında sıkça karşılaşılan bazı hatalar gösterilmektedir.
Uygulama kilitleniyor
Apple cihazlarını kullanırken en sinir bozucu sorunlardan biri, bir uygulamanın çalışma sırasında sık sık çökmesidir. Çoğu zaman uygulama, koddaki hatalar veya bellek sızıntıları nedeniyle çöker.
Uygulama uyumsuzlukları
iOS uygulamanız mevcut iOS sürümünde mükemmel şekilde çalışabilir, ancak iOS yükseltilirse uyumsuzluk sorunları nedeniyle çalışmayabilir.
Güvenlik açığı
iOS'taki bir güvenlik açığı, bir bilgisayar korsanının iOS cihazlarınıza saldırmasına ve özel bilgilerinizi çalmasına olanak tanır. Yıllar içinde, farklı iOS sürümlerinde ciddi iPhone güvenlik açıkları keşfedilmiştir.
Bellek sızıntıları
Bellek sızıntıları, programın artık kullanmadığı ayrılmış bellek bloklarıdır. Bellek sızıntıları iOS uygulamanızın çökmesine neden olur.
Bunlar hatadır ve her zaman düzeltilmeleri gerekir.
iOS MindMap'i test ediyor
Yukarıdaki şekilde gösterildiği gibi, iOS Test yapmak Zihin haritası, bir test uzmanının iOS üzerinde test yaparken dikkate alması gereken tüm unsurları gösterir.
iOS Uygulama Testi Kontrol Listesi
Bu kontrol listesi, özellikle iOS mobil uygulamalarının özelliklerini test etmek için tasarlanmıştır. Açıkçası, yalnızca genel uygulama özelliklerini test eder, uygulamanın işlevselliğini değil.
- Uygulamanın cihaza yüklenme süresini kontrol edin. Uygulamanın kabul edilebilir bir süre içinde yüklendiğinden emin olun.
- Uygulama yüklendikten sonra, uygulamanın bir uygulama simgesi ve adı olup olmadığını kontrol edin. Ayrıca, hem simgenin hem de adın açıklayıcı olduğundan ve uygulamanın temel amacını yansıttığından emin olun.
- Uygulamayı başlatın ve bir karşılama ekranının görüntülenip görüntülenmediğini kontrol edin.
- Açılış ekranı zaman aşımını ve ana ekranın yüklenme süresini kontrol edin. Uygulamanın ana ekranı kabul edilebilir bir süre içinde yüklenmelidir. Ana ekranın yüklenmesi çok uzun sürerse, kullanıcının uygulamayı kapatma veya hatta kaldırma olasılığı daha yüksektir. Ayrıca, ana ekranda içeriklerin nasıl yüklendiğini de kontrol edin.
- Uygulamanın ana işlevi hemen anlaşılmalıdır. Kendi adına konuşmalıdır.
- Uygulamanın hem yatay hem de dikey ekran yönlendirmelerini destekleyip desteklemediğini kontrol edin. Destekliyorsa, uygulamayı her iki yönlendirmede de deneyin. Uygulamanın kullanıcı arayüzü buna göre ayarlanmalıdır.
- İnternet bağlantısı olmadan uygulamayı başlatın. Uygulamanın tasarlandığı/istendiği gibi çalıştığından emin olun. Uygulama başlatılırken çökebilir veya boş bir ekran gösterebilir.
- Uygulama konum servislerini kullanıyorsa, konum izni uyarısının görüntülenip görüntülenmediğini kontrol edin. Bu uyarı kullanıcıya yalnızca bir kez gösterilmelidir.
- Uygulama anlık bildirim gönderiyorsa, anlık bildirim izni uyarısının görüntülenip görüntülenmediğini kontrol edin. Bu uyarı da kullanıcıya yalnızca bir kez gösterilmelidir.
- Uygulamayı başlatın, kapatın ve yeniden başlatın. Uygulamanın tasarlandığı/istendiği gibi çalışıp çalışmadığını kontrol edin.
- Uygulamayı üzerine dokunarak kapatın.ping Cihazınızın Ana Ekran düğmesine basın ve uygulamayı tekrar açın. Uygulamanın tasarlandığı/istendiği gibi çalışıp çalışmadığını kontrol edin.
- Yükleme tamamlandıktan sonra, uygulamanın iPhone'unuzun ayarlar uygulamasında listelenip listelenmediğini kontrol edin.
- Uygulama yayınlandıktan sonra, uygulamanın "App Store"da bulunup bulunmadığını kontrol edin. Uygulama için desteklenen işletim sistemi sürümleri olacaktır. Bu nedenle, uygulamanın desteklenen işletim sistemi sürümlerine sahip cihazların "App Store"unda bulunabildiğinden emin olun. Ayrıca, uygulama desteklenmeyen işletim sistemi sürümlerine sahip cihazların "App Store"unda listelenmemelidir.
- Pilin bitmesini önlemek için arka planda çalışırken uygulamanın uyku moduna geçip geçmediğini kontrol edin.
- Uygulamanın performansı yavaşsa veya içerikler yükleniyorsa, tercihen belirli bir mesaj içeren bir ilerleme durumu simgesinin (“Yükleniyor…”) olup olmadığını kontrol edin.
- Uygulamayı cihazınızın arama çubuğuna adıyla yazarak arayın. Uygulamanın listede olup olmadığını kontrol edin.
- Uygulamada standart işlemleri gerçekleştiren düğmelerin (örneğin: yenile, düzenle, çöp kutusuna taşı, yanıtla, geri vb.) görünümünün değiştirilmediğini kontrol edin.
- Standart düğmelerin normalde kullanıldıkları işlevler dışında başka işlevler için kullanılmadığını kontrol edin.
iOS Test Stratejisi
Neyi kontrol etmeniz gerektiğini bildikten sonraki adım, bunu nasıl test edeceğinizdir. Aşağıdaki şekil, bazı yaygın iOS test stratejilerini tanıtmaktadır.
Otomatik test
Otomatik test, iOS testinde en büyük avantajlardan biridir. Hataları ve performans sorunlarını hızlı bir şekilde tespit etmenizi sağlar. Otomatik testin faydaları aşağıda gösterilmiştir:
- Otomatik testler birden fazla cihazda çalıştırılarak zaman tasarrufu sağlanır
- Otomatik testler SDK'ları hedefleyebilir. Farklı SDK sürümlerinde testler çalıştırabilirsiniz.
- Otomatik testler, test verimliliğinizi artırır ve yazılım geliştirme maliyetlerinden tasarruf sağlar.
- iOS'ta otomatik testleri destekleyen birçok açık kaynaklı test çerçevesi bulunmaktadır.
OCUnit ile birim testi
Orijinal iOS SDK piyasaya sürüldüğünde eksikleri vardı Birim Testi yetenekler. Bu yüzden Apple getirdi. OCUbirimi iOS SDK 2.2 sürümüne birim test çözümü.
OCUnit, Mac'te Objective-C için bir test çerçevesiydi (şimdi macOSOCUnit çerçevesinin en büyük avantajı, sistemle sıkı bir şekilde entegre olmasıydı. Xcode Aşağıda gösterildiği gibi geliştirme ortamı.
Not: OCUnit (SenTestingKit) kullanımdan kaldırılmıştır; çünkü Xcode 5, Apple'ın XCTest Yeni çerçeve, standart olarak onun yerini aldı — aşağıdaki XCTest bölümüne bakın. Buradaki ekran görüntüleri daha eski bir sürümü göstermektedir. Xcode sürümü.
OCUnit'in bazı faydaları aşağıdaki şekilde gösterilmiştir.
UIAutomation ile UI Testi
UI Otomasyonu bir JavaSenaryo Apple Inc. tarafından sağlanan ve gerçek cihazlarda ve iOS Simülatöründe otomatik testler gerçekleştirmek için kullanılabilen bir kütüphanedir. Bu çerçeve iOS SDK 4.0'da eklendi. UI Automation kullanarak, uygulamanın testini yalnızca simülatörde değil, gerçek bir cihazda da otomatikleştirebilirsiniz.
Not: Apple, UI Automation özelliğini kullanımdan kaldırdı. Xcode 8 (2016) sürümünde kaldırıldı. Yeni kullanıcı arayüzü test projeleri için XCUITest kullanın; aşağıdaki sınıflar ve ekran görüntüleri eski araç zincirini yansıtmaktadır.
UIAutomation şu faydaları sağladı:
- Çaba azaltıldı Manuel Test
- Tüm testlerinizi yürütmek için daha az çaba gerektirir.
- Kullanıcı arayüzü test prosedürünü basitleştirdik (birkaç düğmeye basın ve tüm test paketlerinizi çalıştırın).
UIAutomation aracı, yazılan komut dosyaları üzerinden çalışıyordu. JavaBu komut dosyası, hedef iOS uygulamasında kullanıcı olaylarını simüle ediyordu.
Kullanıcı Arayüzü Otomasyonunun Dezavantajları ve Avantajları
| Artılar | Eksiler | |
|---|---|---|
| 1. | Hareket ve döndürme için iyi destek | Açık kaynak değil, geliştiriciden daha az destek |
| 2. | UIAutomation testlerini yalnızca simülatörde değil, cihaz üzerinde de çalıştırabilirsiniz. | Diğer araçlarla son derece iyi entegre olamıyor |
| 3. | Geliştirildi JavaScript, popüler bir programlama dili. |
Yukarıdaki şekil, UIAutomation çerçevesindeki bazı yaygın sınıfları göstermektedir.
- MKS UIA Öğesi class, Otomasyon bağlamındaki tüm kullanıcı arayüzü öğeleri için süper sınıftır.
- MKS UİATarget sınıf, test edilen sistemin üst düzey kullanıcı arayüzü öğelerini temsil eder
- MKS UIALogger sınıf, alma işlevselliği hakkında test ve hata bilgileri sağlar
- MKS UIAActivityView class, uygulamanızdaki etkinlik görünümlerine erişime ve bunların kontrol edilmesine olanak tanır.
- MKS UIAAksiyon Sayfası class, uygulamanızdaki eylem sayfalarına erişime ve bunların kontrol edilmesine olanak tanır.
- kullanıcı Etkinlik Eylemi
- UISlider sınıfı
- UIAButton sınıfı
- UIAKey sınıfı
- UIAKeyboard sınıfı
Diğer Otomatik test çerçeveleri
- dürüst: Otomatik Kabul Testi iPhone ve iPad için çerçeve (artık aktif olarak bakımı yapılmıyor)
- KIF: bir iOS'tur entegrasyon testi çerçeve. İşletim sisteminin görme engelli kişiler için sunduğu erişilebilirlik özelliklerinden yararlanarak iOS uygulamalarının kolay otomasyonuna olanak tanır.
- Appium: popüler bir açık kaynak, çapraz platform Apple'ın XCUITest sürücüsü aracılığıyla iOS uygulamalarını otomatikleştiren bir çerçeve.
XCTest ve XCUITest: Apple'ın Modern Test Çerçeveleri
OCUnit ve UIAutomation önemli birer tarihsel çerçeveye sahip olsa da, ikisi de artık kullanım dışı. Apple, OCUnit'in yerine şunu kullandı: XCTest in Xcode 5 (2013) ve UIAutomation'ı kullanımdan kaldırdı. Xcode 8 (2016) lehine XCUITestXCTest'in kullanıcı arayüzü test bileşeni olan bu test çerçeveleri, Apple'ın her güncel sürümünde sunduğu ve desteklediği test çerçeveleridir. Xcode.
XCTest ile birim testlerini şu şekilde yazarsınız: Swift veya Objective-C kullanarak bunları çalıştırın. Xcode Test Navigator, xcodebuild Komut satırında, simülatörde veya gerçek cihazlarda. XCUITest, uygulamanızı erişilebilirlik katmanı üzerinden çalıştırır, böylece kullanıcı arayüzü testleri gerçek bir kullanıcı gibi davranır.
| Eski çerçeve | Modern yedek parça | Ne değişti |
|---|---|---|
| OCUnit (SenTestingKit) | XCTest | Aynı birim test kavramları artık her şeye entegre edilmiş durumda. Xcode proje şablonu |
| UIAutomation (JavaSenaryo) | XCUITest | Kullanıcı arayüzü testleri şu dilde yazılır: Swift veya Objective-C yerine JavaSenaryo |
👍 Bahşiş: Çapraz platform araçları, örneğin Appium iOS uygulamalarını arka planda XCUITest kullanarak otomatikleştiriyoruz, bu nedenle bu beceriler doğrudan aktarılabiliyor.
Manuel test
Otomasyon hız kazandırır, ancak aşağıda belirtilen manuel teknikler, komut dosyalarının sağlayamayacağı insan yargısını da ekler.
Keşif testi
Bu, resmi bir test planı olmadan yapılan bir testtir. Keşifsel test düşük maliyetli bir test yöntemidir, ancak iOS uygulamanızdaki potansiyel hataları gözden kaçırabilir.
Keşifsel Testin Eksileri ve Artıları
| Artılar | Eksiler | |
|---|---|---|
| 1. | Less Hazırlık gereklidir; ciddi hatalar erken tespit edilir. | Testçinin yüksek becerisini gerektirir |
| 2. | Yok hayır Test planı Hata tespitini hızlandıran bir yönteme ihtiyaç duyulmaktadır. | Test kapsamı düşüktür. Tüm gereksinimlerinizin test edildiğini garanti etmez. |
| 3. | Çoğu hata, bir tür keşif testiyle erken keşfedilir | Test belgelerinin eksikliği |
Kullanıcı Testi
Kullanıcı testi, iOS'ta bir tür Manuel Testtir. Bu testin amacı yalnızca daha iyi uygulamalar oluşturmak değil, aynı zamanda hatasız Uygulamalar. Aşağıdaki şekilde dört tür Kullanıcı Testi gösterilmektedir.
Konsept testi
Bir uygulama fikrini piyasaya sürmeden önce kullanıcı tepkisini değerlendirin. iOS'ta kavram testinin prosedürleri aşağıdaki şekilde açıklanmıştır.
Kullanılabilirlik testi
Kullanılabilirlik testi Kullanılabilirlik testi, iOS uygulamanızın kullanım kolaylığını ölçen bir testtir. iOS testlerinde, kullanılabilirlik testi şu şekilde olabilir: kaydedilmiş hatırlamak veya başkalarıyla paylaşmak.
iOS'ta kullanılabilirlik testini destekleyen bazı araçlar şunlardır:
Trymata için mobil kullanıcı test uygulamaları Android ve iOS.
Delight.io, bu araç, iOS uygulamalarınızdaki gerçek kullanıcı etkileşimini yakalayabilir.
Beta testi
Beta Testi entegrasyon testi Kullanıcılardan nihai geri bildirim almak için gerçek verilerle çalışıyoruz. Uygulamalarınızı beta testine dağıtmak için aşağıdaki adımları izlemeniz gerekiyor.
-Ön şartlandırma: Bir sürüm için son adayın beta testini yapıyorsanız, uygulamayı test kullanıcılarına dağıtmadan önce uygulamayı doğruladığınızdan emin olun.
-Hizmet aracılığıyla test kullanıcısını bulunTest kullanıcılarından cihaz kimliklerini toplar ve bunları Apple Geliştirici hesabınıza eklersiniz.
-Geçici dağıtım oluşturunAd Hoc dağıtım, test kullanıcısının uygulamanızı kendi cihazında herhangi bir ek donanıma ihtiyaç duymadan çalıştırmasına olanak tanır. Xcode. Bu adım 2 alt adım içerir
- Dağıtım sertifikaları oluşturun
- Geçici ön hazırlık profilleri oluşturun
-Testçiden geri bildirim isteyin: Test uzmanları testleri gerçekleştirir ve size hata raporları gönderir. Uygulamanız yayınlandıktan sonra, raporları onlardan alabilirsiniz. App Store Bağlantısı (eski iTunes bağlamak).
Not: Günümüzde çoğu ekip beta sürümlerini şu şekilde dağıtıyor: Test uçuşuBu özellik, cihaz kimliklerini manuel olarak toplamanıza gerek kalmadan 10,000'e kadar harici test kullanıcısını davet etmenizi sağlar.
A / B testi
A / B testi en güçlü yollardan biridir iOS uygulamanızın etkinliğini değerlendirin. Kullanır rastgele deneyler A ve B olmak üzere iki cihazla.
A/B testi üç ana adımdan oluşur
- Test yapılandırmaiOS uygulamanızın 2 sürümünü (A ve B) ve bir test ölçütünü hazırlayın.
- testYukarıdaki 2 iOS uygulama sürümünü cihazlarda eş zamanlı olarak test edin.
- Çözümlemek: Daha iyi olan sürümü ölçün ve seçin, ardından yayınlayın.
Aşağıdaki araçlar iOS'ta A/B testini desteklemektedir.
- Arise: Hem iOS hem de A/B testi AndroidiOS uygulamanıza entegre edilebilir ve test sürecini hızlandırır.
A/B testi için en iyi uygulamalar
- Tanımlamak hedef senin testin. Hedef olmadan her test işe yaramaz.
- İzle son kullanıcılar uygulamanızı ilk kez kullanıyor
- koşmak bir Her güncelleme için yalnızca bir test yapın. Bu, test yaparken zamandan tasarruf etmenizi sağlar.
- İzliyoruz Testinizi dikkatlice inceleyin. Testinizi izleyerek ondan ders çıkarabilirsiniz.
iOS testi En iyi uygulama
iOS uygulamanızın testini organize ederken bilmeniz gereken bazı ipuçları:
- Uygulamayı bir cihazda test edin gerçek cihaz performansa ilişkin gerçekçi bir görüş elde etmek için
- Iyileştirmek Test yöntemlerinizi değiştirmeniz gerekiyor, çünkü geleneksel test yöntemleri artık iOS testlerindeki tüm testleri kapsamak için yeterli değil.
- Kullan konsol günlüğü iOS uygulamasını test etmek için. Bu iOS özelliği, cihazdaki her uygulamadan bilgi içerir.
- belge uygulama hatalarını kullanarak dahili ekran görüntüsü Bu komut, geliştiricinin hataların nasıl oluştuğunu anlamasına yardımcı olur.
- Kilitlenme raporlaması Bu araçlar, uygulamanızı test ederken oldukça faydalıdır. Çökmeleri tespit edebilir ve hataları kolayca inceleyebilmeniz için ayrıntıları kaydedebilirler.
iOS testiyle ilgili EFSANELER
Bu bölümde iOS testleriyle ilgili birkaç popüler efsane ve gerçek inceleniyor
iOS ve üzerinde uygulama test etme Android Aynı şey.
iOS hem de Android Apple Inc. tarafından geliştirilen iki platformdur ve Google Sırasıyla, test ortamları, test çerçeveleri ve programlama dilleri açısından tamamen farklıdırlar.
Uygulamayı iOS Simülatöründe test etmek yeterlidir.
iOS Simülatörü, bazı sınırlamaları nedeniyle bir uygulamayı test etmek için yeterince güçlü değildir:
- Donanım sınırlamaları (Kamera, Mikrofon girişi, Sensör)
- Uygulamanızın kullanıcı arayüzü, bir cihaza göre hem daha hızlı hem de daha sorunsuz çalışıyor gibi görünebilir
- API Sınırlamaları
- Bazı çerçeveler desteklenmiyor (Medya Oynatıcı, Mağaza Kiti, Mesaj Arayüzü..)
Uygulamalarımın birçok özelliği olduğu için herkes uygulama mağazasından uygulamalarımı indirecek.
Uygulamanız ne kadar çok özelliğe sahip olursa, o kadar çok hata alabilirsiniz. Hala birçok kusuru varsa hiçbir kullanıcı uygulamanızı indirmez.

.png)











