डेटा की गुणवत्ता

लोकेशन डेटा को केवल आसान रास्तों से नहीं, कठिन मामलों से भी टेस्ट करना

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

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

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

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

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