paint-brush
बग्स का पता लगाने और अपराध को सुलझाने के बीच समानताएंद्वारा@grgr
637 रीडिंग
637 रीडिंग

बग्स का पता लगाने और अपराध को सुलझाने के बीच समानताएं

द्वारा Ivan Grigorev5m2022/10/13
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

इनड्राइव का क्यूए मैनुअल इंजीनियर बग रिपोर्ट की जांच की प्रक्रिया का वर्णन करता है। एक आपराधिक जांच के समान, क्यूए उत्पाद ज्ञान और उत्पाद ज्ञान द्वारा निर्देशित होता है। दोनों प्रक्रियाएं कदाचार के परिणामों के साथ-साथ इसके कारणों और प्रभावों की जांच पर केंद्रित हैं। क्यूए इंजीनियर सीमा मूल्यों, तुल्यता वर्गों और जोड़ीदार पर ध्यान केंद्रित करते हुए परीक्षण डिजाइन तकनीकों को लागू करता है। इसके विपरीत, जांचकर्ता रणनीति और संयोजन लागू करेंगे जिससे उनके लिए अपने आगे के कदमों की यथासंभव प्रभावी ढंग से योजना बनाना संभव हो सके।
featured image - बग्स का पता लगाने और अपराध को सुलझाने के बीच समानताएं
Ivan Grigorev HackerNoon profile picture

मुझे ऐसा लगता है कि इन दोनों क्षेत्रों में बहुत कुछ समान है। उदाहरण के लिए, दोनों प्रक्रियाएं कदाचार के परिणामों की जांच के साथ-साथ इसके कारणों और प्रभावों के साथ-साथ संबंधित रिकॉर्ड-रखरखाव और दस्तावेज़ीकरण प्रथाओं पर केंद्रित हैं।


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


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


जांच शुरू करना

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

अपराध स्थल का आरेख और बग रिपोर्ट में परिवेश का विवरण

एक कार्य योजना विकसित करना

एक बार जब हमें कच्चा डेटा मिल जाता है, तो हमें सूचना विविधता का सामना करना पड़ता है। अब एक कार्य योजना तैयार करना महत्वपूर्ण है। समय यहां हमारा नंबर एक संसाधन है। दोष का पता लगाने की दृष्टि से नाम इनपुट क्षेत्र में -2,147,483,648 से 2,147,483,647 तक सभी मानों की जांच करना शायद ही एक अच्छा विचार होगा। इसी तरह, अन्वेषक के पास शहर के सभी निवासियों से पूछताछ करने या आणविक आनुवंशिक परीक्षण के लिए हर एक घरेलू बर्तन या वस्तु भेजने की क्षमता नहीं है।


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

एक पूछताछ चेकलिस्ट के लिए सामग्री की एक नमूना तालिका


हमारी पहली धारणा बनाना

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

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

लॉग ऊपर खींच रहा है

इसके बाद, हम अपराध से पहले की सभी घटनाओं को स्थापित करने का प्रयास करते हैं ताकि कुछ आपत्तिजनक साक्ष्यों का पता लगाया जा सके:


  • हम वीडियो कैमरों से फुटेज देखते हैं।

  • हम पड़ोसियों से यह पता लगाने के लिए पूछताछ करते हैं कि क्या उन्होंने संघर्ष की आवाज सुनी या किसी संदिग्ध व्यक्ति को देखा।

  • हम यह स्थापित करते हैं कि अपराध किए जाने से कुछ समय पहले पीड़ित ने फोन पर किससे बात की थी।


किसी दोष से निपटने के दौरान, हम साक्ष्य भी एकत्र करते हैं:


  • हम Android Studio या XCode में लॉग कैप्चर करते हैं।
  • हम सर्वर लॉग की जांच करते हैं।


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


अपराध स्थल पर सबूतों की जांच

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


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

पूर्ण आपराधिक जांच = बग रिपोर्ट

एक बार अपराध की सभी परिस्थितियाँ स्थापित हो जाने के बाद, दोष को ठीक करना अन्वेषक का काम नहीं है। वह एकत्रित साक्ष्य को आपराधिक मामले की फाइल में व्यवस्थित करता है, एक अभियोग तैयार करता है, और इसे कानून की अदालत में प्रस्तुत करता है। सजा देने पर, बग को कैसे ठीक किया जाए, या इस बग को एक निर्दोष विशेषता घोषित करने पर निर्णय परीक्षण प्रक्रिया के बाहर किया जाता है।

अपराध के कारणों की स्थापना

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


परीक्षण के मामले में भी यही सच है: जब PROD पर बग का पता लगाया जाता है, तो इसके प्रकटन में योगदान देने वाले कारकों की पहचान करने में कोई दिक्कत नहीं होगी:


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

निष्कर्ष

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


यहाँ भी प्रकाशित