लोकेशन टेस्टिंग: QA और डेवलपर के लिए कोऑर्डिनेट बदलना

लोकेशन से जुड़ा लॉजिक टेस्ट करने में सबसे असुविधाजनक चीज़ों में से है: बग शहर के किसी खास पॉइंट पर दिखता है, जबकि टीम किसी दूसरे शहर में बैठी है। लोकेशन स्पूफ़िंग ऐसी जाँच को दोहराए जा सकने वाले परिदृश्य में बदल देती है, जिसे आप अपनी डेस्क से जितनी बार चाहें चला सकते हैं। आइए देखें कि यह असली डिवाइस पर कैसे काम करती है और इसकी सीमाएँ कहाँ हैं।

  1. डिवाइस तैयार करें

    डेवलपर मोड चालू करें, मॉक लोकेशन के लिए ऐप्लिकेशन चुनें और उसे जगह की ऐक्सेस दें। टेस्ट डिवाइस पर बैकग्राउंड पाबंदियाँ तुरंत हटा देना ठीक है — वरना लंबे टेस्ट के बीच में फ़र्मवेयर सर्विस बंद कर देगा।

    टेस्ट डिवाइस तैयार करने की चेकलिस्ट: डेवलपर मोड, ऐप चुनना, जगह की ऐक्सेस, बैकग्राउंड पाबंदियाँ हटाना
  2. तय पॉइंट का सेट बनाएँ

    जिन कोऑर्डिनेट की बार-बार ज़रूरत पड़ती है, उन्हें पसंदीदा में सहेजें: बग रिपोर्ट का पता, डिलीवरी ज़ोन के किनारे का पॉइंट, दूसरे टाइम ज़ोन का पता, पानी के बीच का पॉइंट। दोहराए जा सकने वाले पॉइंट की नाम वाली सूची ही दोहराए जा सकने वाले टेस्ट का आधार है।

    Mock Location में पसंदीदा जगहों की सूची: दोहराए जाने वाले टेस्ट के लिए तय पॉइंट
  3. सेट को टीम के साथ सिंक करें

    जगहों की सूची खाते के ज़रिए वेबसाइट और डिवाइस के बीच सिंक होती है: वेबसाइट पर बनाए पॉइंट टेस्ट फ़ोन पर तुरंत दिखते हैं, कोऑर्डिनेट हाथ से कॉपी किए बिना। कई डिवाइस हों, तो इससे बहुत समय बचता है।

    खाते के ज़रिए वेबसाइट और टेस्ट डिवाइस के बीच पॉइंट का सिंक
  4. परिदृश्य चलाएँ और नतीजा दर्ज करें

    सही पॉइंट पर स्पूफ़िंग चालू करें और टेस्ट हो रहे ऐप में परिदृश्य चलाएँ। पॉइंट इतिहास में रहता है, इसलिए फ़िक्स के बाद दोबारा जाँचते समय आप एक टैप में उस पर लौट सकते हैं।

    Mock Location में इस्तेमाल का इतिहास: पिछले टेस्ट के पॉइंट पर एक टैप में लौट सकते हैं

क्या ज़रूर जाँचें

ज़ोन के किनारे: डिलीवरी ज़ोन या खोज दायरे के ठीक किनारे का पॉइंट off-by-one त्रुटियों का क्लासिक स्रोत है। ऐप चलते समय कोऑर्डिनेट बदलना: कई ऐप शुरू होते समय एक बार लोकेशन माँगते हैं और बदलावों पर ध्यान नहीं देते। कोऑर्डिनेट न होना: लोकेशन बंद होने और अनुमति न देने पर व्यवहार।

अलग से — जान-बूझकर गलत डेटा: समुद्र के बीच का पॉइंट, दूसरे गोलार्ध के कोऑर्डिनेट, बिना पते वाली जगहें। इनमें से किसी भी मामले में ऐप क्रैश नहीं होना चाहिए।

असली डिवाइस बनाम एमुलेटर

Android Studio एमुलेटर कोऑर्डिनेट सेट कर सकता है और रास्ते चला सकता है, और शुरुआती डेवलपमेंट के लिए यह काफ़ी है। लेकिन वह वह नहीं दोहराता जो सबसे ज़्यादा टूटता है: किसी खास फ़र्मवेयर का बैकग्राउंड सर्विस बंद करते समय व्यवहार, कमज़ोर सिग्नल में काम, लोकेशन मिलने में असली देरी और कंपनियों की पावर-सेविंग नीतियों के फ़र्क।

इसलिए एमुलेटर पर पास हुआ परिदृश्य असली डिवाइस पर दोबारा जाँचना चाहिए — खासकर अगर टेस्ट हो रहा ऐप बैकग्राउंड में लोकेशन इस्तेमाल करता है।

टेस्टिंग में मॉक सोर्स फ़्लैग

Android टेस्ट प्रोवाइडर के कोऑर्डिनेट पर फ़्लैग लगाता है। QA के लिए यह रुकावट नहीं, बल्कि जाँचने की एक अलग चीज़ है: अगर टेस्ट हो रहे ऐप को नकली कोऑर्डिनेट खारिज करने चाहिए, तो स्पूफ़िंग ही यह पक्का करने का तरीका है कि जाँच सच में काम करती है, सिर्फ़ लिखी हुई नहीं है।

अगर ऐप को सिस्टम से आए कोई भी कोऑर्डिनेट स्वीकार करने चाहिए, तो पक्का करें कि वह इस फ़्लैग की वजह से उन्हें गलती से खारिज न करे।

बैकग्राउंड लोकेशन वाले ऐप्स की टेस्टिंग

जो ऐप बैकग्राउंड में हलचल ट्रैक करते हैं, उनके लिए लंबे टेस्ट मायने रखते हैं: स्पूफ़िंग चालू करें, ऐप छोटा करें और डिवाइस को कई घंटों के लिए छोड़ दें। इससे वे समस्याएँ दिखती हैं जो पाँच मिनट की मैन्युअल टेस्टिंग में नहीं दिखतीं — अपडेट की सदस्यता खो जाना, जमा होती त्रुटियाँ, फ़र्मवेयर का सर्विस रोकना।

नोटिफ़िकेशन पैनल में स्थायी सूचना संकेत का काम करती है: जब तक वह है, स्पूफ़िंग चालू है।

Mock Location — Android पर बिना root के fake GPS लोकेशन

मुफ़्त, Google Play के बाहर। इंस्टॉल करने से पहले फ़ाइल का चेकसम जाँच सकते हैं।

APK डाउनलोड करें