[इस पर पढ़ने के लायक कई निबंध हैं। स्टैक ओवरफ़्लो मुझे एक से अधिक पोस्ट करने नहीं देगा, इसलिए मैंने उन्हें एक ब्लॉग पोस्ट में एकत्रित किया है, जो इस उत्तर के अंत में जुड़ा हुआ है।]
सबसे पहले, शर्तों पर एक त्वरित नोट। मैं जेम्स बाच की परीक्षा का परिभाषा "इसका मूल्यांकन करने के लिए किसी उत्पाद से पूछताछ" के रूप में उपयोग करता हूं। सभी परीक्षण परीक्षण के तहत आवेदन के/मानसिक/मॉडल पर भरोसा करते हैं। मॉडल-आधारित परीक्षण शब्द का प्रयोग आम तौर पर एक मॉडल प्रोग्रामिंग का वर्णन करने के लिए किया जाता है जिसे स्वचालन के माध्यम से खोजा जा सकता है। उदाहरण के लिए, कोई ऐसे राज्यों को निर्दिष्ट कर सकता है जिनमें एक आवेदन हो सकता है, उन राज्यों के बीच विभिन्न पथ, और उन राज्यों के बीच संक्रमण पर क्या होना चाहिए इसके बारे में कुछ अनुमान। फिर किसी को स्क्रिप्ट्स राज्य मॉडल के भीतर संक्रमण के सेमी-यादृच्छिक क्रमपरिवर्तन निष्पादित कर सकते हैं, संभावित रूप से दिलचस्प परिणाम लॉगिंग कर सकते हैं।
यहां वास्तविक लागतें हैं: एक उपयोगी मॉडल बनाना, इसे खोजने के लिए एल्गोरिदम बनाना, सिस्टम लॉगिंग करना जो किसी को असफल असफलताओं के माध्यम से बुनाई करने की इजाजत देता है आदि। के साथ लागत उचित है या नहीं क्या वे प्रश्न हैं जिन्हें आप उत्तर देना चाहते हैं? सामान्य रूप से, "मैं क्या जानना चाहता हूं" से शुरू करें? और मैं इसके बारे में सबसे अच्छी तरह से कैसे सीख सकता हूं? "एक दिलचस्प तकनीक के लिए उपयोग की तलाश में।
सभी ने कहा कि, कुछ उत्कृष्ट परीक्षकों को स्वचालित मॉडल-आधारित परीक्षणों से बहुत अधिक लाभ प्राप्त हुआ है। कभी-कभी हमारे पास परीक्षण के तहत आवेदन के बारे में महत्वपूर्ण प्रश्न हैं जो स्वचालित, उच्च-मात्रा अर्ध-यादृच्छिक परीक्षणों द्वारा सर्वोत्तम रूप से खोजे जाते हैं।हैरी रॉबिन्सन (मॉडल आधारित परीक्षण के प्रमुख सिद्धांतकारों और समर्थकों में से एक) एक बहुत ही रंगीन उदाहरण का वर्णन करता है जहां उन्होंने मॉडल आधारित परीक्षण (रूबी की वाटर लाइब्रेरी के साथ लिखित) का उपयोग करके Google ड्राइविंग दिशाओं में कई रोचक बग की खोज की। 1
रॉबिन्सन ने बेल लैब्स, माइक्रोसॉफ्ट और Google सहित कंपनियों में सफलतापूर्वक एमबीटी का उपयोग किया है, और इसमें कई सहायक निबंध हैं। [2]
बेन सिमो (एक और महान परीक्षण विचारक और लेखक) ने मॉडल-आधारित परीक्षण पर काफी कुछ पढ़ा है। [3]
अंत में, कुछ सावधानियां: एक रणनीति का अच्छा उपयोग करने के लिए, किसी को अपनी ताकत और इसकी कमजोरियों को जानने की जरूरत है। उस तरफ, जेम्स बाच मॉडल-आधारित परीक्षण की सीमाओं और चुनौतियों पर एक उत्कृष्ट बात है। बैच के इस ब्लॉग पोस्ट में उनके घंटे की लंबी बातचीत (और संबंधित स्लाइड) के लिंक हैं। [4]
मैं बोरीस बीज़र कीटनाशक विरोधाभास कहता हूं, इसके बारे में एक नोट के साथ समाप्त होगा: "बग्स को रोकने या खोजने के लिए आप जिस भी विधि का उपयोग करते हैं, वह सबटाइडर बग के अवशेष को छोड़ देता है जिसके खिलाफ वे विधियां अप्रभावी हैं।" स्क्रिप्ट किए गए परीक्षण (चाहे द्वारा निष्पादित एक कंप्यूटर या एक व्यक्ति) कीटनाशक विरोधाभास के लिए विशेष रूप से कमजोर होते हैं, हर बार एक ही स्क्रिप्ट निष्पादित होने पर कम और कम उपयोगी जानकारी खोजने के लिए। लोग कभी-कभी मॉडल-आधारित परीक्षण में सोचते हैं कि यह कीटनाशक समस्या के आसपास हो जाता है। कुछ संदर्भों में मॉडल-आधारित परीक्षण को स्क्रिप्ट किए गए परीक्षणों के दिए गए सेट की तुलना में बग का एक बड़ा सेट मिल सकता है ... लेकिन किसी को याद रखना चाहिए कि यह अभी भी मूल रूप से कीटनाशक विरोधाभास द्वारा सीमित है। इसकी सीमाओं को याद रखना - और प्रश्नों के साथ शुरू करना एमबीटी अच्छी तरह से संबोधित करता है - इसमें एक बहुत ही शक्तिशाली परीक्षण रणनीति होने की संभावना है। ऊपर बताए सभी निबंध को
लिंक यहां पाया जा सकता: http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/