टेस्टिंग के लिए बड़ा सिंथेटिक डेटासेट कैसे बनाया जाता है?
तीन फ़ैसलों से: आकार (फ़ील्ड, उनके टाइप और फ़ॉर्मेट — JSON, CSV, SQL, XML), आयतन (पेजिनेशन, इंडेक्स और इम्पोर्ट सीमाओं को परखने लायक पंक्तियाँ) और विविधता (बाउंड्री वैल्यू, नल, डुप्लिकेट, विशेष कैरेक्टर और वह इक्का-दुक्का विकृत पंक्ति जो असली एक्सपोर्ट में होती है)। स्थिर रैंडम सीड सेट को दोहराने योग्य बनाता है, ताकि फ़ेल टेस्ट उन्हीं पंक्तियों पर फिर चले। बड़े आयतन पर फ़ॉर्मेट के नियम मायने रखते हैं: कॉमा, कोट या लाइन-ब्रेक वाले CSV फ़ील्ड RFC 4180 के अनुसार कोट होने चाहिए, और एक विशाल JSON दस्तावेज़ उन्हीं पंक्तियों के JSON Lines रूप से बहुत अलग व्यवहार करता है।
गाइड पढ़ें: परफ़ॉर्मेंस टेस्टिंग क्या है?
बाउंड्री नंबर डेटासेट जनरेटर कैसे इस्तेमाल करें
- पूर्णांक चौड़ाइयाँ, कोई कस्टम रेंज या स्ट्रिंग लंबाइयाँ चुनें।
- चौड़ाइयाँ, सीमाएँ या लंबाइयाँ अपने हिसाब से बदलें।
- Generate दबाएँ और अपने assertions में expected कॉलम इस्तेमाल करें।
बाउंड्री नंबर डेटासेट जनरेटर की खूबियाँ
- signed और unsigned 8/16/32/64-बिट सीमाएँ: min−1, min, min+1, max−1, max, max+1, साथ में signed टाइप के लिए −1, 0 और 1 (unsigned टाइप में min−1, min और min+1 पहले से ही −1, 0 और 1 हैं)
- 64-बिट के लिए JavaScript की 2^53 safe-integer सीमा
- वैकल्पिक दशमलव के साथ कस्टम संख्यात्मक रेंज (step आख़िरी दशमलव स्थान की एक इकाई होता है)
- स्ट्रिंग-लंबाई की सीमाएँ, जिनमें multibyte और astral कैरेक्टर भी शामिल हैं
- हर पंक्ति पर valid/invalid का लेबल और एक नोट
- JSON, CSV, SQL, XML, JSON Lines या तालिका आउटपुट
बाउंड्री नंबर डेटासेट जनरेटर का उदाहरण
INT32 की सीमाएँ
इनपुट:
Boundaries for: Integer widths · Widths: 32 · Signedआउटपुट:
case,value,expected
INT32_MIN − 1,-2147483649,invalid
INT32_MIN,-2147483648,valid
INT32_MAX,2147483647,valid
INT32_MAX + 1,2147483648,invalidबाउंड्री नंबर डेटासेट जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
boundary value analysis क्या है?
यह एक टेस्ट-डिज़ाइन तकनीक है जो ठीक सीमा पर और उसके आसपास की वैल्यू जाँचती है — min−1, min, min+1, max−1, max, max+1 — जहाँ off-by-one बग छिपे रहते हैं।
कौन-सी पूर्णांक चौड़ाइयाँ शामिल हैं?
signed और unsigned 8, 16, 32 और 64-बिट, साथ ही JavaScript की 2^53 safe-integer सीमा। 64-बिट वैल्यू स्ट्रिंग के रूप में रहती हैं ताकि वे बिलकुल सटीक बनी रहें।
क्या मैं अपनी रेंज या स्ट्रिंग लंबाइयाँ इस्तेमाल कर सकता हूँ?
हाँ। कस्टम मोड कोई भी संख्यात्मक रेंज लेता है, चाहें तो दशमलव के साथ; length मोड न्यूनतम/अधिकतम लंबाई ± 1 पर स्ट्रिंग बनाता है, जिसमें multibyte और astral-कैरेक्टर वैरिएंट भी शामिल हैं।
संदर्भ
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) FilesCSV के आम नियम: कॉमा सेपरेटर, CRLF लाइन एंड, और कॉमा, कोट या लाइन ब्रेक वाले फ़ील्ड की क्वोटिंग।
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- JSON LinesJSON Lines परिपाटी: हर लाइन पर एक पूरा JSON वैल्यू, UTF-8, "\n" सेपरेटर, .jsonl एक्सटेंशन।
- Personal Data Protection Law (English translation)व्यक्तिगत डेटा पर सऊदी कानून — टेस्ट वातावरण में असली ग्राहक रिकॉर्ड की प्रतियों के बजाय सिंथेटिक डेटा क्यों इस्तेमाल करना चाहिए।