İPhone uygulamamı gerçek iPhone cihazımda test etmek neden gerekli


23

İPhone için bir uygulama geliştirdim ve şimdi App Store'da istiyorum. Çok sayıda iOS geek arkadaşım iPhone'daki gerçek cihazda test etmemi söyledi.

Öyleyse neden (Apple) cihazımla neredeyse aynı olan "simülatör" vermiş olsalar da iPhone uygulamamı gerçek iPhone cihazında test etmemiz gerektiğini merak ediyorum?


3
Sorun “cihazımla neredeyse aynı”. Aynı neredeyse yeterince iyi değil. Küçük fark, uygulamanızın harika şeylerini etkileyebilir. Bunu yalnızca donanımda denemek zorunda değilsiniz, aynı zamanda donanımın ve yazılımın farklı sürümlerinde de test etmeyi düşünmeniz gerekir (iOS sürümü).
Coral Doe

Yanıtlar:


51

Uygulamayı gerçek cihazda en azından nasıl davrandığına bakmak için test etmeniz gerekir:

  • Gerçek cihaz donanımı
  • Gerçek internet bağlantısı (WiFi vs bir hücre ağının kullanımı dahil)
  • Fare yerine parmakların
  • Arka planda çalışan diğer uygulamalarla performans
  • İPhone, cpu, disk kapasitesi ve bellek gibi sınırlamaları ( Bir Simülatör Emulator değildir ).
  • Gerçek bağlam: Uygulamanızı trende veya sokakta yürürken kullanmak kolay mı? Parlak güneş ışığında veya yağmurda ne dersiniz?

iOS geliştiricileri, lütfen bu listeye devam edin.


bu iyi.. :). Düşünmem gereken çok basit bir şey ... :) Thnaks
NSS

2
Aslında, kullanım amacı olan tüm cihazlarla (iphone3 / 3g / 4 / 4s / 5) ve tüm ios sürümleri 3/4/5/6 ile test etmesi gerekiyor veya açıkça bu cihazı / sürümü dışlaması gerekiyor.
ott

Simülatör bağlantısı değil, simülatör bağlantısı için teşekkürler. İkisi arasında bir fark olduğunu asla bilmiyordum.
Krishnabhadra

Yetiştirilen açık cihaz test laboratuvarları var, örneğin, mobile.smashingmagazine.com/2012/09/24/… . Belki de mahallede bir tane vardır. Google "mobil test laboratuvarı" "açık cihaz laboratuarı"
Jan Doggen

20

Öykünücüyle test ederken asla bilemeyeceğiniz bir şey, gerçek bir aygıtı elinde tutan ve parmaklarını ekranda kaydıran bir kullanıcı için nasıl hissettiğidir. Sonuç olarak, dizüstü bilgisayarınızdaki dokunmatik yüzeyle simülasyon yaparken pürüzsüz görünen kullanıcı eylemleri, gerçek bir cihaz kullanımı için oldukça zahmetli olabilir. Uygulamanızın iyi olduğundan emin olmak için gerçek cihazla test edin.

Gerçek cihazla test edilmeye değer başka bir şey, pil tüketimidir. Bu, simülatör geliştiricilerin aletlerinde ne kadar iyi ürettikleri konusunda güvenmek yerine, gerçek cihazla test etmek gerçekten daha güvenli.

Simülatörde yeterince yakın olmayan başka şeyler olabilir. Örneğin, ses seviyesi ve balansı - dizüstü bilgisayarınızda sesler, gerçek bir telefonda nasıl olacağından farklı olabilir. Titreşim, simülatör ile doğru elde etmek için zar zor mümkün olan başka bir örnektir. Gyro sensörlerinin gerçek telefonda nasıl çalıştığı. GPS / konumla ilgili şeyler. Vb vb vb ...


Simülatör vs gerçek cihaz testi oldukça önemli bir konudur. Geçmiş projelerimden birinde, ticari başarının önemli bir parçası, bu tür testler arasında dikkatli bir denge kurmaktı; bu, esas olarak neden cihazdaki nedenler gibi soruları kalıcı olarak yeniden sormaya aşağı çekiyordu ?

Gerçek iş, nedenini sorduğunda , belirli durumlarda ve durumlarda cihazda ve simülatör testi arasında seçim yapma nedenlerini seçerek başlar .

Cihaz testini dikkate almamak, ürününüzü son kullanıcının elinden tam kırılma riskine (oldukça yüksek) maruz bırakarak geliştirme için harcadığınız tüm çabaları tamamen ortadan kaldırır. Ancak, simülatör testi çok daha ucuz ve otomasyon için çok daha kolay. Eğer sadece cihaz üzerinden yapılan testlere kör bir şekilde yapışırsa, sürümleri rakiplerinden daha önemli ve daha pahalı olabilir .


3
Kullanıcı deneyimi bölümünü vurgulamak için +1. Bir uygulamayı bir uygulama mağazasında paylaşmayı düşünürken çok önemli bir bölümdür.
Coral Doe

1
Beyaz tahtada, bir cihazı ve bir simülatörü test etme masrafının çok daha yüksek olduğu konusunda yorum yaptınız. Bence cevabınıza eklemek harika olurdu. +1 onsuz bile.
psr

@psr beğendiğine sevindim - önerdiğin gibi bir cevap güncellendi
gnat

7

Tecrübeden ve en iyi oylanan cevabın çıkarılması:

  • Windows Phone 7 için Decimation X2'yi geliştirdiğimizde, fare yerine parmaklarınız en büyük fark oldu. Bir WP7'ye sahip olmadığımız ve WP7 piyasaya çıkmadan önceki bir öykünücüye kodlandı. Son cümlenin size bir anlam ifade etmemesi durumunda, Microsoft tarafından telefonlarında lansman unvanı almaya davet edilmemiz durumunda, serbest bırakılmadan önce ücretsiz bir WP7 alabilirdik. Kullanıcının parmaklarıyla yapmasını istediğimiz şey gerçek telefonda çok zor, ancak fareyle kolay olduğu ortaya çıktı. Ve ekran kılıfları ile ilgisi vardı. Maalesef oyunumuz parmaklarınızın her zaman ekran kenarında kalmasını gerektiriyordu, bazı telefonların batık ekranlarının yanı sıra kalın kasaların da yapması zorlaştı. Aslında bunu düzeltmek için bir yama hazırladık. Bu, ilk kez kullanan tüm kullanıcılarımıza kötü ve potansiyel olarak kullanılamaz gösterildi. Oyunun versiyonu. :(

  • Farklı donanım hızı bir sonraki en büyük fark oldu. Oyunun Xbox 360 versiyonunu almanın ve onu kare hızının yarısına (60fps ila 30fps) yarıya düşürerek ve GHz'in (3.0GHz ila 1.0GHz) üçte birine göre düşürmenin yanlış yöntemini tam anlamıyla tahmin etmek zorunda kaldık ve tahmin ettik. yanlış. İşlemciler elbette farklıydı ve bunu biliyorduk. Donanım olmadan topal tahminde bulunmuştuk. Bizim WP7'imiz olmadığı için bizim tercihimiz değildi, ama şimdi sizinle paylaşacağım dersi aldık. Bazı telefonlarda, oyunun en yoğun bölümlerinde kareleri düşürdü. : () Yavaşlamanın bu kadar yoğun kısımlar için uygun olduğunu varsaydığı için kimse umursamıyor gibiydi.Öyleyse önemli bir şey değildi, ama mesele şu ki: Bu çok büyük bir şey olsaydı, "uygulama" lame tahminde bulunmazdı.

Gerçek donanım üzerinde test yapın. Ve çeşitli telefon donanımlarını kodladığınızda, performans bir sorunsa, alt taraftakileri test edin.


6

İPhone Simülatörü, iPhone'un kendisinin yapmadığı bazı API'leri uygular (iPhone'un yalnızca benim bilgime göre SAX'i desteklediği DOM XML API olduğu akla gelen ana şey, şu anda değişmiş olabilir.)

Ayrıca, uygulamayı 'hissetmenize' izin verecek, düğmeleriniz doğru boyutta mı? Sağ tuşlar parmağınızın altına mi düşüyor? İPhone uygulaması çalıştırıyor mu? Simülatör bir emülatör değildir ve bu uygulama için masaüstü Mac'inize sadece Cocoa Touch ekleyerek çalışır. Hafıza dışı uyarıları ve benzerlerini taklit etmelisiniz.


5

Çünkü cebinde bir simülatörle dolaşan çok fazla kullanıcınız olmayacak.

EDIT: Uygulamanızı bir simülatörde (veya emülatörde) test ederken, tanım olarak, gerçek şeyin% 100 doğru temsili olamayacak sahte bir cihaz kullanıyorsunuzdur. Bir emülatör, bir simülatörden daha doğru olabilir, ancak yine de farklılıklar olacaktır. % 100 kesin emülatör sadece cihazın kendisidir.

Bir simülatörde kod tasarlama, test etme ve optimize etme, bir simülatör üzerinde en iyi şekilde çalışacak şekilde ince ayarlanmış bir uygulamaya neden olur. Ancak, kullanıcılarınızın simülatörleri olmayacak; Yanlış cihazı hedefliyorsun. Çok benzer bir; ancak kullanıcılarınızın kullanacağı cihazla aynı değil.

Bu çeşitli sorunlara yol açabilir. Hata, kaza gibi ciddi sorunlar kesinlikle sizin önceliğinizdir. Ancak başkaları da var; ergonomi gibi. Simülatörü elinde tutmaya çalışın. Sadece dene. UI elemanları, muhtemelen farklı renk gösterimi ve kesinlikle farklı boyutlarla (örneğin, bir retina macbook kullanılarak da tamamen çözülemeyen güzel retina ekranları tarafından daha da artmış bir problem) farklı bir ekranda oluşturulur. Bu zarif gri tonları, güneşte bir cihaz üzerinde eşit olarak ayırt edilebilir mi?

Hızdaki hafif farklılıklar ve farklı sensör öykünmesi (veya bunların eksikliği), bazen deneyimi büyük ölçüde değiştirebilir.

Uygulamanız internet bağlantısına dayanıyorsa, LTE, 3G, EDGE veya GPRS arasında geçiş yapmanıza, farklı senaryoları test etmenize, hatta farklı taşıyıcıları test etmenize imkan yok.

Hapishane cihazlarını destekleyecek misin? Belki de değilsin, ama öyleyse, uygulamanı bir taneyle test etmeye hazırsın. Yoksa, hapse girmediğiniz bir ortamı tespit ettiğinizden emin misiniz?

Simülatörde geliştirdiğiniz iPad oyunu, bir kullanıcı ağırlığını tutarken ve oynamak için parmaklarını kullanırken eşit derecede kullanılabilir mi? İstenmeyen çoklu dokunuşlar güvenli tek dokunuşlu (veya simetrik çift dokunuşlu) simülatör ortamında tahmin edemediğiniz bir şey olan uygulamanızı kırabilir mi?

Asla yerden hiç ayrılmayan bir pilotun komuta ettiği bir uçağa binmek rahat olur mu?

Alt satırda: göndermeden önce, lütfen kullanıcılarınızın kullanacağı cihazı kullanın. Hiçbiri bir Simülatör kullanmayacak.


4
Basit ve geçerli bir duyarlılık, ancak tek bir cümlenin ötesindeki detay, cevabın toplum için daha değerli olmasını sağlar.
Jimmy Hoffa

3

pratik sebep:

1) "Posta gönder" işleyişiniz yoktur.

2) Cihazı baş aşağı koyamazsınız ..

ve elbette zaten nedeni söyledi:

3) düşük bant genişliği

4) simülatöre kıyasla çok küçük işlem gücü

5) Açık GL çağrıları simülatörde biraz farklı uygulanır

6) disk alanı / RAM ..


Modern simülatörler ve emülatörler, cihazı döndürmenizi sağlar. Bulut tabanlı olanlar da, örneğin BrowserStack tarafından sunulan Nokia Lumia emülatörü.
Dan Dascalescu

Bazı rotasyonlar .. deneyin .. arabası veya uygulamaya değildir :) ve Apple en devletler: developer.apple.com/library/content/documentation/IDEs/...
ingconti

3

Donanım performansının genel olarak daha kötü olduğu söylenirken, bunun OpenGL ES'de böyle olmadığı belirtilmelidir. Simülatör, yazılımı kendi içinde uygular ve böylece cihazın kendisinde çalışırken çok büyük bir performans artışı olduğunu fark etmez .

Ayrıca, Open GL ES'nin yazılımı ve donanım uygulamaları arasında bazı küçük farklılıklar vardır, örneğin gölgelendirici hassas ipuçlarının farklı çıktıları olabilir.


2

İOS (veya android veya windows phone) için bir şeyler yaptığımızda, masaüstü için değil cihaz için geliştiririz. Bazı hesaplama / kaynak ağırlıklı uygulamalar için bu, gerçek cihazdaki simülatör AMA konularındaki normal davranış anlamına gelebilir.

Bu nedenle, böyle durumlara daha sonraki aşamalarda cihaz üzerinde baştan başlamazsak, karşılaşılabilir: -

  • Hafıza uyarıları / çökmeleri
  • Tek basamaklı OpenGL kare hızları

2

Sadece bir cihazda test edebileceğimiz PushNotification , kamera kullanımı vb. Gibi bazı özellikler vardır ; bunlar bir simülatörde test edilemeyen özelliklerdir.

App Store'a sunulmadan önce uygulamanızı gerçek bir cihazda test etmek, uygulama reddetme olasılığını azaltır; Bazen bir uygulama simülatörde iyi çalışıyor ancak uygulama reddetmelerinin ana nedeni olan gerçek bir cihazda çöküyor.


2

Gerçek aygıtla öykünücüsü arasında gerçek performans farklılıkları olabilir. Sadece öykünücüyle yapılan testlerin, çoğu durumda beklememesi gereken çok yavaş bir uygulama ile sonuçlandığını gördük.


3
İronik olarak, uygulamalarımdan biri gerçek cihazda dizüstü bilgisayarımdaki emülatörden daha iyi bir performansa sahip.
Michael Itzoe

1
@nathan: EMULATOR yerine SIMULATOR kullanıyoruz! İOS sdk simülatör sağlar .. Android sdk emülatör var .. ve emülatör ve simülatör arasındaki fark var. isnt? öyleyse ur ans kelimesini simulator ile değiştirerek ur ans'ı okudum .. n tnx 2 ans :)
NSS

-1

Kullanıcı deneyimi farklı işletim sistemleri nedeniyle bir cihazdan diğerine değişir ve

donanım özellikleri. Bu nedenle, gerçek bir iPhone uygulaması test etmek gereklidir

cihazlar - piyasada iOS'un çeşitli sürümlerini çalıştıran mobil cihazlar.

Bir simülatör, son kullanıcının karşılaştığı sorunları belirlemede faydalı olsa da,

Uygulamanın orijinal cihazda test edilmesi, ana şebekenin belirlenmesi ve ele alınmasına yardımcı olacaktır.

kullanıcının kaygıları.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.