सीडी को बर्बाद किए बिना सीडी को जलाने वाले सॉफ़्टवेयर का परीक्षण कैसे करें?


16

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

मैं एक पुस्तकालय का उपयोग कर रहा हूं जो केवल भौतिक ड्राइव पर सीधे जलने के लिए एपीआई को उजागर करता है; यह आपको डिस्क छवि पर लिखने की अनुमति नहीं देता है (जो कि परीक्षण करना बहुत आसान होगा)।

मैं हर बदलाव / कुछ बदलावों के लिए सीडी और समय बर्बाद किए बिना इसका परीक्षण कैसे कर सकता हूं?


5
यह एक पुस्तकालय है कि करने के लिए स्विच करने के लिए संभव हो जाएगा करता है आप एक डिस्क छवि लिखने की अनुमति?
FrustratedWithFormsDesigner

जवाबों:


29

सरल उत्तर अक्सर सबसे अच्छा होता है: फिर से लिखने योग्य सीडी?

समय बचाने के लिए, अपेक्षाकृत छोटी फाइलें लिखें। केवल हर बार बड़ी फाइलें ही करें।


1
मैं मानता हूं कि यह एक सरल और अच्छा उत्तर है, लेकिन अगर WTP दूसरे स्तर पर परीक्षण करना चाहता है, तो एपीआई का मजाक उड़ाते हुए (इस प्रश्न के अन्य उत्तर देखें) परीक्षण संभावनाओं के एक पूरे आयाम को अनलॉक करेगा (जैसे कि, स्वचालित)।
लुईसगैब

@louisgab मैं आपसे पूरी तरह सहमत हूं, जब मैंने उत्तर लिखा था तो मैं केवल सीडी को बर्बाद करने के बारे में बात कर रहा था। मुझे पूरी उम्मीद थी कि एक और जवाब कुछ बेहतर (और उनके पास) आएगा। यदि कुछ भी हो, तो मैं मॉकिंग दृष्टिकोण की सिफारिश करूंगा, और अपना उत्तर केवल तभी सुझाऊंगा जब डब्ल्यूटीपी वास्तव में जलने की प्रक्रिया का शारीरिक परीक्षण करना चाहता है।
केविन डी

19

यदि आप लिनक्स पर हैं, तो आपको एक "सीडी डिवाइस" स्थापित करने में सक्षम होना चाहिए जो कि केवल एक नामित पाइप है। आपकी एपीआई "डिवाइस" को लिखती है और आप एक कार्यक्रम के दूसरे छोर को हुक करते हैं जो आपको यह देखने देता है कि यह क्या करता है / इसे डिस्क छवि में परिवर्तित करता है। वहाँ बहुत सारे विकल्प। नामित पाइपों की जानकारी के लिए यह लेख देखें ।

केविन का जवाब बहुत आसान है IMO।


2
मैं वास्तव में मैक ओएस एक्स पर हूं जो एक यूनिक्स सिस्टम भी है। मैं यह कोशिश करूँगा।
rightfold

6

उतने परीक्षण लिखें जितने में आप लाइब्रेरी के एपीआई का उपयोग कर सकते हैं। यह आपको इकाइयों में अपने कोड का परीक्षण करने की अनुमति देता है। इससे पता चलता है कि आपका कोड यह मानकर काम करता है कि लाइब्रेरी उसी तरह से काम करती है जिस तरह से उसे माना जाता है।

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


3

आप किस परीक्षण की बात कर रहे हैं?

आपके प्रश्न में "मैं हर बार जब मैं एक छोटा सा बदलाव करता हूं, तो यह करना नहीं चाहता" पढ़कर मुझे लगता है कि आप इकाई परीक्षण के बारे में बात कर रहे हैं ।

लेकिन बाद में, आप जोड़ते हैं कि आप एक एपीआई का उपयोग कर रहे हैं जो सीडी को जलाने के प्रभारी हैं। यदि इस API का परीक्षण और दस्तावेज़ सही तरीके से किया गया है, तो आपको डेटा को सीडी में जलाने की वास्तविक प्रक्रिया से निपटने की आवश्यकता नहीं है, और आपको इसका परीक्षण करने की आवश्यकता नहीं है। इस मामले में, आप एकीकरण परीक्षण से निपटते हैं , कि आपको "हर बार [आप] एक छोटा सा बदलाव करने" की ज़रूरत नहीं है ।


लेकिन मुझे यह जानने की आवश्यकता है कि क्या मैं एपीआई का सही उपयोग कर रहा हूं।
rightfold

@TP: मेरा संपादन देखें। इसके अलावा, एक सही लिखा एपीआई आपको गलत सीडी का गलत तरीके से उपयोग करने की अनुमति नहीं देगा। यदि यह इस तरह की चीजों को करता है, तो आपको संभवतः पहले एक और एपीआई की खोज करनी चाहिए। एक एपीआई एक अमूर्तता प्रदान करने के लिए है और विशेष रूप से सीडी से डेटा की बचत करते समय भ्रष्टाचार से बचने के तरीकों से निपटने के लिए।
बजे आर्सेनी मौरज़ेंको

आपके पास एक बिंदु है। एपीआई बहुत अच्छी तरह से प्रलेखित है।
rightfold

1

डब्ल्यूटीपी,

चूंकि आप अपने सॉफ़्टवेयर (एपीआई, न ही रिकॉर्डर) का परीक्षण करना चाहते हैं, जैसा कि क्रिस ने बताया, एपीआई का एक नकली होना आवश्यक होगा।
एकीकरण परीक्षण के लिए, एक विश्वसनीय "आईएसओ" रिकॉर्डर को आपको .iso फ़ाइल का विश्लेषण करके सीडी सामग्री के परीक्षण को स्वचालित करने की अनुमति देनी चाहिए।
वास्तव में सीडी या डीवीडी को जलाने से निर्णायक परिणाम नहीं मिलेंगे, क्योंकि आप यह निर्धारित नहीं कर पाएंगे कि त्रुटि का कारण दोषपूर्ण सीडी, दोषपूर्ण रिकॉर्डर या सॉफ्टवेयर बग है, जब तक कि आप कई प्रतियों को रिकॉर्ड करके गुणवत्ता के आंकड़े का प्रदर्शन नहीं करना चाहते। वही डिस्क (जो आप स्पष्ट रूप से नहीं करते हैं)।
सौभाग्य!

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