वास्तविक iPhone डिवाइस पर मेरे iPhone ऐप का परीक्षण करना क्यों आवश्यक है


23

मैंने iPhone के लिए एक एप्लिकेशन विकसित किया है और अब मैं इसे ऐप स्टोर पर चाहता हूं। इतने सारे मेरे iOS geek दोस्तों ने मुझे वास्तविक डिवाइस यानी iPhone पर इसका परीक्षण करने के लिए कहा।

इसलिए मुझे आश्चर्य है कि मेरे iPhone ऐप को वास्तविक iPhone डिवाइस पर परीक्षण करना क्यों आवश्यक है, हालांकि उन्होंने (Apple) "सिम्युलेटर" दिया है जो कि मेरे डिवाइस के लगभग समान है?


3
समस्या "मेरे डिवाइस के लगभग समान" के साथ है। पास ही काफी अच्छा नहीं है। छोटा अंतर आपके आवेदन की महान चीजों को प्रभावित कर सकता है। न केवल आपको वास्तव में इसे हार्डवेयर पर परीक्षण करना है, बल्कि आपको हार्डवेयर और सॉफ़्टवेयर (iOS संस्करण) के विभिन्न संस्करणों पर परीक्षण करने के बारे में सोचना होगा।
कोरल डो

जवाबों:


51

आपको कम से कम यह देखने के लिए वास्तविक डिवाइस पर एप्लिकेशन का परीक्षण करने की आवश्यकता है कि यह कैसे व्यवहार करता है:

  • असली डिवाइस हार्डवेयर
  • वास्तविक इंटरनेट कनेक्शन (सेल नेटवर्क बनाम वाईफाई के उपयोग सहित)
  • माउस के बजाय अपनी उंगलियों
  • पृष्ठभूमि में चल रहे अन्य एप्लिकेशन के साथ प्रदर्शन
  • IPhone की सीमाएं, जैसे कि सीपीयू, डिस्क क्षमता और मेमोरी ( ए सिम्युलेटर एम्यूलेटर नहीं है )।
  • वास्तविक संदर्भ: क्या ट्रेन में अपने ऐप का उपयोग करना आसान है, या सड़क पर चलते समय? तेज धूप या बारिश में कैसे?

iOS डेवलपर्स, कृपया इस सूची को जारी रखें।


यह अच्छा है.. :)। बहुत ही साधारण सी बात जो मुझे सोचनी चाहिए ... :) थैंक्स
एनएसएस

2
वास्तव में उसे सभी उपकरणों के साथ इसका परीक्षण करने की आवश्यकता है (iphone3 / 3G / 4 / 4s / 5) और साथ ही सभी ios संस्करण 3/4/5/6, या उसे स्पष्ट रूप से उस उपकरण / संस्करण को बाहर करना होगा।
ott-- 18

सिम्युलेटर नहीं एमुलेटर लिंक के लिए धन्यवाद .. मुझे कभी नहीं पता था कि दोनों के बीच कोई अंतर था।
कृष्णभद्र

ओपन डिवाइस टेस्टिंग लैब हैं जो स्प्रिंगिंग अप करते हैं, उदाहरण के लिए पढ़ें mobile.smashingmagazine.com/2012/09/24/… । हो सकता है कि आपके पड़ोस में कोई हो। Google "मोबाइल टेस्टिंग लैब" "ओपन डिवाइस लैब"
Jan Doggen

20

एमुलेटर के साथ परीक्षण करते समय एक बात आपको कभी भी पता नहीं चलेगी कि वास्तव में यह कैसे महसूस होता है कि एक उपयोगकर्ता अपने हाथ में एक वास्तविक डिवाइस पकड़े हुए है, जो उसकी स्क्रीन पर उंगलियां फिसला रहा है। नतीजतन, उपयोगकर्ता क्रियाएं जो आपके लैपटॉप पर टचपैड के साथ अनुकरण करते समय चिकनी लग रही थीं, वास्तविक डिवाइस के उपयोग के लिए काफी बोझिल हो सकती हैं। यह सुनिश्चित करने के लिए कि आपका आवेदन ठीक है, वास्तविक डिवाइस के साथ इसका परीक्षण करें।

असली डिवाइस के साथ परीक्षण के लायक एक और चीज बैटरी की खपत है। यह वास्तव में असली डिवाइस के साथ परीक्षण करने के लिए अधिक सुरक्षित है, इस पर भरोसा करने के लिए कि सिम्युलेटर डेवलपर्स ने अपने टूल में इसे कितनी अच्छी तरह से पुन: पेश किया।

ऐसी अन्य चीजें भी हो सकती हैं जो सिर्फ सिम्युलेटर में पर्याप्त नहीं हैं। उदाहरण के लिए ऑडियो वॉल्यूम और संतुलन - यह जिस तरह से आपके लैपटॉप पर लगता है, उससे भिन्न हो सकता है कि यह असली फोन पर कैसा होगा। कंपन एक और उदाहरण है जो सिम्युलेटर के साथ सही तरीके से प्राप्त करना संभव है। जिस तरह से असली फोन में gyro सेंसर काम करते हैं। जीपीएस / स्थान से संबंधित सामान। आदि आदि ...


सिम्युलेटर बनाम वास्तविक डिवाइस परीक्षण काफी महत्वपूर्ण मुद्दा है। मेरी पिछली परियोजनाओं में, व्यावसायिक सफलता का एक महत्वपूर्ण हिस्सा इन प्रकार के परीक्षण के बीच एक सावधानीपूर्वक संतुलन था, जो अनिवार्य रूप से स्थायी रूप से फिर से पूछने के लिए उबलता है जैसे कि उपकरण पर क्यों?

वास्तविक कार्य तब शुरू होता है जब कोई पूछता है कि , विशेष मामलों और स्थितियों में ऑन-डिवाइस और सिम्युलेटर परीक्षण के बीच चयन करने के कारणों को चुनना।

डिवाइस परीक्षण को अनदेखा करने से आपके उत्पाद को अंतिम उपयोगकर्ता के हाथों में टूटने का खतरा होता है, जो आपके द्वारा विकास में लगाए गए सभी प्रयासों को पूरी तरह से नष्ट कर देता है। लेकिन बात यह है, सिम्युलेटर परीक्षण बहुत सस्ता है और स्वचालन के लिए बहुत आसान है। यदि कोई आँख बंद करके केवल डिवाइस पर परीक्षण करता है, तो उनकी रिलीज़ बहुत बाद में और प्रतियोगियों की तुलना में अधिक महंगी हो सकती है ।


3
उपयोगकर्ता अनुभव भाग पर जोर देने के लिए +1। ऐप स्टोर में एप्लिकेशन को साझा करने के बारे में सोचते समय यह एक बहुत महत्वपूर्ण हिस्सा है।
कोरल डो

1
आपने डिवाइस बनाम सिम्युलेटर के परीक्षण के अधिक खर्च के बारे में व्हाइटबोर्ड पर एक शानदार टिप्पणी की थी। मुझे लगता है कि आपके उत्तर में शामिल होना बहुत अच्छा होगा। इसके बिना भी +1।
psr

@psr को खुशी हुई कि आपने इसे पसंद किया - जैसा कि आपने सुझाव दिया था एक उत्तर को अपडेट किया है
gnat

7

अनुभव से, और सबसे अच्छा मतदान जवाब से दूर ले:

  • माउस के बजाय आपकी उंगलियों में सबसे बड़ा अंतर था जब हमने विंडोज फोन 7 के लिए डेसीमेंट X2 विकसित किया था। यह एक एमुलेटर पर कोडित किया गया था, क्योंकि हमारे पास WP7 नहीं था और WP7 जारी होने से पहले यह था। हम संभावित रूप से रिलीज़ होने से पहले एक मुफ्त WP7 प्राप्त कर सकते थे, अंतिम वाक्य में आपको कोई मतलब नहीं था, क्योंकि हमें Microsoft द्वारा उनके फोन पर लॉन्च शीर्षक रखने के लिए आमंत्रित किया गया था। यह पता चला कि, जो हम चाहते थे कि उपयोगकर्ता अपनी उंगलियों के साथ वास्तविक फोन पर बहुत मुश्किल था, लेकिन एक माउस के साथ आसान था। और इसे स्क्रीन-एज मामलों के साथ करना पड़ा। दुर्भाग्य से हमारे खेल को हर समय आपकी उंगलियों को स्क्रीन-किनारे पर होना आवश्यक था, जो कि कुछ फोन ने अपनी धँसी स्क्रीन के साथ-साथ मोटे मामलों के कारण करना मुश्किल बना दिया था। हमने वास्तव में इसे ठीक करने के लिए एक पैच लगाया। इसका मतलब है कि हमारे सभी पहली बार उपयोगकर्ताओं को एक बुरा और संभावित रूप से अनुपयोगी दिखाया गया था, हमारे खेल का संस्करण। :(

  • विभिन्न हार्डवेयर गति अगले सबसे बड़ा अंतर था। हमें गेम के हमारे Xbox 360 संस्करण को लेने के गलत तरीके से अनुमान लगाना था और फ्रेम-दर (60fps से 30fps) के आधे के हिसाब से इसे अपग्रेड करना था और एक-तिहाई गीगाहर्ट्ज (3.0GHz से 1.0GHz), और हमने अनुमान लगाया गलत। प्रोसेसर अलग थे, ज़ाहिर है, और हम यह जानते थे। हार्डवेयर के बिना, हमें लंगड़ा अनुमान के साथ छोड़ दिया गया था। यह हमारी पसंद नहीं थी क्योंकि हमारे पास कोई WP7 नहीं था, लेकिन हमने वह सबक सीखा जो अब मैं आपके साथ साझा कर रहा हूं। कुछ फोन पर, खेल के सबसे गहन भागों के दौरान, इसने फ्रेम गिरा दिया। :( किसी को परवाह नहीं थी क्योंकि वे मानते थे कि मंदी इतनी तीव्र भागों के लिए उपयुक्त है। इसलिए यह कोई बड़ी बात नहीं थी, लेकिन बात यह है कि क्या यह एक बड़ा सौदा था, "ऐप" हमारे लंगड़ा अनुमान से टूट गया होगा।

असली हार्डवेयर पर परीक्षण। और जब आप विभिन्न फोन हार्डवेयर के लिए कोड करते हैं, तो निचले छोर पर परीक्षण करें यदि प्रदर्शन एक समस्या है।


6

IPhone सिमुलेटर कुछ APIs को लागू करता है जो iPhone खुद नहीं करता है (मुख्य एक जो DOM XML API होने के बारे में ध्यान में आता है, जहां iPhone केवल मेरे ज्ञान को SAX का समर्थन करता है, यह अब हालांकि बदल सकता है।)

यह आपको ऐप को 'महसूस' करने देगा, क्या आपके बटन सही आकार के हैं? क्या सही बटन किसी के अंगूठे के नीचे आते हैं? क्या ऐप चलाने के लिए iPhone है? सिम्युलेटर एक एमुलेटर नहीं है और केवल उस ऐप के लिए अपने डेस्कटॉप मैक में कोको टच जोड़कर काम करता है। आपको मेमोरी चेतावनियों और इस तरह से अनुकरण करना होगा।


5

क्योंकि आप बहुत से उपयोगकर्ताओं को अपनी जेब में एक सिम्युलेटर के साथ घूमने नहीं जा रहे हैं।

संपादित करें: जब भी आप एक सिम्युलेटर (या एमुलेटर) पर अपने ऐप का परीक्षण कर रहे हैं, तो आप एक नकली डिवाइस का उपयोग कर रहे हैं जो कि परिभाषा के अनुसार, असली चीज़ का 100% सटीक प्रतिनिधित्व नहीं हो सकता है। एक एमुलेटर एक सिम्युलेटर से अधिक सटीक हो सकता है, लेकिन अभी भी मतभेद होंगे। केवल 100% सटीक एमुलेटर उपकरण ही है।

डिज़ाइनर, परीक्षण, एक सिम्युलेटर पर कोड का अनुकूलन एक आवेदन में परिणाम देता है जिसे बारी-बारी से एक .. सिम्युलेटर पर काम करने के लिए बारीक किया जाता है। आपके उपयोगकर्ताओं के पास सिमुलेटर नहीं होंगे, हालांकि; आप गलत उपकरण को लक्षित कर रहे हैं। एक बहुत समान; लेकिन वही उपकरण नहीं जो आपके उपयोगकर्ता उपयोग करेंगे।

इससे कई तरह के मुद्दे पैदा हो सकते हैं। बग, क्रैश जैसे गंभीर मुद्दे निश्चित रूप से आपकी सर्वोच्च प्राथमिकता हैं। लेकिन कुछ और भी हैं; जैसे एर्गोनॉमिक्स। सिम्युलेटर को अपने हाथ में पकड़ने की कोशिश करें। कोशिश करो। यूआई तत्वों को एक अलग स्क्रीन पर प्रस्तुत किया जाता है, संभवतः अलग-अलग रंग रेंडरिंग के साथ, और निश्चित रूप से अलग-अलग आयाम (सुंदर रेटिना द्वारा प्रदर्शित एक समस्या, उदाहरण के लिए, रेटिना मैकबुक का उपयोग करके भी पूरी तरह से हल नहीं होती है)। क्या धूसर रंग के वे अति सुंदर शेड सूर्य में एक उपकरण पर समान रूप से भिन्न हैं?

गति में सूक्ष्म अंतर, और विभिन्न सेंसर अनुकरण (या इसकी कमी), कभी-कभी नाटकीय रूप से अनुभव को बदल सकते हैं।

यदि आपका एप्लिकेशन इंटरनेट कनेक्टिविटी पर निर्भर करता है, तो आपके लिए एलटीई, 3 जी, एज या जीपीआरएस के बीच स्विच करने का कोई तरीका नहीं है, विभिन्न परिदृश्यों का परीक्षण करने के लिए, या यहां तक ​​कि विभिन्न वाहक का भी परीक्षण करें।

क्या आप जेलब्रेक उपकरणों का समर्थन करने जा रहे हैं? शायद आप नहीं हैं, लेकिन यदि आप हैं, तो आप शायद एक के साथ अपने ऐप का परीक्षण करने के लिए तैयार हैं। या, यदि आप नहीं हैं, तो क्या आप आश्वस्त हैं कि आप जेलब्रेक के माहौल का पता लगा रहे हैं?

क्या iPad गेम आप सिम्युलेटर पर समान रूप से प्रयोग करने योग्य है जब कोई उपयोगकर्ता अपना वजन पकड़ रहा है और खेलने के लिए अपनी उंगलियों का उपयोग कर रहा है? क्या अनपेक्षित कई स्पर्श आपके ऐप को तोड़ने में सक्षम हैं, कुछ ऐसा जो आप सुरक्षित सिंगल-टच (या सममित डबल-टच) सिम्युलेटर वातावरण में अनुमान लगाने में सक्षम नहीं थे?

क्या आप एक पायलट द्वारा नियंत्रित विमान में सवार होंगे जो वास्तव में कभी मैदान से बाहर नहीं गया है?

लब्बोलुआब यह है: शिपिंग से पहले, कृपया उसी डिवाइस का उपयोग करें जिसे आपके उपयोगकर्ता उपयोग करने जा रहे हैं। उनमें से कोई भी एक सिम्युलेटर का उपयोग करने वाला नहीं है।


4
सरल और मान्य भावना लेकिन एक वाक्य से परे विस्तार बड़े पैमाने पर समुदाय के लिए उत्तर को अधिक मूल्यवान बनाता है।
जिमी हॉफ

3

व्यावहारिक कारण:

1) आपके पास "मेल भेजें" कामकाज नहीं है।

2) आप डिवाइस को उल्टा नहीं रख सकते हैं।

और निश्चित रूप से पहले से ही कहा कारण:

3) कम बैंडविड्थ

4) सिम्युलेटर की तुलना में बहुत छोटी कम्प्यूटेशनल शक्ति

5) खुले जीएल कॉल को सिम्युलेटर में थोड़ा अलग लागू किया जाता है

6) डिस्क स्पेस / रैम ।।


आधुनिक सिमुलेटर और एमुलेटर आपको डिवाइस को घुमाने देते हैं। क्लाउड-आधारित भी, उदाहरण के लिए ब्राउज़रस्टैक द्वारा पेश नोकिया लुमिया एमुलेटर।
दान डैस्कलेस्क्यू

कुछ रोटेशन छोटी गाड़ी है या कार्यान्वित नहीं किए गए हैं .. कोशिश करें .. :) और Apple पर यह बताता है: developer.apple.com/library/content/documentation/IDEs/…
ingconti

3

हालांकि यह उल्लेख किया गया है कि हार्डवेयर का प्रदर्शन आमतौर पर बदतर है, यह ध्यान दिया जाना चाहिए कि यह ओपनजीएल ईएस के साथ ऐसा नहीं है। सिम्युलेटर सॉफ्टवेयर में इसे लागू करता है इसलिए यह असामान्य नहीं है, डिवाइस पर खुद को चलाते समय भारी प्रदर्शन में वृद्धि को नोटिस करने के लिए ।

इसके अलावा, ओपन जीएल ईएस के सॉफ्टवेयर और हार्डवेयर कार्यान्वयन के बीच कुछ मामूली अंतर हैं, जैसे कि shader परिशुद्धता संकेत में अलग-अलग आउटपुट हो सकते हैं।


2

जब हम iOS (या एंड्रॉइड, या विंडोज़ फोन) के लिए चीजों को लागू करते हैं, तो हम डेस्कटॉप के लिए नहीं बल्कि डिवाइस के लिए विकसित होते हैं। कुछ गणना / संसाधन-भारी अनुप्रयोगों के लिए, इसका मतलब वास्तविक डिवाइस पर सिम्युलेटर BUT मुद्दों पर सामान्य व्यवहार हो सकता है।

तो इस तरह की स्थितियों का सामना बाद के चरणों में किया जा सकता है यदि हम शुरू से ही डिवाइस पर परीक्षण नहीं करते हैं: -

  • मेमोरी चेतावनियाँ / क्रैश
  • एकल-अंक OpenGL फ्रेम दर

2

PushNotification जैसी कुछ विशेषताएं हैं , कैमरे का उपयोग करना , आदि जिन्हें हम केवल एक डिवाइस पर परीक्षण कर सकते हैं; ये ऐसी विशेषताएँ हैं जिन्हें किसी सिम्युलेटर पर नहीं देखा जा सकता है।

और ऐप स्टोर में सबमिट करने से पहले एक वास्तविक डिवाइस पर अपने ऐप का परीक्षण करने से ऐप अस्वीकृति की संभावना कम हो जाती है; कभी-कभी कोई ऐप सिम्युलेटर में ठीक काम करता है, लेकिन यह एक वास्तविक डिवाइस पर क्रैश हो जाता है, जो ऐप अस्वीकार का मुख्य कारण है।


2

वास्तविक डिवाइस और एमुलेटर के बीच वास्तविक प्रदर्शन अंतर हो सकते हैं। हमने पाया कि केवल एमुलेटर के साथ परीक्षण करने से कई मामलों में बहुत धीमी गति से ऐप बन गया, जिसकी हमें उम्मीद नहीं थी।


3
विडंबना यह है कि मेरे लैपटॉप में इम्यूलेटर की तुलना में मेरे एक ऐप का वास्तविक डिवाइस पर बेहतर प्रदर्शन है।
माइकल इट्ज़ो

1
@ नथन: मुझे लगता है कि हम EMULATOR के बजाय SIMULATOR का उपयोग करते हैं! एंड्रॉइड एसडीके में एमुलेटर है जबकि आईओएस एसडीके सिम्युलेटर प्रदान करता है .. और एमुलेटर और सिम्युलेटर के बीच अंतर है। नहीं है? इसलिए मैंने सिम्युलेटर के साथ शब्द एमुलेटर की जगह उर ans पढ़ा। n tnx 2 ans :)
NSS

-1

अलग-अलग OS के कारण उपयोगकर्ता का अनुभव एक डिवाइस से दूसरे डिवाइस में भिन्न होता है और

हार्डवेयर विनिर्देशों। इसलिए, वास्तविक पर iPhone ऐप का परीक्षण करना आवश्यक है

डिवाइसेस - बाज़ार में iOS के विभिन्न संस्करण चलाने वाले मोबाइल डिवाइस।

हालांकि एक सिम्युलेटर अंत उपयोगकर्ता के सामने आने वाले किसी भी मुद्दे की पहचान करने में उपयोगी है,

मूल डिवाइस पर ऐप का परीक्षण करने से प्रमुख को पहचानने और संबोधित करने में मदद मिलेगी

उपयोगकर्ता की चिंताएं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.