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