काम में हमारे पास काफी जटिल प्रणाली है। इस प्रणाली को, System_A कहते हैं। हमारी QA टीम ने एक और सिस्टम बनाया है, System_A का परीक्षण करने के लिए इस सिस्टम को System_B कहा जाता है।
System_B का उपयोग करने का तरीका इस प्रकार है। हम इनपुट उत्पन्न करते हैं (System_B ही का उपयोग करके), IN, ऐसे इनपुट को System_B के माध्यम से वापस प्रोसेस करते हैं और आउटपुट, O_B उत्पन्न करते हैं। तो प्रक्रिया इस प्रकार है:
System_B(IN) -> O_B
।
हम तब System_A के लिए स्वयं के आउटपुट उत्पन्न करने के लिए O_A करते हैं:
System_A(IN) -> O_A
।
किसी भी समय, यह माना जाता है कि O_B अपेक्षित आउटपुट है, और O_A मनाया / वास्तविक आउटपुट है। आरोप लगाया गया है कि O_B "गोल्ड" स्रोत (सच्चाई) है। हालाँकि, हम समस्याओं के संयोजन में भाग चुके हैं।
- O_A गलत है, O_B सही है
- O_A सही है, O_B सही है
- O_A गलत है, O_B गलत है
- O_A सही है, O_B गलत है
कौन निर्धारित करता है कि O_B हमेशा सही माना जाता है (या क्या अपेक्षित है) क्या सही है? खैर, यह पता चला है कि मानव निरीक्षण और विश्लेषण के साथ O_B कभी-कभी (या अक्सर) गलत है। इस प्रक्रिया का उपयोग करके चीजें QA से गुजरेंगी, और वास्तविक उपयोगकर्ता शिकायत करेंगे, और हम यह पता लगाने के लिए वापस जाते हैं कि O_B आखिर गलत था।
सवाल यह है कि क्या वास्तविक प्रणाली का परीक्षण करने के लिए "परीक्षण प्रणाली" बनाना एक बुरा व्यवहार है?
- फिसलन ढलान के बारे में क्या? फिर, क्या हम यह तर्क नहीं दे सकते कि हमें "परीक्षण प्रणाली" का परीक्षण करने के लिए एक और प्रणाली की आवश्यकता है?
- लागत निश्चित रूप से निषेधात्मक है, क्योंकि अब डेवलपर्स को कम से कम 2 कोड बेस सीखने की जरूरत है, शायद System_B की तुलना में System_B की जटिलता बड़ी है। हम संगठन के लिए System_B के आसपास कितना अच्छा या बुरा है, इसकी मात्रा कैसे तय करेंगे?
- System_B बनाने के मूल "सम्मोहक" कारणों में से एक परीक्षण "स्वचालित" करना था। अब हमें बहुत गर्व है कि हम पूरी तरह से स्वचालित हैं (क्योंकि System_B इनपुट उत्पन्न करने के लिए इनपुट का उत्पादन करने के लिए खुद को उपयोग करने की प्रक्रिया भी उत्पन्न करता है)। लेकिन मुझे लगता है कि हमने अधिक नुकसान पहुंचाया है और अधिक जटिलता का परिचय दिया है, एक बिना रास्ते के। क्या QA का काम पूरी तरह से स्वचालित है? क्या यह कारण एक समानांतर व्यवस्था बनाने के लिए औचित्य के लिए पर्याप्त है?
- मेरी असली चिंता यह है, भले ही हम सभी जानते हैं कि System_B गलत है (अक्सर)। यदि System_B इनपुट को संसाधित करने में बहुत अच्छा है और इसका आउटपुट स्वर्ण स्रोत है, तो System_A को System_B से क्यों न बदला जाए? उस पर, कोई भी कार्य संतोषजनक प्रतिक्रिया देने में सक्षम नहीं है।
इस मुद्दे पर किसी भी मार्गदर्शन की सराहना की है।