2012-03-27 20 views
15

हमने अभी क्रिटसिस्म फ्रेमवर्क का उपयोग करके एक ऐप जारी किया है। कुछ समय बाद, हमारे पास लगभग 125 के ऐप लोड और 95 क्रैश थे - 0.08% से कम की दर।आईओएस ऐप क्रैश दर - पृष्ठभूमि शोर स्तर?

एक दुर्घटना 1 9 गुना, एक और 10, लेकिन अन्य 41 सभी 3 या उससे कम हुए। यदि ऐप के साथ कोई बड़ी समस्याएं थीं, तो मुझे विशेष क्षेत्रों में काफी अधिक विफलताओं को देखने की उम्मीद है, इसलिए मैं देख रहे आंकड़ों के स्तर से खुश हूं।

एक त्वरित रूप से उनमें से कई निम्न स्तर की असफलताओं को दिखाते हैं, स्पष्ट रूप से कारण नहीं बल्कि प्रोग्रामर त्रुटि। जबकि स्थिर HTML की जा रही मुख्य थ्रेड पर किसी वेब दृश्य में गाया जा रहा है

उदाहरण

  • सबसे बड़ा समूह सब एक पृष्ठभूमि धागे पर CFNetworking से कोई लेना देना नहीं है।
  • वहाँ free_list_checksum_botch

लेकिन में कुछ KVO विफलताओं मेरे सवाल है, एक पर्याप्त जटिल ओएस (इस मामले में आईओएस) में, एक पर्याप्त जटिल अनुप्रयोग के साथ (जो मुझे लगता है कि यह है), चाहिए रहे हैं मैं, एक डेवलपर के रूप में, "पृष्ठभूमि शोर" के इस स्तर को देखने की उम्मीद करता हूं?

क्या मुझे 1-2000 लोड प्रति एक ऐप क्रैश देखने की उम्मीद करनी चाहिए, सिर्फ इसलिए कि ओएस सही नहीं है? क्या किसी और का भी ऐसा ही अनुभव रहा?

(मैं त्रुटियों के लिए खुद के समाधान के लिए नहीं देख रहा हूँ .. धन्यवाद!)

उत्तर

0

हालांकि नहीं एक तकनीकी जवाब है, मेरे iPhone पर मैं व्यक्तिगत रूप से एक ऐप्लिकेशन मैं कम से कम एक बहुत दुर्घटना का उपयोग करने के लिए उम्मीद थी एक वर्ष में एक या दो बार। मैं कहूंगा कि स्तर पूरी तरह से स्वीकार्य है, और आम तौर पर मुझे लगता है कि पहली बार जब आप इसे शुरू करते हैं तो वे बहुत अधिक दुर्घटनाग्रस्त हो जाते हैं, मुझे विश्वास है कि यह उम्मीद की जा सकती है।

+0

यह काफी अधिक उम्मीद है। एक डेवलपर के रूप में, मैं हर एक दुर्घटना को हटाने का प्रयास करता हूं। एक उपयोगकर्ता के रूप में, कभी-कभार दुर्घटना वास्तव में मुझे परेशान नहीं करती है। यदि यह ऐप को अनुपयोगी बनाता है, या यह मेरे उपयोग को बाधित करता है (उदाहरण के लिए एक खेल के बीच में) - तो मुझे चिंतित होगा। लेकिन अगर मैं एक आरएसएस रीडर का उपयोग कर रहा हूं और यह दुर्घटनाग्रस्त हो गया है .... मैं बस इसे पुनरारंभ करता हूं। – bandejapaisa

5

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

कहा जा रहा है कि, मैंने निश्चित रूप से क्रैश लॉग देखा है जो असफल होने लगते हैं क्योंकि वे एसडीके में गहराई से समस्या का संकेत देते हैं। जो मैंने सीखा है, वह यह है कि संभावना से अधिक मेरे अपने कोड के बारे में कुछ है जो आखिरकार कारण है।

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

तो, योग करने के लिए:

  • एक दुर्घटना भी कई दुर्घटनाओं और अंत में एक खराब उपयोगकर्ता अनुभव है।
  • अक्सर, विचित्र निम्न-स्तरीय क्रैश आपके स्वयं के कोड की जटिलता और संभावित रूप से समय पर आने वाले मुद्दों का परिणाम हैं।

अंत में, मैं इस सवाल पर विचार करने की पेशकश:

  • आप बंद पेशाब या आपके उपयोगकर्ताओं में से कुछ को खारिज बस क्योंकि वे उन क्रैश का सामना कर 0.08% में गिर करने के लिए तैयार हैं?

विचार के लिए भोजन। :-)

+0

आप सही हैं, ज़ाहिर है, 1 दुर्घटना वास्तव में बहुत अधिक है। लेकिन इसमें केवल एक खपत ऐप है, इसलिए उपयोगकर्ता के साथ सबसे बुरी स्थिति यह है कि वे वसंत बोर्ड पर वापस आते हैं (कई इसे क्रैश के रूप में भी नहीं पढ़ते हैं), और ऐप को पुनरारंभ करने से उन्हें वापस रखा जाता है जहां वे थे ... कोई नुकसान नहीं किया। और मैं कई रहस्यमय त्रुटियों के कारण के बारे में पूरी तरह से आपके साथ हूं। मैं सिर्फ ओएस मुद्दों के कारण असफलताओं के स्तर (यदि कोई है) का विचार प्राप्त करना चाहता हूं। –

+9

आप लगभग सुझाव दे रहे हैं कि इस उदाहरण में एक ओएस, आईओएस त्रुटि मुक्त है और मुद्दों का कारण नहीं हो सकता है, और यहां संख्याओं को देखें ... वह 0.08% उपयोगकर्ताओं के बारे में बात कर रहा है। यह एक बहुत ही छोटी राशि है, और बहुत अस्पष्ट त्रुटियां हो सकती हैं जिन्हें क्यूए टेस्टर्स या यहां तक ​​कि स्वचालित परीक्षणों द्वारा कभी नहीं उठाया जाता है - जब तक वे वास्तव में तनाव परीक्षण नहीं करते हैं। मैं हर दुर्घटना को ठीक करने के लिए तैयार हूं जो मैं संभवतः कर सकता हूं - जो मैं बर्दाश्त नहीं कर सकता वह एक अस्पष्ट दुर्घटना को ठीक करने की कोशिश कर रहा है जो 50,000 बार 1 होता है। – bandejapaisa

+1

मुझे पता है कि आईओएस त्रुटि मुक्त नहीं है। मैंने बहुत सारे अकल्पनीय दुर्घटनाओं को देखा है जहां मेरा कोड अपमानजनक स्टैक ट्रेस में भी नहीं था। तो, नहीं, आईओएस सही नहीं है। लेकिन यह करीब है। ;-) आखिरकार, आपको इन प्रकार के क्रैश को उनके आसपास के अन्य डेटा (उदा। आवृत्ति) को हल करने के लिए अपने प्रयास को संतुलित करना होगा और उन्हें पहले स्थान पर ठीक करने के लिए समय बिताने के अंत में लाभ होगा। –

2

मैं एक पेशेवर आईफोन डेवलपर हूं, और जो मैंने देखा है वह है क्रैश आवृत्ति उपयोगकर्ताओं को परेशान नहीं करती है, यह क्रैश कैसे होता है, यह फ़नल है।

यदि वे अंतःक्रियात्मक हैं तो आप आमतौर पर ठीक होते हैं, समस्या तब होती है जब एक उपयोगकर्ता एक विशिष्ट क्रैश को कई बार अनुभव करता है। यह अस्वीकार्य है।

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

याद रखने की महत्वपूर्ण बात यह है कि, यदि आप एक क्रैश को ठीक नहीं करना चुनते हैं जो 0.08% समय होता है, तो आप इसे तब तक अनुभव नहीं कर रहे हैं जब तक कि वे इसे कई बार अनुभव नहीं कर रहे हैं।

6

क्रिटरसिज्म ने ऐप क्रैश पर एक विश्लेषण किया। उनकी रिपोर्ट एंड्रॉइड बनाम आईओएस दुर्घटनाओं पर आधारित थी।

उन्होंने निष्कर्ष निकाला कि आईओएस क्रैश के सबसे लोकप्रिय ऐप्स 0.51% ऐप लॉन्च किए गए हैं। तो @ एशले मिल्स, अगर आपको 0.08% मिल रहा है ... आप अच्छा कर रहे हैं। (मुझे लगता है कि मेरे आंकड़े सही हैं, वैसे भी)।

सुनिश्चित नहीं हैं कि जहां मूल रिपोर्ट है, लेकिन मैं इसे यहाँ पढ़ें:

Forbes app crash rates, conducted by Crittercism

+0

इतना बेहतर है कि औसत, जो अच्छा है - लेकिन मुझे अभी भी पता नहीं है कि अंतर्निहित ओएस क्रैश दर क्या है। हालांकि, ईमानदार होने के लिए, मैं अपनी अधिकांश विफलताओं के लिए परियोजना पर अन्य देव को दोषी ठहराता हूं। –

+0

"लेकिन मेरा सवाल पर्याप्त जटिल ओएस (इस मामले में आईओएस) में पर्याप्त जटिल ऐप (जो मुझे लगता है) के साथ, क्या मुझे डेवलपर के रूप में," पृष्ठभूमि शोर "के स्तर को देखने की उम्मीद है? क्रिटरसिज्म विश्लेषण में हजारों ऐप्स शामिल हैं और आपके लिए पर्याप्त पर्याप्त जवाब होना चाहिए। उपयोगकर्ता से कोई अन्य एकल प्रतिक्रिया केवल कुछ हद तक ऐप्स पर आधारित होगी। अब मुझे बक्षीस दें, या बक्षीस आपके सिर पर चलेगा उत्तर हाँ है, शोर की उम्मीद है। – bandejapaisa

+0

ऐप लॉन्च कैसे उपयोगकर्ता सत्रों से संबंधित है? क्या ऐप की पृष्ठभूमि और बाद में फिर से शुरू होने वाला ऐप लॉन्च या अलग ऐप लॉन्च होता है? – Dalmazio

5

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

यदि आपका ऐप बस मजेदार और सीखने के लिए है, तो मैं एक मजेदार साहसिक के रूप में इस मुद्दे में खुदाई देख सकता था। एक व्यापार परिप्रेक्ष्य से, आपका समय क्या है और यह 0.08% समस्या को आपके प्रयासों के लिए पर्याप्त (अधिक) प्रतियां बेचने जा रही है।

एक समान होगा, कौन सी आवश्यकताएं आवश्यक हैं, और क्या आवश्यकताएं हैं? सिर्फ विचार के लिए भोजन। मुझे पता है कि मैंने जिन कंपनियों के लिए काम किया है, उनमें से कमजोर बग के बारे में जोर देने में मूल्य नहीं दिखता है।

+0

मैं मानता हूं कि चिंता करने के लिए शायद यह बहुत छोटा है, खासकर जब ऐप में सवाल उठाने के लिए है केवल आयन का आयन, इसलिए किसी भी दुर्घटना में वास्तव में कुछ भी "खोया" नहीं जा सकता है। मेरा प्रश्न (अभी तक अनुत्तरित नहीं है मुझे डर है) अपनी जिज्ञासा के लिए था। –

+1

मुझे संदेह है कि (यदि आप उपरोक्त धागे में मेरी टिप्पणी देखते हैं), तो 0.08% लगभग अपरिहार्य है। जब आप एमएस एक्सप्लोरर, या यहां तक ​​कि सफारी को देखते हैं, तो यह काफी नियमित रूप से दुर्घटनाग्रस्त हो जाता है। दुर्भाग्यवश, यहां तक ​​कि अगर हमारे पास सही कोड था, तो हम हार्डवेयर में एक नकली बिट फ्लिप के साथ हिट (आईओएस डिवाइस पर भी) प्राप्त कर सकते थे। आईओएस और न ही हार्डवेयर समर्थन ईसीसी, और यदि आपके पास कोड क्षेत्र में थोड़ा सा फ्लिप है, तो आपका कोड असाधारण स्थान पर काम करेगा (यदि यह शाखा विवरण में उपयोग किया जाता है) तो एक अप्रत्याशित जगह पर आप उद्यम कर सकते हैं। माना जाता है कि ये अक्सर नहीं होते हैं, लेकिन जब आप सबकुछ जोड़ते हैं ....... – trumpetlicks

+0

आह ... आपने मेरा प्रश्न बिल्कुल समझ लिया है। जब आप लाखों बार ऐप लॉन्च करते हैं, तो कभी-कभी यह प्रोग्रामर त्रुटि के अलावा किसी अन्य चीज़ से क्रैश हो सकता है। अब, अगर हम केवल यह देख सकें कि वह दर क्या थी ... इस बीच, 50 अंक हैं :) –

संबंधित मुद्दे