परीक्षण और सत्यापन में क्या अंतर है?


15

मेरे द्वारा देखी गई प्रत्येक पाठ्यपुस्तक इस तथ्य का एक बड़ा सौदा बनाती है कि परीक्षण और सत्यापन दो अलग-अलग अवधारणाएँ हैं। फिर भी उनमें से कोई भी एक स्पष्ट (या मेरे लिए पर्याप्त स्पष्ट, अंतिम) अंतर प्रदान नहीं करता है।

कुछ संदर्भ प्रदान करने के लिए, मैं हार्डवेयर डिज़ाइन भाषाओं (HDL) का उपयोग करके डिजिटल हार्डवेयर डिज़ाइनों के सत्यापन में रुचि रखता हूं।

मैंने कुछ स्पष्टीकरण देखे हैं जो "भौतिक" या "मूर्त" अंतर का सहारा लेते हैं: यदि यह एक निर्मित डिवाइस के बारे में है, तो यह परीक्षण कर रहा है। क्या यह पूरी कहानी है? यदि ऐसा है, तो शब्द "परीक्षण" इतनी बार सत्यापन में क्यों आता है (विशेष रूप से कार्यात्मक सत्यापन में, हम testcases, testbenches, DUT (परीक्षण के तहत डिवाइस), निर्देशित परीक्षण, यादृच्छिक परीक्षण, आदि ... के बारे में बात करते हैं)

जवाबों:


21

क्वालकॉम में एक ASIC डिजाइन सत्यापन इंजीनियर था। सबसे सरल तरीके से मैं इसे समझा सकता हूं:

परीक्षण: यह सुनिश्चित करने के बाद कि आपने उत्पाद बनाया है (क्यूए सोचो) एक उत्पाद काम करता है।

सत्यापन: यह सुनिश्चित करना कि आपके द्वारा बनाया गया उत्पाद पहले से काम करता है।

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

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

सत्यापन को फेंक दें। सत्यापन इंजीनियर ऐसे मॉडल बनाते हैं जो चिप के व्यवहार का अनुकरण करते हैं, वे टेस्टबेंच बनाते हैं जो उन विशेष मॉडलों का परीक्षण करेंगे। उन्हें इन मॉडलों के परिणाम मिलते हैं और फिर वे इसकी तुलना RTL (एक हार्डवेयर डिजाइन भाषा में सर्किट लेखन के मॉडल) के परिणामों से करते हैं। यदि वे मेल खाते हैं, तो चीजें (आमतौर पर) ठीक हैं।

सत्यापन प्रक्रिया के लिए कई अलग-अलग तरीके हैं, एक लोकप्रिय है यूनिवर्सल सत्यापन पद्धति (यूवीएम)

क्षेत्र में बहुत गहराई है और लोग अपना पूरा करियर इसमें बिता सकते हैं।

सूचना का एक और बेतरतीब tidbit: आमतौर पर आपको 1 डिज़ाइन इंजीनियर के लिए 3 सत्यापन इंजीनियरों की आवश्यकता होती है। वैसे भी मैदान में हर कोई यही कहता है।

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

इसके अलावा, इंटेल, एएमडी, क्वालकॉम, आदि जैसे बड़े निगमों में, डिजाइनर वास्तव में चिप डिजाइन नहीं करते हैं। आमतौर पर आर्किटेक्ट सभी चश्मे को परिभाषित करेगा, एक विशेष आवश्यकता (यानी गति, संकल्प, आदि) के साथ एक विशेष कार्य करने के लिए एक साथ जाने के लिए आवश्यक टुकड़ों के प्रकारों को लेआउट करेगा, और फिर डिजाइनर आरटीएल में कोड करेगा। यह कोई आसान काम नहीं है, यह सिर्फ इतना नहीं है जितना कि स्कूल से निकलने वाले बहुत से इंजीनियर सोचते हैं। हर कोई एक वास्तुकार होना चाहता है, लेकिन यह उस बिंदु तक पहुंचने के लिए बहुत सारी शिक्षा और अनुभव लेता है। बहुत सारे आर्किटेक्ट के पास पीएचडी है, और एक डिजाइनर के रूप में क्षेत्र में 15-20 वर्षों का अनुभव है। ये प्रतिभाशाली लोग (और कभी-कभी पागल) होते हैं जो ऐसा करने के लायक होते हैं जो वे कर रहे हैं, और वे इसमें अच्छे हैं। मेरे द्वारा काम की गई पहली पहली चिप पर वास्तुकार थोड़ा अजीब था और वास्तव में कुछ सामाजिक मानदंडों का पालन नहीं करता था, लेकिन वह कुछ भी हल कर सकता था जिसे आप चिप के बारे में अटका रहे थे, और कभी-कभी वह इसे अपने सिर में हल करेगा और आपको बताएगा एक संकेत को देखने के लिए और आप चाहते हैं, "वह नरक कैसे करता है?"। फिर आप उसे समझाने के लिए कहते हैं और वह करता है और यह आपके सिर पर चला जाता है। वास्तव में मुझे पाठ्यपुस्तकों को पढ़ने के लिए प्रेरित किया, भले ही मैंने पहले ही स्नातक कर लिया हो।


+1 अंतिम टिप्पणी के लिए धन्यवाद, हमें यह देखने में मदद करता है कि क्षेत्र वास्तव में महत्वपूर्ण है (हालांकि आरटीएल और डिजाइन इंजीनियरिंग ज्यादातर इंजीनियरों के लिए अधिक आकर्षक लगता है, मुझे लगता है)
VHDL Addict

पूर्णता के लिए, क्या आप जोड़ना चाहेंगे कि एक टेस्टकेस क्या है?
VHDL एडिक्ट

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

बड़ी संख्या में वृषण। कहें कि आप अपने मोबाइल स्क्रीन पर एक एकल पिक्सेल दिखाना चाहते हैं। क्षेत्र के बाहर का कोई व्यक्ति क्या सोचता है कि सफेद के लिए 1 बिट और काले के लिए 0 लागू करें। वास्तविक मोबाइल की दुनिया में, पिक्सेल आकार, तीव्रता, रोटेशन, रंग प्रारूप (YUV ###, RGB ###, आदि) से भिन्न हो सकता है। और आप शायद बिट्स के एक सेट के भीतर 1 बिट का परीक्षण कर रहे हैं जो एक साथ इनपुट पर लागू होता है। अन्य बिट्स 0 हो सकते हैं क्योंकि यह काला है, या 1 हो सकता है क्योंकि यह अन्य जानकारी को संभाल रहा है जैसे ट्रांसमिशन मोड, सीएलके, इनेबल / डिसेबल्स, ट्रिगर्स, फैंसी सामान को कैसे हैंडल करना है।
पीजीटी

6

मेरी पुस्तक में सत्यापन यह सुनिश्चित कर रहा है कि आपने "काम क्या करता है" डिजाइन किया है - यानी, आपके पास "डिवाइस" को प्रदर्शन करने के लिए आवश्यक चीजों का एक सेट है, और सूची में उन लोगों को सत्यापित करने का प्रयास करता है।

परीक्षण, हालांकि, यह सुनिश्चित कर रहा है कि "डिवाइस" जो चीजें करता है वह सही किया जाता है। आपके पास फ़ंक्शन का एक सेट है, और आप प्रत्येक फ़ंक्शन को यह सुनिश्चित करने के लिए परीक्षण करते हैं कि फ़ंक्शन ठीक से कार्य करता है।

संक्षेप में, सत्यापन डिजाइन की जाँच कर रहा है, और परीक्षण उत्पाद की जाँच कर रहा है।


मुझे लगता है कि मैं समझने लगा हूं ... क्या आप कृपया प्रत्येक के कुछ उदाहरण प्रदान कर सकते हैं?
वीएचडीएल एडिक्ट

यह कैसे एक सत्यापन योजना के साथ फिट बैठता है , जो निर्दिष्ट करता है कि क्या लागू किया जाना चाहिए और यह भी कैसे पता चलेगा कि कार्यक्षमता सही है? यह एक समारोह को लागू करने या टिक-ऑफ करने के लिए बहुत कम उपयोग होगा यदि यह काम नहीं करता है।
वीएचडीएल एडिक्ट

@ मजेंको - तो आपने वेरिफिकेशन पर एक किताब लिखी है? क्या आप इसके बारे में कुछ और जानकारी साझा करेंगे?
माइकल करस 2

4

ASIC (हार्डवेयर) डिज़ाइन पृष्ठभूमि से आने वाले, तीन महत्वपूर्ण शब्द हैं: सत्यापन , सत्यापन और परीक्षण । पहले के उत्तर आम तौर पर इन शर्तों में से एक या दो के बारे में बात करते हैं, लेकिन मैं इन तीनों के स्पष्ट रूप से विपरीत नहीं होता। यहाँ मैं उन्हें समझ रहा हूँ:

  • सत्यापन: विनिर्देश (अक्सर एक सी मॉडल) बाजार या ग्राहकों की आवश्यकताओं को पूरा करता है
  • सत्यापन: कार्यान्वयन (RTL, netlist, या GDS2) विनिर्देश से मेल खाता है
  • परीक्षण: क्या निर्मित डिवाइस कार्यान्वयन से मेल खाता है

क्या नेटलिस्ट और जीडीएस 2 सिमुलेशन अलग-अलग परिणाम दे सकते हैं?
सिरो सेंटिल्ली 新疆 改造 iro i 事件 '

1
@CiroSantilli 巴拿馬 文件 事件 ill I, मुझे लगता है कि आप गेट्स बनाम ट्रांजिस्टर के व्यवहार के बारे में पूछ रहे हैं। सामान्य डिजिटल वोल्टेज और तरंगों के लिए, मैं कहूंगा कि वे समान परिणाम देंगे। लेकिन आदर्श गेट्स द्वारा विचार नहीं किए जाने वाले "एनालॉग" प्रभाव हो सकते हैं, जैसे कि पावर / ग्राउंड वेरिएशन या सिग्नल चार्ज शेयरिंग। यदि वे प्रभाव मौजूद हैं, तो आदर्श डिजिटल व्यवहार सही नहीं हो सकता है।
विंस्टन स्मिथ

1
@CiroSantilli 新疆 改造 ill ill ill they हाँ, वे काफी अलग परिणाम दे सकते हैं। वहां गया, वह गलती की।
इलियट एल्डरसन 12

1

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


मैं देखता हूं, मैंने शब्दों को थोड़ा बदल दिया है ( परीक्षण से परीक्षण तक ) यह स्पष्ट करने के लिए कि दोनों प्रक्रियाएं हैं। मैं आपसे सहमत हूं कि व्यक्तिगत परीक्षणों के लिए शब्द परीक्षण उपयुक्त है (कभी-कभी मुझे ऐसा लगता है कि मैं इन शब्दावली प्रश्नों के साथ स्पष्ट आराम कर रहा हूं ...) :)
VHDL Addict

1

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

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


सॉफ्टवेयर इंजीनियरिंग मैं जिन किताबों को पढ़ चुका हूं, उनकी शर्तों को इसी तरह समझा जाता है। सत्यापन = सुनिश्चित करें कि आवश्यकताएं सही हैं (ग्राहक, नियमों, आदि के साथ उनकी जांच करें); सत्यापन = सुनिश्चित करें कि उत्पाद सही है (विनिर्देश के विरुद्ध परीक्षण करें)
राउटर वैन ऊइजेन

1

ISO9000 सत्यापन और सत्यापन के बारे में बात करता है। ISO9000 सत्यापन के संदर्भ में इसका मतलब है कि कार्यात्मक और प्रदर्शन अपेक्षाओं को पूरा करने के लिए एक प्रोटोटाइप डिजाइन का परीक्षण करना। सत्यापन का मतलब है कि पहले उत्पादन रन का परीक्षण करना भी डिजाइन की अपेक्षाओं को पूरा करता है। पहले सत्यापित करें, बाद में मान्य करें चीजों के क्रम को याद रखने का मेरा छोटा तरीका है।

कई सॉफ्टवेयर मानक सत्यापन के क्रम को उलट देते हैं और मान्य करते हैं और यह वास्तव में भ्रम का कारण बन सकता है इसलिए इसके बारे में जागरूक रहें।

लब्बोलुआब यह है ... आप कुछ क्यों परीक्षण कर रहे हैं - क्या यह एक प्रोटोटाइप डिजाइन है - यदि ऐसा है तो गुणवत्ता मानक इस सत्यापन को कॉल करते हैं। यदि आप पहली बार किसी प्रोडक्शन रन का परीक्षण कर रहे हैं तो हार्डवेयर लोग इस सत्यापन को कहते हैं।

बस मेरे निजी अनुभव।


0

इन उत्तरों को पढ़ने से मुझे अब एहसास हो रहा है कि उद्योग में "सत्यापन" से अलग "परीक्षण" की कोई परिभाषा नहीं है।

जब एचडब्ल्यू डिजाइन ("वास्तविक" एचडब्ल्यू डिजाइन, पीसीबी पर सामान की तरह, वीएचडीएल प्रोग्रामिंग नहीं) के साथ काम करते हैं, तो हम एक सत्यापन और सत्यापन चरण के माध्यम से जाते हैं, और एक उत्पादन परीक्षण चरण (वास्तव में सिर्फ उत्पादन परीक्षण खुद डिजाइन करते हैं और उन्हें उत्पादन स्थल पर पहुंचाते हैं)। - सत्यापन - (1) सत्यापित करें कि प्रोटोटाइप / मास-उत्पादित-आइटम एचडब्ल्यू आवश्यकताओं को पूरा करता है (2) एसवाईएल आवश्यकताओं के खिलाफ एचडब्ल्यू आवश्यकताओं को मान्य करता है। उत्पादन परीक्षण - धुआं परीक्षण और सरलीकृत और त्वरित सत्यापन परीक्षण-मामलों में बड़े पैमाने पर उत्पादन दोषों को जांचने के लिए अनुकूलित किया गया है, जिसमें प्रत्येक वर्ष 500000 इकाइयों के उत्पादन के लिए संपूर्ण सत्यापन प्रक्रिया से गुजरना पड़ता है।

तो उस विशेष बहुराष्ट्रीय कंपनी "परीक्षण" में उत्पादन परीक्षण और अधिक कुछ भी नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.